Adium

Ticket #12748 (closed defect: fixed)

Opened 7 months ago

Last modified 3 weeks ago

Allow specification of QQ protocol version

Reported by: jimhu Owned by:
Milestone: Adium 1.4 Component: Service/QQ
Version: 1.4b8 Severity: normal
Keywords: Cc:
Patch Status: Accepted

Description (last modified by Robby) (diff)

Hi, I'm using the latest Adium Beta client, but still can't connect to QQ network as mentioned in the title. Below is the error log

10:00:11: (Libpurple: QQ) Disconnecting...
[[BR]]10:00:11: (Libpurple: QQ) Remove network watcher
[[BR]]10:00:11: (Libpurple: QQ) Close socket 17
[[BR]]10:00:11: (Libpurple: QQ_TRANS) Free all 2 packets
[[BR]]10:00:11: (Libpurple: QQ) Connect to 219.133.49.8:80
[[BR]]10:00:11: (Libpurple: QQ) <== [45504] CMD_TOKEN(0x0062), datalen 1
[[BR]]10:00:11: (Libpurple: QQ) ==> [45504] CMD_TOKEN 0x0062, source tag 0x0D55 len 34
<br>10:00:11: (Libpurple: QQ) <== [45505] CMD_LOGIN(0x0022), datalen 448
[[BR]]10:00:11: (Libpurple: QQ) ==> [45505] CMD_LOGIN 0x0022, source tag 0x0D55 len 136
[[BR]]10:00:11: (Libpurple: QQ) Decrypt login packet by random_key
[[BR]]10:00:11: (Libpurple: QQ) 
[[BR]]10:00:11: -[AIAccount(Abstract) serverReportedInvalidPassword]: <ESPurpleQQAccount:cee7c0 2>:89092224
[[BR]]'''''10:00:11: <ESPurpleQQAccount:cee7c0 2>:89092224 accountConnectionReportDisconnect: 尊敬的用户,您的QQ版本已经停止使用,
请到http://hi.qq.com
下载并安装最新的QQ版本。
给您带来不便,敬请谅解!'''''
[[BR]]10:00:11: (Libpurple: QQ) Disconnecting...
[[BR]]10:00:11: (Libpurple: QQ) Remove network watcher
[[BR]]10:00:11: (Libpurple: QQ) Close socket 17
[[BR]]10:00:11: (Libpurple: QQ_TRANS) Free all 2 packets
[[BR]]10:00:11: (Libpurple: QQ) free server list
[[BR]]10:00:11: <ESPurpleQQAccount:cee7c0 2>:89092224: Telling the core we disconnected
[[BR]]10:00:11: <ESPurpleQQAccount:cee7c0 2>:89092224: Disconnected ("不正确的用户名或密码"): Automatically reconnecting immediately
[[BR]]10:00:11: -[AIAccount(Abstract) retrievePasswordThenConnect]: Retrieving <ESPurpleQQAccount:cee7c0 2>:89092224's password (promptOption 1)
[[BR]]10:00:11: <ESPurpleQQAccount:cee7c0 2>:89092224: Updating status for key: Online
[[BR]]10:00:13: <ESPurpleQQAccount:cee7c0 2>:89092224: Updating status for key: Online

I think it's pretty sure why login has failed. Check the border part out. it says, "Your Client version is too old to login, please update your clients".

I believe that Pidgin and Adium share the protocol part. QQ protocol has several settings in pidgin where users can choose which QQ protocol version, such as QQ 2005, QQ 2007 etc. they want to use. Since the QQ 2005 protocol and QQ 2007 protocol are out of date, and are not allowed to login by the QQ server for some users (unfortunately, I'm one of them). On the other hand, QQ 2008 protocol is still working. Since it does not have a full function, it's not the default protocol. So, why not let users choose their prefered protocol?

Sorry for my poor English. (not native speaker)

Attachments

qq_2008.diff (4.8 KB) - added by Jortuny 6 months ago.
allow specification of the protocol version, and set the default to a working value (qq2008)
PurpleQQAccountView.nib.zip (12.1 KB) - added by Jortuny 6 months ago.
nib file with the new option

Change History

  Changed 7 months ago by Marlor

As mentioned above, this is fixed upstream in Pidgin.

In order to use QQ, you need to force your client version to be 2008. Pidgin allows this in its latest version, and libpurple apparently has support for forcing the QQ protocol version.

In order to restore QQ functionality, all Adium needs to do is allow the user to specify the client version, as Pidgin does. It would also be sensible to default to QQ 2008, as previous versions do not work at the moment for many users.

  Changed 7 months ago by Robby

  • description modified (diff)
  • milestone set to Adium 1.4

Thanks, guys. :)

  Changed 7 months ago by Robby

  • description modified (diff)

