Bugs item #1583768, was opened at 2006-10-24 23:23
Message generated for change (Comment added) made by sleepycat
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=100235&aid=1583768&group_id=235

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: wrong
Group: 2.0.0 beta 4
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Guardroid (guardroid)
Assigned to: Mark Huetsch (markhuetsch)
Summary: QQ  protocol abnormity on AMD64 / EM64T

Initial Comment:
The QQ protocol is not working on AMD64 / EM64T (a
deformed UDP packet I guess):

QQ: Choosing proxy type 0
dns: DNS query for 'sz7.tencent.com' queued
Session Management: Received first save_yourself
dns: Created new DNS child 7082, there are now 1 children.
dns: Successfully sent DNS request to child 7082
Session Management: Received save_complete
docklet: embedded
dns: Got response for 'sz7.tencent.com'
dnsquery: IP resolved for sz7.tencent.com
QQ: Using UDP without proxy
QQ: Connected.
QQ: ==> [36374] QQ_CMD_REQUEST_LOGIN_TOKEN, from (QQ
unknown version)
QQ: ack [36374] QQ_CMD_REQUEST_LOGIN_TOKEN, remove from
sendqueue
QQ: <<< got a token with 24 bytes -> [default] decrypt
and dump
0000:  bla bla
0016:  bla bla
util: Writing file accounts.xml to directory
/home/xxx/.gaim
util: Writing file blist.xml to directory /home/xxx/.gaim
QQ: <<< [36375] send again for 1 times!
QQ: <<< [36375] send again for 2 times!
QQ: <<< [36375] send again for 3 times!
QQ: <<< [36375] send again for 4 times!
QQ: <<< [36375] send again for 5 times!
account: Disconnecting account 0x613c60
connection: Disconnecting connection 0x8dea70
QQ: 1 packets in sendqueue are freed!
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 0x8dea70
util: Writing file accounts.xml to directory
/home/xxx/.gaim


----------------------------------------------------------------------

Comment By: James Clark (sleepycat)
Date: 2007-02-23 21:57

Message:
Logged In: YES 
user_id=441339
Originator: NO

Hi Mark,

Just an update - I've finally managed to register a temporary QQ number.
After months of seeing the "fail" page, or not getting the captcha image at
all, I've finally got one!

I see if I can figure out Wireshark next.
BTW - when I do get round to emailing you, will the sourceforge one work?

----------------------------------------------------------------------

Comment By: Mark Huetsch (markhuetsch)
Date: 2007-01-15 05:35

Message:
Logged In: YES 
user_id=1529760
Originator: NO

If anyone is willing and capable, the best way to help me hunt down this
bug would be to create a dummy account and grab 2 or 3 packet dumps of the
login sequence with Wireshark. You could then email me the pcap files and
the dummy account password.

----------------------------------------------------------------------

Comment By: James Clark (sleepycat)
Date: 2007-01-14 20:44

Message:
Logged In: YES 
user_id=441339
Originator: NO

Hi, hope you can squash this bug. I've run into the same problem, but I've
tested on my two machines - it does appear to be a 64bit specific issue,
though I've no idea why.

My desktop: Debian testing/unstable AMD64, Gaim 2.0.0beta5 - can't log in
My laptop: Ubuntu dapper with debuntu.org repo, 32-bit, Gaim 2.0.0beta5 -
can log in, send messages, yay for gaim


