Opened 12 years ago

Closed 11 years ago

Last modified 8 years ago

#783 closed defect (fixed)

Cannot login to QQ server on Pidgin 2.0

Reported by: XBeta Owned by:
Milestone: 2.4.0 Component: QQ
Version: 2.1.1 Keywords: qq login issue tencent
Cc: markdoliner

Description

I cannot login to QQ server using new Pidgin 2.0, but I did successfully login using the old gaim 2.0beta05.

here is the log for trying to login:

account: Connecting to account 6900XXXX
connection: Connecting. gc = 01A52BD0
QQ: Choosing proxy type 0
dnsquery: Performing DNS lookup for sz6.tencent.com
dnsquery: IP resolved for sz6.tencent.com
QQ: Using UDP without proxy
QQ: Connected.
autorecon: do_signon called
autorecon: calling purple_account_connect
account: Connecting to account 6900XXXX
autorecon: done calling purple_account_connect
util: Writing file accounts.xml to directory C:\Documents and Settings\userXXXX\Application Data\.purple
QQ: <<< [23757] send again for 1 times!
QQ: <<< [23757] send again for 2 times!
QQ: <<< [23757] send again for 3 times!
QQ: <<< [23757] send again for 4 times!
QQ: <<< [23757] send again for 5 times!
QQ: <<< [23757] send again for 6 times!
QQ: <<< [23757] send again for 7 times!
QQ: <<< [23757] send again for 8 times!
account: Disconnecting account 00BC5D38
connection: Disconnecting connection 01A52BD0
QQ: 1 packets in sendqueue are freed!
QQ: 0 group packets are freed!
QQ: 0 groups are freed
QQ: 0 add buddy requests are freed!
QQ: 0 info queries are freed!
QQ: 0 qq_buddy structures are freed!
connection: Destroying connection 01A52BD0

note: one of my friend is able to login using new Pidgin 2.0, but not all of the older gaim betas

Attachments (2)

libqq.dll (159.6 KB) - added by wukejia 12 years ago.
This file is re-forged for windows, and can work for qq now. Copy it to Pidgin\plugins
packet-qq.c.gz (11.6 KB) - added by mhuetsch 12 years ago.

Download all attachments as: .zip

Change History (45)

comment:1 Changed 12 years ago by lschiere

  • Milestone set to 2.0.1
  • Owner set to mhuetsch

comment:2 Changed 12 years ago by lschiere

  • Milestone changed from 2.0.1 to 2.0.2

comment:3 follow-up: Changed 12 years ago by mhuetsch

  • Status changed from new to assigned

Unfortunately I won't be to fix this for another 2 weeks or so when exams are over. My apologies for not taking care of this sooner, but I haven't had a good Windows machine to work on and I've been busy.

First, I do know that pidgin's version is still working for some people, because it's working for all 3 of my accounts.

Second, I did seek out the login scheme being used by LumaQQ, which people reported as working, but a) I couldn't find the source code and b) I hear it's not working for everyone anymore. If anyone knows of an open source 3rd-party client that's working consistently, please let me know. Otherwise, I'll figure it out myself. Help is always welcome :)

