✅ 摘要:Y2K22「自由奔放」的微軟 Exchange Server 工程師,把 signed 32-bit (s32) 前兩碼當成年份使用
[hr]
✅ 一般來說:
32-bit 是 4294967296 (2^32)
s32(signed 32bit, signed int32 or int32) ,是 2147483648 (2^31)
乖乖把 int32 / s32 拿來當成 EPOCH UNIX time (since 1970),至少可以用到 2038 年一月
參考文章 (Y2K38):
https://vovo2000.com/f/viewtopic-365190.html
[hr]
👎 天才微軟: int32 s32(2^32 / 2) = 2147483648 ... 拿來當日期、版號
前兩碼是YY ,就是把「❌ 整數當成字串用 ❌」,母湯阿! 所以到了 2022/01/01 就爆炸,因為 22 開頭就 overflow。 如圖。
[hr]
🤔 感想: 我沒有想過會有人這麼自由奔放。 縱使用
[hr]
官方參考:
https://techcommunity.microsoft.com/t5/exchange-team-blog/email-stuck-in-exchange-on-premises-transport-queues/ba-p/3049447(2022-01-04 05:07)