Opened 11 years ago

Closed 10 years ago

#6235 closed defect (fixed)

regression: libpurple doesn't publish ICQ available messages and buddy icons since 2.4.3

Reported by: Commifreak Owned by: MarkDoliner
Milestone: 2.5.5 Component: ICQ
Version: 2.5.0 Keywords:
Cc: Robby, dagsoftware

Description

hey.

I saw, that pidgin doesnt send a status message anymore since 2.4.3.

I have myself in my contact list, and i used the status message "test" but my status message at myself´s account are blank.

Cann somebody conform this? (myselfs account is on icq)

Change History (26)

comment:1 Changed 11 years ago by Sim-on

  • Component changed from unclassified to ICQ
  • Owner changed from lschiere to MarkDoliner
  • Summary changed from No status msg send since 2.4.3 to libpurple doesn't publish ICQ available messages since 2.4.3

I can confirm this for ICQ-available-messages.

comment:2 Changed 11 years ago by mshancock

I think this is a related problem, so I didn't submit as a new bug: I also cannot change my ICQ buddy icon since 2.4.3. I too am testing by having myself in my contact list. Can someone also confirm this?

comment:3 Changed 11 years ago by Sim-on

  • Summary changed from libpurple doesn't publish ICQ available messages since 2.4.3 to libpurple doesn't publish ICQ available messages and buddy icons since 2.4.3

confirmed

comment:4 Changed 11 years ago by Sim-on

  • Version changed from 2.4.2 to 2.4.3

comment:5 in reply to: ↑ description Changed 11 years ago by Herbstmoosmutzel

Replying to Commifreak:

I can confirm this for changing the buddy icon.

comment:6 follow-up: Changed 11 years ago by Commifreak

yeah, i cant change the statusin Available mode, and also the buddy icon.

comment:7 in reply to: ↑ 6 Changed 11 years ago by Commifreak

Replying to Commifreak:

yeah, i cant change the statusin Available mode, and also the buddy icon.

is this only because some changes of the icq protocol? or has someone plugged-in an bug in pidgfin X-D

comment:8 Changed 11 years ago by Dimmuxx

cc

comment:9 Changed 11 years ago by Robby

cc

comment:10 Changed 11 years ago by BDKMPSS

Same bug here (even in 2.5.0)

comment:11 Changed 11 years ago by Sim-on

  • Version changed from 2.4.3 to 2.5.0

comment:12 Changed 11 years ago by BDKMPSS

Any chance to get assigned to any milestone (like 2.5.2 or 3.0.0) at all to get more attention or is something in progress?

(I should formulate this a bit nicer, but I couldn't think of anything... sry)

This bug is a bit annoying, as Pidgin 2.5.0+ is capable of anything (other than that) what I need and I applause you for that.

comment:13 Changed 11 years ago by Sim-on

  • Summary changed from libpurple doesn't publish ICQ available messages and buddy icons since 2.4.3 to regression: libpurple doesn't publish ICQ available messages and buddy icons since 2.4.3

We've created a wiki-page to sum up some things: ICQStatusMessagesProgress

comment:14 Changed 11 years ago by Sim-on

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

comment:15 follow-up: Changed 11 years ago by rstar2

In fact the buddy icon and status message are stored in the ICQ server, but the the server just do not notify the other contacts about the change. The server just sends very minimal information about our online state to the other contacts (sending the SNAC(03,0B)). I think it is because of the way it recognizes the client while logging in - it is connected to the clientID sent while logging in. Hope this helps.

comment:16 in reply to: ↑ 15 Changed 11 years ago by h3llfire

Replying to rstar2:

In fact the buddy icon and status message are stored in the ICQ server, but the the server just do not notify the other contacts about the change. The server just sends very minimal information about our online state to the other contacts (sending the SNAC(03,0B)).

You are right, I'm developing my own client and I have the same Problem. The ICQ-Server don't append the TLV "TLV.Type(0x1D) - user icon id & hash" to your online notification SNAC(03,0B) for other users. (Documentation about the tlv and snac can be found here: http://iserverd1.khstu.ru/oscar/snac_03_0b.html)

I think it is because of the way it recognizes the client while logging in - it is connected to the clientID sent while logging in. Hope this helps.

I'm using the clientID of ICQ 6 to login and the bug still exsists. My login package are idendical to the ones from icq 6. Miranda IM is not affacted by the bug, maybe we shoud take a look on its oscar protocol implementation.

comment:17 in reply to: ↑ description Changed 11 years ago by h3llfire

so I fixed the bug. The Problem is that logging in with ICQ 6 as Client ID doesn't work, but logging in with ICQ Basic Build 0x0c18 is working.

With my fix libpurble publish ICQ available messages and buddy icons: Add to Oscar.h:287:

#define CLIENTINFO_ICQBASIC { \
	"ICQBasic", \
	0x010a, \
	0x0014, 0x0034, \
	0x0000, 0x0c18, \
	0x0000043d, \
	"us", "en", \
}

and change oscar.c:1820 to:

ClientInfo icqinfo = CLIENTINFO_ICQBASIC;

I don't know how to write a patch, but maybe sombody else can do it.

comment:18 follow-up: Changed 11 years ago by rekkanoryo

Do we really need to change our client ID, or do we just need to fix our code up to properly imitate ICQ 6?

comment:19 Changed 11 years ago by Sim-on

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

comment:20 Changed 11 years ago by issen1

Still not fixed/patched in latest release (2.5.2). Same with most of all mentioned here: http://developer.pidgin.im/wiki/ICQStatusMessagesProgress

I'd like to see this worked on, because it's really annoying sometimes, if you can't read that message, etc. Latest ICQ release is 6.5.

comment:21 follow-up: Changed 11 years ago by Hanky

the code from h3llfire is working for me:

-the buddypicture is send
-the statusmessage is send properly and changes on the other side immediately

You can download and test the .dll files from: http://forum.pidgin-im.de/index.php?topic=581.msg3071#msg3071

(I didn't compile them!)

comment:22 Changed 11 years ago by issen1

Danke Hanky, werds mal probieren. I'm gonna try them out.

comment:23 in reply to: ↑ 18 Changed 11 years ago by h3llfire

Replying to rekkanoryo:

Do we really need to change our client ID, or do we just need to fix our code up to properly imitate ICQ 6?

It is the only thing that worked for me. I'm developing an ICQ-Client too and I send exactly the same Packages like ICQ6. If I change the Client ID to something else I have the same bug like described here.

I don't see a problem by using this id. It is only for the ICQ Server to excapt the client and to guess its features. Miranda has used this client id for a long time and has had no problems.

comment:24 in reply to: ↑ 21 Changed 10 years ago by Steltie

Replying to Hanky:

You can download and test the .dll files from: http://forum.pidgin-im.de/index.php?topic=581.msg3071#msg3071

Works for me! (with 2.5.2 at least)

comment:25 Changed 10 years ago by SK8T

adium is also affected in version 1.3.2 -- hope to see a fix soon =)

comment:26 Changed 10 years ago by rekkanoryo@…

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

(In 3224dd8677b28d02b866cce510941fbf67e0fcb7):
Change our ICQ client ID such that we identify ourselves to the ICQ servers as ICQ Basic 14.34.3096. This is the same client ID a number of other third-party clients are using with no issues. I have also added a new definition for this ICQ Basic version and changed the CLIENTINFO_ICQ_KNOWNGOOD defiinition to reflect this. Effects of this change are that available messages and buddy icons are now published correctly and visible to other clients. Fixes #6235. Thanks to Dimmuxx and h3llfire for pointing this out.

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!