Fix some language.

  Changed 7 months ago by Robby

  • summary changed from QQ can't login, but keeps asking me to retype the passwork which is surely correct. to Allow specification of QQ protocol version

Changed 6 months ago by Jortuny

allow specification of the protocol version, and set the default to a working value (qq2008)

Changed 6 months ago by Jortuny

nib file with the new option

follow-up: ↓ 7   Changed 6 months ago by Jortuny

This seems to work on my computer, as far as I can tell... this is my first patch so I'm sure I messed something up, but I would be happy to fix it! I was getting tired of QQ not working :(

  Changed 6 months ago by Robby

  • patch_status set to Needs Dev Review

Thanks a lot, we'll have a look! :)

in reply to: ↑ 5   Changed 6 months ago by ccfox

Replying to Jortuny:

This seems to work on my computer, as far as I can tell... this is my first patch so I'm sure I messed something up, but I would be happy to fix it! I was getting tired of QQ not working :(

I downloaded the files you uploaded, and can you pls tell me where to put these 2 files, as i guess that will fix the problem, isnt it?

and i am currently using 1.36 adium my email: fox#jxust.com

  Changed 6 months ago by vinz2k

I've download PurpleQQAccountView.nib.zip and put the files here :

/Applications/Adium.app/Contents/Plugins/Purple.AdiumPlugin/Contents/Frameworks/AdiumLibpurple.framework/Versions/A/Ressources/PurpleQQAccountView.nib

but doesn't seem to work :(

Can you explain us where to put the 2 files please ... ?

  Changed 6 months ago by angerman

Thanks for the patch. Now QQ is back working.

Here's a small guide on how to use the pach

(use a Terminal, you will need the development tools for OS X

-- see  http://trac.adium.im/wiki/GettingNewestAdiumSource)

Assuming you have qq_2008.diff and PurpleQQAccountView.nib in your ~/Downloads folder

$ hg clone  http://hg.adium.im/adium $ cd admin $ cat ~/Downloads/qq_2008.diff |patch -p1 $ cp -fR ~/Downloads/PurpleQQAccountView.nib Plugins/Purple\ Service/ $ make latest $ open build/Release-Debug/Adium.app

I can confirm the patch is working. And it allows QQ to login again. Thanks alot Jortuny.

  Changed 6 months ago by angerman

Thanks for the patch. Now QQ is back working.

Here's a small guide on how to use the pach (use a Terminal, you will need the development tools for OS X -- see  http://trac.adium.im/wiki/GettingNewestAdiumSource)

Assuming you have qq_2008.diff and PurpleQQAccountView.nib in your ~/Downloads folder

$ hg clone http://hg.adium.im/adium
$ cd adium
$ cat ~/Downloads/qq_2008.diff |patch -p1
$ cp -fR ~/Downloads/PurpleQQAccountView.nib Plugins/Purple\ Service/
$ make latest
$ open build/Release-Debug/Adium.app

I can confirm the patch is working. And it allows QQ to login again. Thanks alot Jortuny.

  Changed 6 months ago by angerman

Here's my Patched Build from 2711:92fc93345e8d

 http://dl.getdropbox.com/u/281539/Adium-2711-92fc93345e8d.zip

WARNING: This is a build from the latest source as desribed above. I do not guarantee it's fitness nor anything else. Download at your own risk. Neither me nor the adium team is responsible for what ever could happen.

  Changed 5 months ago by CrimsonStrider

Hi. I'm new to this.

I dled xcode and Mercurial. I opened up terminal, and entered

$ hg clone  http://hg.adium.im/adium

A long list of things came up and it kept saying error this error that. So then I did this one

export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 $ hg clone  http://hg.adium.im/adium

And it seemed like it worked. Although it would stop doing anything after it said "Adding files' I think I waited a few minutes and nothing happened.

So I tried doing the same thing but with this since I'm using 1.3

$ hg clone  http://hg.adium.im/adium-1.3

Again, it got stuck.

Am I doing something wrong? BTW I'm using Leopard. I wanna use Adium 1.3 if possible.

  Changed 5 months ago by Zachary West <zacw@…>

  • status changed from new to closed
  • resolution set to fixed

(In  3b847939c5de) Patch from Jortuny to allow specifying client version for QQ. Fixed a few things myself. Fixes #12748.

  Changed 5 months ago by Robby

  • patch_status changed from Needs Dev Review to Accepted

  Changed 5 months ago by Zachary West <zacw@…>

(In  da360535713d) Patch from Jortuny to allow specifying client version for QQ. Fixed a few things myself. Fixes #12748.

  Changed 3 weeks ago by Robby

Ticket #13770 has been marked as a duplicate of this ticket.

Note: See TracTickets for help on using tickets.