Sending a buddy request in ICQ fails when using libpurple

michaelcbrook at msn.com michaelcbrook at msn.com
Wed Aug 5 09:22:32 EDT 2009


Ok, since there's been no replies, I'll elaborate a little...

I made a program using libpurple, and one of its features is the ability
to send buddy requests to certain users in a database.  It runs strictly
on the command line.  (And no..it is not a spam bot or any stupid thing
like that).

Now for the problem: Whenever I send a buddy request from my program to
another ICQ account, the buddy request is never received on the other
side.  In my program, I send the buddy request by calling
purple_account_add_buddy().  Also as another note, when I close my
program (signing the ICQ account off) and run it again, the buddy I just
tried to add disappears, so it's not staying on the server-side buddy
list.

Since pidgin can add ICQ buddies successfully but my program can't (for
some reason??), I tested out the difference between the debug logs when
adding a buddy in pidgin and adding a buddy in my program (the buddy is
logged in on a standard Windows ICQ client):

*Adding buddy in pidgin:

(05:50:07) oscar: ssi: adding buddy 401787217 to group Buddies
(05:50:07) oscar: Requesting ICQ alias for 401787217(05:50:07) oscar:
icq response: 60 bytes, 579746952, 0x07da, 0x0024
(05:50:07) oscar: ssi: status is 0x000e for a 0x0008 action with name no
item
(05:50:07) oscar: ssi: status is 0x0000 for a 0x0009 action with name
Buddies
(05:50:09) oscar: ssi: adding buddy 401787217 to group Buddies
(05:50:11) oscar: ssi: status is 0x0000 for a 0x0008 action with name
401787217

The buddy request was received and accepted:

(05:50:55) oscar: ssi: received authorization reply from 401787217.
Reply is 0x0001
(05:50:55) oscar: unknown capability:
{0138ca7b-769a-4915-88f2-13fc00979ea8}
(05:50:55) oscar: unknown capability:
{67361515-612d-4c07-8f3d-bde6408ea041}
(05:50:55) oscar: unknown capability:
{1a093c6c-d7fd-4ec5-9d51-a6474e34f5a0}
(05:50:55) oscar: unknown capability:
{b2ec8f16-7c6f-451b-bd79-dc58497888b9}
(05:50:55) oscar: unknown capability:
{178c2d9b-daa5-45bb-8ddb-f3bdbd53a10a}
(05:50:55) blist: Updating buddy status for 401787217 (ICQ)
(05:50:55) nautilus: saved blist online

*Adding buddy in libpurple with purple_account_add_buddy():

(05:54:07) oscar: ssi: adding buddy 401787217 to group Buddies
(05:54:07) oscar: Requesting ICQ alias for 401787217
(05:54:07) oscar: rate change (param ID 0x0001): curavg = 4668, maxavg =
6000, alert at 2000, clear warning at 2500, limit at 1500, disconnect at
800 (window size = 80)
(05:54:07) oscar: ssi: status is 0x000e for a 0x0008 action with name no
item
(05:54:07) oscar: icq response: 60 bytes, 579746952, 0x07da, 0x0028
(05:54:07) oscar: ssi: status is 0x0000 for a 0x0009 action with name
Buddies
(05:54:09) util: Writing file accounts.xml to directory /dev/null
(05:54:09) util: Error creating directory /dev/null: File exists
(05:54:12) util: Writing file blist.xml to directory /dev/null
(05:54:12) util: Error creating directory /dev/null: File exists

The buddy request was never received on the other end...

I know the natural assumption is "your program is broken" but I can
confirm that it works with 3 out of 4 protocols...It works with AIM,
Yahoo, and MSN, but fails with ICQ, and it still fails even in the
simplest program.  I am really stumped and would greatly appreciate any
help...this problem is delaying the launch of a website I'm creating.

Thank you!
-Michael




More information about the Support mailing list