Re: Странный srv_cookie в протоколе OSCAR. Очень мешает жить
От: NeuroVirus Россия  
Дата: 20.09.04 12:03
Оценка:
Здравствуйте, Ozean Engel, Вы писали:

OE>Реализовал протокол OSCAR (написал свой мини-ICQ-клиент). Обещаю, если потребуется, _обязательно_ разъясню, как и на чем (это не стандартно, поэтому объяснять долго), но он в принципе работает, а вопрос идет именно по _протоколу_, поэтому пока пропустим этот момент. Возникла следующая досадная проблема.

OE>При выполнении авторизации на login.icq.com серевер присылает пакет FLAP, называемый srv_cookie и обычно содержащий в TLV 05 текст:
OE>адрес:порт
OE>основного сервера для подключения, например,
OE>205.188.8.175:5190
OE>Проблема: иногда вместо TLV 05 пакет содержит TLV 04, в которой вместо <адрес:порт> в виде, указанном выше, содержится текст
OE>http://www.aol.com?ccode=us&amp;lang=en
OE>либо просто
OE>http://www.aol.com
OE>, представляющий собой ссылки, ведущие на соответствующий сайт. Естественно, что логин обламывается.
OE>Мне известно, что при указании неверного пароля присылается та же TLV 04 с следующей ссылкой:
OE>http://www.aim.com/errors/MISMATCH_PASSWD.html?ccode=us&amp;lang=en
OE>, ведущая на страницу восстановления пароля, и я это соответствующим образом обрабатываю. Первая же ссылка приходит непонятно с какой периодичностью и/или при каких условиях. Я настроил клиент на автореконнект при возникновении такого прецедента. И дело в том, что иногда все работает вообще без этих ссылок как часы, иногда нормальные реквизиты приходят после 1-2 попыток, а иногда можно долбить целый день — и нормального SRV_COOKIE так и не придет. При этом с тем же уином обычные клиенты тоже иногда логинятся, иногда — перестают.
OE>Тестировалось примерно на десятке уинов.
OE>Вопросы:
OE>1. В каких случаях это происходит? Вообще, встречался ли кто-то с таким явлением?
OE>2. Если это официальная реклама, почему не удается воспроизвести данное явление на других клиентах (Миранда, ICQ Pro, ICQ Lite и пр.)? Т.е. сколько я ни тестировал, снифферинг ИХ процесса логина никогда не отклонялся от канонического (не было никаких реконнектов, им вообще не приходили такие пакеты, только с TLV 05).

login.icq.com возвращает целую кучу IP адресов, тн. DNS рулетка,
посмотрите закономерность между IP к которому идет коннект и возврат.
подозреваю что у вас в реализации возможна какая-то ошибочка,
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.