Сегодня утром мой 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.]
Видно, что был изменен формат протокола, по крайней мере, в части инициализации соединения. Снова меняют протокол?