Running gaim on the 64-bit desktop with --debug and UDP:
--------------------------------------------------------
util: Writing file accounts.xml to directory /home/james/.gaim
util: Writing file blist.xml to directory /home/james/.gaim
util: Writing file pounces.xml to directory /home/james/.gaim
util: Writing file accounts.xml to directory /home/james/.gaim
account: Connecting to account 584961063
connection: Connecting. gc = 0xaa9860
QQ: Choosing proxy type 0
dns: DNS query for 'sz6.tencent.com' queued
dns: Created new DNS child 11241, there are now 1 children.
dns: Successfully sent DNS request to child 11241
util: Writing file accounts.xml to directory /home/james/.gaim
dns: Got response for 'sz6.tencent.com'
dnsquery: IP resolved for sz6.tencent.com
QQ: Using UDP without proxy
QQ: Connected.
QQ: ==> [00847] QQ_CMD_REQUEST_LOGIN_TOKEN, from (QQ unknown version)
QQ: ack [00847] QQ_CMD_REQUEST_LOGIN_TOKEN, remove from sendqueue
QQ: <<< got a token with 24 bytes -> [default] decrypt and dump
0000:  11 76 AB ((etc. not sure if this is confidential information?))
0016:  09 F4 48 ((etc. not sure if this is confidential information?))
QQ: <<< [00848] send again for 1 times!
QQ: <<< [00848] send again for 2 times!
QQ: <<< [00848] send again for 3 times!
QQ: <<< [00848] send again for 4 times!
QQ: <<< [00848] send again for 5 times!
account: Disconnecting account 0x685cc0
connection: Disconnecting connection 0xaa9860
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 0xaa9860
util: Writing file accounts.xml to directory /home/james/.gaim



Running gaim on the 64-bit desktop with --debug and TCP: (same deal, I
think)
--------------------------------------------------------
util: Writing file accounts.xml to directory /home/james/.gaim
util: Writing file blist.xml to directory /home/james/.gaim
util: Writing file pounces.xml to directory /home/james/.gaim
util: Writing file prefs.xml to directory /home/james/.gaim
account: Connecting to account 584961063
util: Writing file accounts.xml to directory /home/james/.gaim
connection: Connecting. gc = 0xb02250
dns: DNS query for 'tcpconn2.tencent.com' queued
dns: Created new DNS child 11174, there are now 1 children.
dns: Successfully sent DNS request to child 11174
dns: Got response for 'tcpconn2.tencent.com'
dnsquery: IP resolved for tcpconn2.tencent.com
proxy: Attempting connection to 219.133.38.230
proxy: Connecting to tcpconn2.tencent.com:8000 with no proxy
proxy: Connection in progress
proxy: Connected.
util: Writing file accounts.xml to directory /home/james/.gaim
QQ: ==> [29499] QQ_CMD_REQUEST_LOGIN_TOKEN, from (QQ unknown version)
QQ: ack [29499] QQ_CMD_REQUEST_LOGIN_TOKEN, remove from sendqueue
QQ: <<< got a token with 24 bytes -> [default] decrypt and dump
0000:  69 A0 8F ((etc. not sure if this is confidential information?))
0016:  5F FA 47 ((etc. not sure if this is confidential information?))
QQ: <<< [29500] send again for 1 times!
QQ: <<< [29500] send again for 2 times!
prefs: /gaim/gtk/blist/x changed, scheduling save.
prefs: /gaim/gtk/blist/y changed, scheduling save.
QQ: <<< [29500] send again for 3 times!
util: Writing file prefs.xml to directory /home/james/.gaim
QQ: <<< [29500] send again for 4 times!
QQ: <<< [29500] send again for 5 times!
account: Disconnecting account 0x685b00
connection: Disconnecting connection 0xb02250
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 0xb02250
util: Writing file accounts.xml to directory /home/james/.gaim


Running gaim on the 32-bit laptop with --debug and UDP: (works!)
-------------------------------------------------------
util: Writing file accounts.xml to directory /home/james/.gaim

util: Writing file blist.xml to directory /home/james/.gaim

Session Management: Received first save_yourself

Session Management: Received save_complete

docklet: failed to embed within timeout

gtkblist: removed visibility manager: 0

docklet: embedded

gtkblist: added visibility manager: 1

account: Connecting to account 584961063

connection: Connecting. gc = 0x84f9710

QQ: Choosing proxy type 0

dns: DNS query for 'sz9.tencent.com' queued

util: Writing file accounts.xml to directory /home/james/.gaim

dns: Created new DNS child 7829, there are now 1 children.

dns: Successfully sent DNS request to child 7829

dns: Got response for 'sz9.tencent.com'

dnsquery: IP resolved for sz9.tencent.com

QQ: Using UDP without proxy

QQ: Connected.

QQ: ==> [23018] QQ_CMD_REQUEST_LOGIN_TOKEN, from (QQ unknown version)

QQ: ack [23018] QQ_CMD_REQUEST_LOGIN_TOKEN, remove from sendqueue

