Сегодня утром мой IM-шлюз потерял связь с серверами ICQ (причем, по логам сервиса создается впечатление, что связь разорвана принудительно).
Повторные переподключения проблему не решили, python-скрипт транспорта вываливается с исключениями:
Unhandled error in Deferred:
Traceback (most recent call last):
File "/usr/local/etc/icq/src/tlib/oscar.py", line 663, in dataReceived
state=func(flap)
File "/usr/local/etc/icq/src/tlib/oscar.py", line 792, in oscar_Data
d.errback(snac)
File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 269, in errback
self._startRunCallbacks(fail)
File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 312, in _startRunCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 328, in _runCallbacks
self.result = callback(self.result, *args, **kw)
File "/usr/local/etc/icq/src/tlib/oscar.py", line 2083, in _cbRequestSSI
if snac[1] == 0x0f: # same SSI as we have
exceptions.TypeError: unsubscriptable object
Jabber-клиент дает более вразумительное сообщение:
ICQ connection lost! Reason: [Failure instance: Traceback (failure with no frames): twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.]
Видно, что был изменен формат протокола, по крайней мере, в части инициализации соединения. Снова меняют протокол?