[Pidgin] #11060: QQ Protocol Update Required: "Captcha verified" Check Fails
Pidgin
trac at pidgin.im
Tue Dec 29 15:57:01 EST 2009
#11060: QQ Protocol Update Required: "Captcha verified" Check Fails
-------------------------+--------------------------------------------------
Reporter: ryanerwin | Owner: csyfek
Type: defect | Status: new
Component: QQ | Version: 2.6.4
Keywords: QQ, Captcha |
-------------------------+--------------------------------------------------
There are a few Bug Reports that have been written about this issue, but
the english in each was so bad that I don't think anyone on the Pidgin
team was able to decipher the meaning.
The QQ connection algorithm has been updated to require a CAPTCHA upon
connection by 3rd party client. Even the official QQ iPhone App requires a
4 character CAPTCHA verification test on each connection, and the official
Mac OS X client frequently asks for CAPTCHA verification. This is
presumably to prevent SPAM on the QQ network.
Attempting to connect to QQ, I get the following in the Debug Log:
{{{
04:26:29: DNS resolve complete for sz6.tencent.com:8000
04:26:29: (Libpurple: dnsquery) IP resolved for sz6.tencent.com
04:26:29: (Libpurple: QQ) Connected.
04:26:29: Connecting: gc=0x1aa8cd20 (Getting server) 2 / 4
04:26:29: (Libpurple: QQ) <== [56937] CMD_GET_SERVER(0x0091), datalen 48
04:26:29: ************ 1073245115 --step-- 2
04:26:29: Called write with no write_tag
<SourceInfo 0x26fa860: Socket 0x1b4284c0: fd 9; timer_tag 0;
read_tag 94; write_tag 0>
04:26:29: (Libpurple: QQ) ==> [56937] CMD_GET_SERVER 0x0091, source tag
0x115B len 40
04:26:29: (Libpurple: QQ) Get server 58.251.61.161
04:26:31: (Libpurple: QQ) Disconnecting...
04:26:31: (Libpurple: QQ) Remove network watcher
04:26:31: (Libpurple: QQ) Close socket 9
04:26:31: (Libpurple: QQ_TRANS) Free all 1 packets
04:26:31: (Libpurple: QQ) Port not define in 58.251.61.161:0, use default.
04:26:31: Connecting: gc=0x1aa8cd20 (Connecting to server) 1 / 4
04:26:31: (Libpurple: QQ) Connect to 58.251.61.161:8000
04:26:31: (Libpurple: QQ) UDP Connect to 58.251.61.161:8000
04:26:31: (Libpurple: dns) DNS query for '58.251.61.161' queued
04:26:31: ************ 1073245115 --step-- 1
04:26:31: (Libpurple: dnsquery) IP resolved for 58.251.61.161
04:26:31: (Libpurple: QQ) Connected.
04:26:31: Connecting: gc=0x1aa8cd20 (Getting server) 2 / 4
04:26:31: (Libpurple: QQ) <== [25015] CMD_GET_SERVER(0x0091), datalen 48
04:26:31: ************ 1073245115 --step-- 2
04:26:31: Called write with no write_tag
<SourceInfo 0x1aaa2300: Socket 0x1aa7bea0: fd 9; timer_tag 0;
read_tag 99; write_tag 0>
04:26:31: (Libpurple: QQ) ==> [25015] CMD_GET_SERVER 0x0091, source tag
0x115B len 24
04:26:31: (Libpurple: QQ) <== [25016] CMD_TOKEN(0x0062), datalen 1
04:26:31: (Libpurple: QQ) ==> [25016] CMD_TOKEN 0x0062, source tag 0x115B
len 34
04:26:31: (Libpurple: QQ) <== [25017] CMD_TOKEN_EX(0x00BA), datalen 64
04:26:31: (Libpurple: QQ) ==> [25017] CMD_TOKEN_EX 0x00BA, source tag
0x115B len 56
04:26:31: (Libpurple: QQ) Captcha verified, result 0
04:26:31: (Libpurple: QQ) <== [25018] CMD_CHECK_PWD(0x00DD), datalen 128
04:26:31: (Libpurple: QQ) ==> [25018] CMD_CHECK_PWD 0x00DD, source tag
0x115B len 176
04:26:31: (Libpurple: QQ) Decrypt login packet by pwd_twice_md5, 155 bytes
04:26:31: (Libpurple: QQ) <== [25019] CMD_LOGIN(0x0022), datalen 570
04:26:32: (Libpurple: QQ) ==> [25019] CMD_LOGIN 0x0022, source tag 0x115B
len 136
04:26:32: (Libpurple: QQ) Decrypt login packet by login_key
04:26:32: (Libpurple: QQ)
04:26:32: (Libpurple: QQ) <== [25020] CMD_GET_SERVER(0x0091), datalen 48
04:26:32: (Libpurple: QQ) ==> [25020] CMD_GET_SERVER 0x0091, source tag
0x115B len 24
04:26:32: (Libpurple: QQ) <== [25021] CMD_TOKEN(0x0062), datalen 1
04:26:32: (Libpurple: QQ) ==> [25021] CMD_TOKEN 0x0062, source tag 0x115B
len 34
04:26:32: (Libpurple: QQ) <== [25022] CMD_TOKEN_EX(0x00BA), datalen 64
04:26:32: (Libpurple: QQ) ==> [25022] CMD_TOKEN_EX 0x00BA, source tag
0x115B len 56
04:26:32: (Libpurple: QQ) Captcha verified, result 0
04:26:32: (Libpurple: QQ) <== [25023] CMD_CHECK_PWD(0x00DD), datalen 128
04:26:36: (Libpurple: QQ) Connect ok
04:26:37: (Libpurple: QQ_TRANS) Resend [25023]
CMD_CHECK_PWD data 0x14a90060, len 128, send_retries 9
04:26:37: (Libpurple: QQ) <== [25023] CMD_CHECK_PWD(0x00DD), datalen 128
04:26:37: (Libpurple: QQ) ==> [25023] CMD_CHECK_PWD 0x00DD, source tag
0x115B len 176
04:26:37: (Libpurple: QQ) Decrypt login packet by pwd_twice_md5, 155 bytes
04:26:37: (Libpurple: QQ) <== [25024] CMD_LOGIN(0x0022), datalen 570
04:26:37: (Libpurple: QQ) ==> [25024] CMD_LOGIN 0x0022, source tag 0x115B
len 136
04:26:37: (Libpurple: QQ) Decrypt login packet by login_key
04:26:37: (Libpurple: QQ)
04:26:37: (Libpurple: QQ) <== [25025] CMD_GET_SERVER(0x0091), datalen 48
04:26:37: (Libpurple: QQ) ==> [25025] CMD_GET_SERVER 0x0091, source tag
0x115B len 24
04:26:37: (Libpurple: QQ) <== [25026] CMD_TOKEN(0x0062), datalen 1
04:26:38: (Libpurple: QQ) ==> [25026] CMD_TOKEN 0x0062, source tag 0x115B
len 34
04:26:38: (Libpurple: QQ) <== [25027] CMD_TOKEN_EX(0x00BA), datalen 64
04:26:38: (Libpurple: QQ) ==> [25027] CMD_TOKEN_EX 0x00BA, source tag
0x115B len 56
04:26:38: (Libpurple: QQ) Captcha verified, result 0
04:26:38: (Libpurple: QQ) <== [25028] CMD_CHECK_PWD(0x00DD), datalen 128
04:26:42: Setting 1aa59c80 disabled and offline (offline)...
}}}
Note that the "Captcha verified, result 0" line is repeated... Presumably
indicating that "0" is failure to verify that CAPTCHA, which will need to
be passed through to the end user. I believe that there is nobody
currently able to use pidgin/libpurple/adium to log into QQ at this time.
The following tickets appear to reference the same issue, but were very
difficult to understand.
http://developer.pidgin.im/ticket/10223 (QQ)
http://developer.pidgin.im/ticket/10223 (can't use/log in QQ in pidgin
2.6.2)
http://developer.pidgin.im/ticket/11051 (QQ not signing in, version too
old is message from the server)
--
Ticket URL: <http://developer.pidgin.im/ticket/11060>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list