QQ: <<< got a token with 24 bytes -> [default] decrypt and dump

0000:  AD 67 EC ((etc. not sure if this is confidential information?))

0016:  E5 5F E2 ((etc. not sure if this is confidential information?))

QQ: ==> [23019] QQ_CMD_LOGIN, from (QQ unknown version)

QQ: ack [23019] QQ_CMD_LOGIN, remove from sendqueue

QQ: Decrypt login reply packet with inikey, 11 bytes

QQ: Redirected to new server: 219.133.48.75:8000

QQ: 0 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!

QQ: Choosing proxy type 0

dns: DNS query for '219.133.48.75' queued

dns: Created new DNS child 7834, there are now 1 children.

dns: Successfully sent DNS request to child 7834

dns: Got response for '219.133.48.75'

dnsquery: IP resolved for 219.133.48.75

QQ: Using UDP without proxy

QQ: Connected.

QQ: ==> [59456] QQ_CMD_REQUEST_LOGIN_TOKEN, from (QQ unknown version)

QQ: ack [59456] QQ_CMD_REQUEST_LOGIN_TOKEN, remove from sendqueue

QQ: <<< got a token with 24 bytes -> [default] decrypt and dump

0000:  B0 87 03 ((again, i'll just have to assume that this is
confidential information))
0016:  E0 D8 17 ((again, i'll just have to assume that this is
confidential information))

QQ: ==> [59457] QQ_CMD_LOGIN, from (QQ unknown version)

QQ: ack [59457] QQ_CMD_LOGIN, remove from sendqueue

QQ: Decrypt login reply packet with pwkey, 170 bytes

QQ: Get session_key done

connection: Activating keepalive.

QQ: We have no QQ Qun

QQ: <== [59458] QQ_CMD_GET_USER_INFO, 36 bytes

QQ: <== [59459] QQ_CMD_CHANGE_ONLINE_STATUS, 28 bytes

QQ: <== [59460] QQ_CMD_GET_FRIENDS_LIST, 28 bytes

QQ: <== [59461] QQ_CMD_GET_ALL_LIST_WITH_GROUP, 36 bytes

QQ: Login replys OK, everything is fine

QQ: ==> [59458] QQ_CMD_GET_USER_INFO, from (QQ unknown version)

QQ: ack [59458] QQ_CMD_GET_USER_INFO, remove from sendqueue

QQ: ==> [59459] QQ_CMD_CHANGE_ONLINE_STATUS, from (QQ unknown version)

QQ: ack [59459] QQ_CMD_CHANGE_ONLINE_STATUS, remove from sendqueue

QQ: Change status OK