In the meantime, you may want to give luma or eva a shot (though eva's a bit of a pain to use unless you're in KDE and they're probably having the same problem).

comment:4 Changed 12 years ago by XBeta

I tried the old gaim beta (before Pidgin) it works fine for me

maybe because my account were different than yours? I heard Tencent re-group some of the accounts and I believe mine is the "old" ones?

comment:5 Changed 12 years ago by Torkild

To me this seem like a architecture dependent problem. Can you tell which architecture you have for the respective versions of gaim and pidgin? To my knowledge it will work on i386 architecture and fail on x86_64

comment:6 in reply to: ↑ 3 Changed 12 years ago by ccpaging

I have test pidgin 2.0.0 and 2.0.1 on zaurus' pdaxrom(arm linux), but always failed in QQ login. The debug information is same as above exactly.

Yahoo and MSN is Ok.

Mirandaqq2 is working in windows 2000, and it is open source, you may check: http://starkwong.ivehost.net/s9y/index.php?/archives/133-MirandaQQ2-0.1.9.25.html or http://miranda.lifevine.org/node/208

comment:7 Changed 12 years ago by XBeta

I tried it on win32_i386

didn't work

I still prefer using Pidgin as it was my main IM program thanks for your information

I hope someone can fix it someday

comment:8 follow-up: Changed 12 years ago by Torkild

did you have exact same problem as described above? Because right now there seems to be another issue with QQ that makes it impossible to log in (You will get Password rejected error message).

comment:9 in reply to: ↑ 8 ; follow-up: Changed 12 years ago by ccpaging

Replying to Torkild:

did you have exact same problem as described above? Because right now there seems to be another issue with QQ that makes it impossible to log in (You will get Password rejected error message).

标题: pidgin 2.0.0正式版测试结果

环境: zaurus c1k pdaxrom 1.1. beta3 GPRS上网 另:该号码在PC上用QQ2006正式版,每次登录时都显示验证图片。

结果: Yahoo正常 MSN尚未测试 QQ无法登录

DEBUG信息: plugins: probing /usr/local/lib/pidgin/markerline.so plugins: probing /usr/local/lib/pidgin/timestamp_format.so plugins: probing /usr/local/lib/pidgin/iconaway.so plugins: probing /usr/local/lib/pidgin/history.so plugins: probing /usr/local/lib/pidgin/timestamp.so plugins: probing /usr/local/lib/pidgin/notify.so plugins: probing /usr/local/lib/pidgin/gestures.so plugins: probing /usr/local/lib/pidgin/spellchk.so plugins: probing /usr/local/lib/pidgin/convcolors.so plugins: probing /usr/local/lib/pidgin/pidginrc.so plugins: probing /usr/local/lib/pidgin/relnot.so plugins: probing /usr/local/lib/pidgin/extplacement.so plugins: probing /usr/local/lib/pidgin/ticker.so plugins: probing /usr/local/lib/pidgin/xmppconsole.so plugins: probing /usr/local/lib/purple-2/libicq.so plugins: probing /usr/local/lib/purple-2/libirc.so plugins: probing /usr/local/lib/purple-2/libmsn.so plugins: probing /usr/local/lib/purple-2/libzephyr.so plugins: probing /usr/local/lib/purple-2/libyahoo.so plugins: probing /usr/local/lib/purple-2/psychic.so plugins: probing /usr/local/lib/purple-2/ssl-gnutls.so plugins: probing /usr/local/lib/purple-2/liboscar.so plugins: /usr/local/lib/purple-2/liboscar.so is not usable because the 'purple_init_plugin' symbol could not be found. Does the plugin call the PURPLE_INIT_PLUGIN() macro? plugins: probing /usr/local/lib/purple-2/idle.so plugins: probing /usr/local/lib/purple-2/libxmpp.so plugins: probing /usr/local/lib/purple-2/offlinemsg.so plugins: probing /usr/local/lib/purple-2/newline.so plugins: probing /usr/local/lib/purple-2/libnovell.so plugins: probing /usr/local/lib/purple-2/libsimple.so plugins: probing /usr/local/lib/purple-2/statenotify.so plugins: probing /usr/local/lib/purple-2/ssl-nss.so plugins: probing /usr/local/lib/purple-2/libjabber.so plugins: /usr/local/lib/purple-2/libjabber.so is not usable because the 'purple_init_plugin' symbol could not be found. Does the plugin call the PURPLE_INIT_PLUGIN() macro? plugins: probing /usr/local/lib/purple-2/buddynote.so plugins: probing /usr/local/lib/purple-2/log_reader.so plugins: probing /usr/local/lib/purple-2/ssl.so plugins: probing /usr/local/lib/purple-2/joinpart.so plugins: probing /usr/local/lib/purple-2/libgg.so plugins: probing /usr/local/lib/purple-2/libqq.so plugins: probing /usr/local/lib/purple-2/autoaccept.so plugins: probing /usr/local/lib/purple-2/libaim.so util: Reading file accounts.xml from directory /home/root/.purple util: Reading file status.xml from directory /home/root/.purple stun: using server stun: using server gtkblist: added visibility manager: 1 docklet: created util: Reading file blist.xml from directory /home/root/.purple prefs: Reading /home/root/.purple/prefs.xml prefs: Finished reading /home/root/.purple/prefs.xml pounce: Error reading pounces: Failed to open file '/home/root/.purple/pounces.xml': No such file or directory ui_main: Failed to load the default window icon (scalablepx version)! Session Management: No SESSION_MANAGER found, aborting. account: Connecting to account (敏感信息删除若干字) connection: Connecting. gc = 0x2c2450 QQ: Choosing proxy type 0 dns: DNS query for 'sz2.tencent.com' queued dns: Created new DNS child 2101, there are now 1 children. dns: Successfully sent DNS request to child 2101 docklet: embedded util: Writing file accounts.xml to directory /home/root/.purple util: Writing file blist.xml to directory /home/root/.purple util: Writing file status.xml to directory /home/root/.purple dns: Got response for 'sz2.tencent.com' dnsquery: IP resolved for sz2.tencent.com QQ: Using UDP without proxy QQ: Connected. QQ: <<< [01430] send again for 1 times! QQ: <<< [01430] send again for 2 times! QQ: <<< [01430] send again for 3 times! QQ: <<< [01430] send again for 4 times! QQ: <<< [01430] send again for 5 times! QQ: <<< [01430] send again for 6 times! QQ: <<< [01430] send again for 7 times! QQ: <<< [01430] send again for 8 times! account: Disconnecting account 0xe94f8 connection: Disconnecting connection 0x2c2450 QQ: 1 packets in sendqueue are freed! QQ: 0 group packets are freed! QQ: 0 groups are freed QQ: 0 add buddy requests are freed! QQ: 0 info queries are freed! QQ: 0 qq_buddy structures are freed! connection: Destroying connection 0x2c2450 util: Writing file accounts.xml to directory /home/root/.purple util: Writing file status.xml to directory /home/root/.purple main: Unloading all plugins plugins: Unloading plugin ICQ plugins: Unloading plugin IRC plugins: Unloading plugin MSN plugins: Unloading plugin Zephyr plugins: Unloading plugin Yahoo plugins: Unloading plugin XMPP plugins: Unloading plugin GroupWise? plugins: Unloading plugin SIMPLE plugins: Unloading plugin Gadu-Gadu plugins: Unloading plugin QQ plugins: Unloading plugin AIM accels: accel changed, scheduling save. accels: accel changed, scheduling save. accels: accel changed, scheduling save. accels: accel changed, scheduling save. accels: accel changed, scheduling save. accels: accel changed, scheduling save. gtkblist: removed visibility manager: 0 docklet: destroyed

comment:10 in reply to: ↑ 9 Changed 12 years ago by Torkild

ccpaging - Try downloading this RPM file: http://rpm.pidgin.im/fedora/6/pidgin-2.0.1-0.fc6.i386.rpm (i am aware that rpm file is compiled against fedora core 6, but it should work if you run 32bit system or a system with both 64bit and 32bit libraries) Extract the pidgin executable inside that rpm archive and run that (with the normal version of pidgin closed)..

comment:11 follow-up: Changed 12 years ago by XBeta

I just try my QQ account on AdiumX (OSX) using libgaim I couldn't login as well

Can anyone verify this with the same issue like I had?

comment:12 Changed 12 years ago by XBeta

ccpaging is using Zaurus - pdaXrom I don't think RPM works for him

comment:13 in reply to: ↑ 11 ; follow-up: Changed 12 years ago by Torkild

Replying to XBeta:

I just try my QQ account on AdiumX (OSX) using libgaim I couldn't login as well

Can anyone verify this with the same issue like I had?

If you get password rejected error, this is the right thread to look in: http://developer.pidgin.im/ticket/1487#comment:1 Try to look at the Debug window, and see what error it gives you

comment:14 in reply to: ↑ 13 ; follow-up: Changed 12 years ago by XBeta

Replying to Torkild:

Replying to XBeta:

I just try my QQ account on AdiumX (OSX) using libgaim I couldn't login as well

Can anyone verify this with the same issue like I had?

If you get password rejected error, this is the right thread to look in: http://developer.pidgin.im/ticket/1487#comment:1 Try to look at the Debug window, and see what error it gives you

But I do not see anything about "password rejected error"

the error message was already posted above

comment:15 in reply to: ↑ 14 Changed 12 years ago by Torkild

Oh sorry i did not see you were the creator of this thread. You say that "but I did successfully login using the old gaim 2.0beta05.". Could you try to see if this still works now? or you get the password rejected error (as i have started getting when trying to log on).

comment:16 Changed 12 years ago by XBeta

sorry, I do not have another machine to re-test the beta05

Can anyone give me a try on that?

comment:17 Changed 12 years ago by XBeta

by the way, how do I still able to find the older gaim-beta05?

comment:18 Changed 12 years ago by XBeta

I just tried it with LumaQQ 2006M2 it works fine anyone knows why?

Changed 12 years ago by wukejia

This file is re-forged for windows, and can work for qq now. Copy it to Pidgin\plugins

comment:20 Changed 12 years ago by wukejia

The search function in this site should not limit at least 3 letters keyword. If I wish to search 'qq', how should I do? tencent?

comment:21 Changed 12 years ago by XBeta

wukejia,

nope, this libqq.dll still not work for me under Pidgin 2.0.1

what's your QQ setting? mind to share? thanks

comment:22 Changed 12 years ago by XBeta

in addition, do you have a copy for Mac OSX too? so I can use it on Adium X

comment:23 Changed 12 years ago by XBeta

by the way, i'm interested to know what changes did you make?

comment:24 Changed 12 years ago by wukejia

I found the solution here - http://forum.ubuntu.org.cn/viewtopic.php?t=58765

For pidgin 2.0.1 on windows, find file libqq.dll, and then change the value 150f in the following locations to 1b0e:
000e990: 895c 2404 8b55 b001 c7b8 150f 0000 8944
0013500: e8cb d3ff ff89 7424 04b9 150f 0000 01c3
0013f40: caff ff89 7424 0401 c3b8 150f 0000 893c

That should maybe alter the version of qq.

I think you can do it for Mac as the same as for M$ win.

Or, if you wish to recompile the source, revise the program /pidgin-2.0.1/libpurple/protocols/qq/header_info.h to find and re-define the directive QQ_CLIENT: #define QQ_CLIENT 0x0E1B.

Maybe, you should install a newer version qq, as I can't confirm.

This is just a very temporary solution, and mhuetsch may have finished his examinations within days, so he can solve the problem completely.

Tencent is really narrow, but too many babies use qq. We can't discard it at present.

comment:25 Changed 12 years ago by XBeta

lol

I just tested it in win32 with Pidgin 2.0.1 with your given libqq.dll it works fine

but I dunno about the rest

comment:26 Changed 12 years ago by ccpaging

I should try on pdaxrom.

comment:27 Changed 12 years ago by ccpaging

2.0.2 Failed too. It seems not packet problem. Please notice debug:

(23:51:20) QQ: Using UDP without proxy (23:51:20) QQ: Connected. successed in _qq_proxy_none

(23:51:30) QQ: <<< [40589] send again for 1 times! Why get into qq_sendqueue_timeout_callback?

(23:51:35) QQ: <<< [40589] send again for 2 times!

QQ: 1 packets in sendqueue are freed! It seems the packets is not sent?

comment:28 Changed 12 years ago by Torkild

As far as i know there are right now two concurrent problems. The first is the "send again" messages which just might be related to the computer architecture. Also there is a problem with QQ rejecting the version that pidgin connects with to the QQ server. The fix released is only for the version used when connecting. I have tried recompiling the 64bit version with the version fix and it still gives the exact same "send again" error as before

comment:29 Changed 12 years ago by pplwong

Sorry that I don't have time to trace all messages. I just want to add that for me, 2.0 works, but 2.0.1 and 2.0.2 doesn't work for me. I installed the real QQ client and try it, and I'm firm that I can login using that, so it's not my account problem, but some changes between 2.0 and 2.0.1. Since, one of my friend cannot login during 2.0 but can during 2.0.1. He showed me an issue some time ago and says his problem is fixed. So I guess the process of fixing his account created this drawback. I don't have that bug's no. anymore, but I'm sure you know what I'm talking about. The following is my current log:

(09:52:42) util: Writing file prefs.xml to directory C:\Documents and Settings\Paul Wong\Application Data\.purple
(09:52:47) connection: Connecting. gc = 016B0328
(09:52:47) QQ: Choosing proxy type 0
(09:52:47) dnsquery: Performing DNS lookup for sz6.tencent.com
(09:52:47) dnsquery: IP resolved for sz6.tencent.com
(09:52:47) QQ: Using UDP without proxy
(09:52:47) QQ: Connected.
(09:52:48) QQ: ==> [25193] QQ_CMD_REQUEST_LOGIN_TOKEN, from (QQ2005 or QQ2006)
(09:52:48) QQ: ack [25193] QQ_CMD_REQUEST_LOGIN_TOKEN, remove from sendqueue
(09:52:48) QQ: <<< got a token with 24 bytes -> [default] decrypt and dump
0000:  48 BA BD 54 03 01 6D DD 83 7A 3B E9 1C 4F F6 5B  H:=T..m].z;i.Ov[
0016:  9B 35 EA AB 43 22 65 7A                          .5j+C"ez
(09:52:49) QQ: ==> [25194] QQ_CMD_LOGIN, from (QQ2005 or QQ2006)
(09:52:49) QQ: ack [25194] QQ_CMD_LOGIN, remove from sendqueue
(09:52:49) QQ: Decrypt login reply packet with inikey, 11 bytes
(09:52:49) QQ: Redirected to new server: 219.133.49.215:8000
(09:52:49) QQ: 0 packets in sendqueue are freed!
(09:52:49) QQ: 0 group packets are freed!
(09:52:49) QQ: 0 groups are freed
(09:52:49) QQ: 0 add buddy requests are freed!
(09:52:49) QQ: 0 info queries are freed!
(09:52:49) QQ: 0 qq_buddy structures are freed!
(09:52:49) QQ: Choosing proxy type 0
(09:52:49) dnsquery: Performing DNS lookup for 219.133.49.215
(09:52:49) dnsquery: IP resolved for 219.133.49.215
(09:52:49) QQ: Using UDP without proxy
(09:52:49) QQ: Connected.
(09:52:49) QQ: ==> [25200] QQ_CMD_REQUEST_LOGIN_TOKEN, from (QQ2005 or QQ2006)
(09:52:49) QQ: ack [25200] QQ_CMD_REQUEST_LOGIN_TOKEN, remove from sendqueue
(09:52:49) QQ: <<< got a token with 24 bytes -> [default] decrypt and dump
0000:  5C D5 F8 5F F6 BA E3 8B 2F E9 3E 36 F2 A2 30 A2  \Ux_v:c./i>6r"0"
0016:  F0 48 FB A0 81 8E B9 32                          pH{ ..92
(09:52:52) util: Writing file accounts.xml to directory C:\Documents and Settings\Paul Wong\Application Data\.purple

comment:30 Changed 12 years ago by flox

still problem on 2.1.0. Unable to connect to QQ.

(18:51:19) QQ: Unknown reply code: 6
(18:51:19) QQ: >>> 112 bytes -> [default] decrypt and dump
0000:  06 C4 FA B5 C4 BA C5 C2 EB D4 DD CA B1 B2 BB C4  .Dz5D:EBkT]J12;D
0016:  DC CA B9 D3 C3 B5 CD B0 E6 B1 BE B5 C4 51 51 A3  \J9SC5M0f1>5DQQ#
0032:  AC C7 EB B5 BD A3 BA 68 74 74 70 3A 2F 2F 69 6D  ,Gk5=#:http://im
0048:  2E 71 71 2E 63 6F 6D 2F CF C2 D4 D8 B0 B2 D7 B0  .qq.com/OBTX02W0
0064:  D7 EE D0 C2 B0 E6 B5 C4 51 51 A3 AC B8 D0 D0 BB  WnPB0f5DQQ#,8PP;
0080:  C4 FA B6 D4 51 51 B5 C4 D6 A7 B3 D6 BA CD CA B9  Dz6TQQ5DV'3V:MJ9
0096:  D3 C3 00                                         SC.
(18:51:19) QQ: Try extract GB msg: ...

comment:31 Changed 12 years ago by pplwong

Doesn't work for me in 2.1.0 also. In the debugging window, it's about the same as what I get last time (look above), with the following message below the second "QQ_CMD_LOGIN, remove from sendqueue".

Wrong password, server msg in UTF8: 您的密码不正确,请您确认:是否记错密码?是否区分字母大小写?是否开启小键盘?查找密码错误原因请点这里:http://service.qq.com/forgotpassword.html

I'm firm that my password is correct because I've tried it in real QQ.

comment:32 Changed 12 years ago by MarkDoliner

  • Keywords tencent added; gaim removed

comment:33 Changed 12 years ago by MarkDoliner

  • Cc markdoliner added
  • Version changed from 2.0 to 2.1.1

comment:34 Changed 12 years ago by bernmeister

Was wondering if this ticket will be fixed in time for the 2.2.1 release? Trying to convince my girlfriend to use Pidgin because it supports QQ!

comment:35 Changed 12 years ago by seanegan

  • Component changed from libpurple to QQ

Changed 12 years ago by mhuetsch

comment:36 Changed 12 years ago by mhuetsch

  • Owner mhuetsch deleted
  • Status changed from assigned to new

My sincerest apologies, but I simply haven't had time to work on this that I thought I would, and don't foresee having the time. I've attached a Wireshark protocol dissector I've written, but haven't updated in many months. It, combined with the already existing code in pidgin, contains most of my knowledge of the protocol. Hopefully somebody else will have the time to fix and maintain this.

comment:37 Changed 11 years ago by jpeach

I can confirm this is still an issue on 2.2.1 running Ubuntu 7.10 32-bit i386

comment:38 Changed 11 years ago by MarkDoliner

  • Resolution set to fixed
  • Status changed from new to closed

We made a change that will hopefully allow all of you to sign on to QQ in Pidgin 2.3.1. I have no idea how well it works though. Feel free to file new tickets for bugs you find (no guarantees that they'll be fixed anytime soon though--we don't really have anyone working on QQ).

comment:39 Changed 11 years ago by jpeach

I just compiled and installed version 2.3.1 and still have this problem. The ticket has been closed and marked as fixed. However, it is not.

comment:40 Changed 11 years ago by MarkDoliner

jpeach: What is the error message that you get? Does it fail to connect immediately or does it time out? Can you try editing your account and toggling the "Connect using TCP" setting on the Advanced tab? Can you post the output from the debug window from a failed sign on attempt? I'm wondering if it's different than it used to be.

comment:41 Changed 11 years ago by jpeach

MarkDoliner: Please check out ticket #4335 as I posted that information on that bug.

comment:42 Changed 11 years ago by emilal

QQ protocol plugin can not login with 8-digit (old) username

comment:43 Changed 11 years ago by emilal

Really - Tencent with latest version of TM 2008 changed internally the protocol. I'm thinking they consecutively will replace the old QQ messengers with the new TM, now in preview stage http://pcsofts.cn/internet/tm-2008-preview2-beta-2.html

If somebody try to log in an account (that doesn't work currently with current libpurple plugin) will see with some sniffer tool (Wireshark for example) different packets from existing now.

The new QQ_CLIENT mow is 0x140f - but is not enough, because packet are changed. Do somebody have idea what happened there?

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!