habrahabr

Дата судного дня или Microsoft наносит ответный удар

  • суббота, 28 июня 2014 г. в 03:10:37
http://habrahabr.ru/post/227805/

Решил проверить просрочку сертификатов ssl при изменении системного времени, переведя системные часы на 100 лет вперёд. Результат удивил...
На ноутбуке стоит Archlinux, Skype 4.3.0.37 из AUR.
После смены даты, я подумал было, что компьютер решил, что он очень стар и ему пора на покой. Лишь один курсор мыши бодро бегал по монитору, но ничего поменять не мог — интерфейс отказывался реагировать. С горем пополам я всё-таки сумел открыть эмулятор терминала. (Я пользуюсь Терминатором, забавное совпадение...)
Собственно, результат на скриншоте:

Skype полностью парализовал работу системы, выжирая процессор на все 100%. Видимо он решил, что настал час X.
Я не знаю, сколько ядерных боеголовок я запустил во время своих экспериментов, но, когда время вернулось к нормальному значению, Skype подутих, видимо решил отложить день порабощения человечества.
C помощью бинарного поиска удалось быстро определить дату судного дня — 19 января 2038 года, время X — 07:14. Именно с этого момента Skype начинает психовать. Аномальной сетевой активности замечено не было, видимо сервера Skynet ещё не подключили к сети, и Skype не может зарезолвить хост.

Всех с пятницей, всем отличных выходных! Не забудьте взять на природу шапочку из фольги.

P.S. Другие версии Skype на других платформах не проверял. Не могу сказать точно, с чем это связано — может бага, может закладка, а может как раз проблема с просрочкой сертификата.

UPD: в комментариях подсказали, что это обычное переполнение unix-time, Skype же 32 битный. Но его реакция на переполнение довольно забавная, он не упал, не потерял историю, а после востановления даты и вовсе продолжил работать, как ни в чём не бывало.