g_log: qq_update_buddy_contact: assertion `q_bud != NULL' failed

QQ: ==> [59460] QQ_CMD_GET_FRIENDS_LIST, from (QQ unknown version)

QQ: ack [59460] QQ_CMD_GET_FRIENDS_LIST, remove from sendqueue

QQ: Get friends list done, 0 buddies

QQ: <== [59462] QQ_CMD_GET_FRIENDS_ONLINE, 28 bytes

QQ: ==> [59461] QQ_CMD_GET_ALL_LIST_WITH_GROUP, from (QQ unknown version)

QQ: ack [59461] QQ_CMD_GET_ALL_LIST_WITH_GROUP, remove from sendqueue

QQ: Get all list done, 0 buddies and 0 Quns

QQ: ==> [59462] QQ_CMD_GET_FRIENDS_ONLINE, from (QQ unknown version)

QQ: ack [59462] QQ_CMD_GET_FRIENDS_ONLINE, remove from sendqueue

QQ: processing get_buddies_online_reply

Get buddies online reply packet:  ff(255)

util: Writing file blist.xml to directory /home/james/.gaim

QQ: ==> [63296] QQ_CMD_RECV_IM, from (QQ Server 0100)

QQ: <== [63296] QQ_CMD_RECV_IM, 44 bytes

QQ: IM from [10000], [0x18] QQ_RECV_IM_UNKNOWN is not processed

QQ: ==> [21573] QQ_CMD_RECV_IM, from (QQ Server 0100)

QQ: <== [21573] QQ_CMD_RECV_IM, 44 bytes

QQ: IM from [10000], [0x4a] QQ_RECV_IM_UNKNOWN is not processed

QQ: <== [59463] QQ_CMD_KEEP_ALIVE, 28 bytes

QQ: ==> [59463] QQ_CMD_KEEP_ALIVE, from (QQ unknown version)


(and goes on to work fine)


In both cases I am behind a router, Gaim doesn't have any proxying
information about it. I use MSN, Yahoo, ICQ, and Jabber(google) without
problems.

----------------------------------------------------------------------

Comment By: Mark Huetsch (markhuetsch)
Date: 2006-12-19 04:41

Message:
Logged In: YES 
user_id=1529760
Originator: NO

I'm working on the proxy code right now, but help is always appreciated :)
Dig in anywhere you'd like. If you want something for analyzing QQ packets,
you can email me for a Wireshark plugin.


----------------------------------------------------------------------

Comment By: Guardroid (guardroid)
Date: 2006-12-19 01:32

Message:
Logged In: YES 
user_id=1628759
Originator: YES

Thanks Mark, does this QQ plugin have enough people to work on? I am not
familiar with the QQ protocol nor the gaim structure, but if you really
need manpower I think I may help a little bit.

----------------------------------------------------------------------

Comment By: Mark Huetsch (markhuetsch)
Date: 2006-12-17 17:13

Message:
Logged In: YES 
user_id=1529760
Originator: NO

Thanks guardroid,

If it's failing on both TCP and UDP, it sounds like a problem with the QQ
encryption algorithm, but I looked through that code and couldn't find any
improperly defined types. I also ran the crypto algorithm on both a 32-bit
and a 64-bit machine and got identical output. So I'm guessing it's the UDP
proxy code.

----------------------------------------------------------------------

Comment By: Guardroid (guardroid)
Date: 2006-12-13 17:01

Message:
Logged In: YES 
user_id=1628759
Originator: YES

Hi Mark, the problem is exactly the same with the current svn source
(build on debian).

----------------------------------------------------------------------

Comment By: Mark Huetsch (markhuetsch)
Date: 2006-12-09 20:36

Message:
Logged In: YES 
user_id=1529760
Originator: NO

Can someone confirm if the same problem occurs on both TCP and UDP with
the current svn source?

----------------------------------------------------------------------

Comment By: Guardroid (guardroid)
Date: 2006-11-13 17:11

Message:
Logged In: YES 
user_id=1628759

Hi joyfun, I think you should gdb the core then back trace.
Plz paste the results here.

----------------------------------------------------------------------

Comment By: joyfun (joyfun)
Date: 2006-11-10 17:24

Message:
Logged In: YES 
user_id=1641977

I think it still dont work in x86_64
I use yesterday(2006.11.8) svn source 
and the qq protocol still not work by default
when use tcp connection  the gaim crashed

___________________________________-
Gaim has segfaulted and attempted to dump a core file.
This is a bug in the software and has happened through
no fault of your own.

If you can reproduce the crash, please notify the gaim
developers by reporting a bug at
http://gaim.sourceforge.net/bug.php

Please make sure to specify what you were doing at the time
and post the backtrace from the core file.  If you do not know
how to get the backtrace, please read the instructions at
http://gaim.sourceforge.net/gdb.php

If you need further assistance, please IM either SeanEgn or 
LSchiere (via AIM).  Contact information for Sean and Luke 
on other protocols is at
http://gaim.sourceforge.net/contactinfo.php
Aborted
__________________________________________

----------------------------------------------------------------------

Comment By: Guardroid (guardroid)
Date: 2006-11-03 22:25

Message:
Logged In: YES 
user_id=1628759

Hi there, I think I've tried thinks before but it didn't
help. I'll try this later.

----------------------------------------------------------------------

Comment By: xu john (xu_john)
Date: 2006-10-31 20:47

Message:
Logged In: YES 
user_id=441976

I am also found it have such an problem, but when I switch
to using TCP protocol to connect server, the problem not exist.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=100235&aid=1583768&group_id=235

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Gaim-bugs mailing list
Gaim-bugs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gaim-bugs

Reply via email to