Ticket #576 (new defect)

Opened 3 years ago

Last modified 3 months ago

ICQ: moving buddies from one group to another forces authorization request

Reported by: blueser Owned by: MarkDoliner
Milestone: Component: ICQ
Version: 2.0 Keywords:
Cc: jankratochvil

Description

I am using 2.0.0beta6 on FC6, and moving ICQ buddies around between groups (by dragging them) forces authentication request to be sent again, unnecessarily (user had already authorized me).

Change History

  Changed 3 years ago by lschiere

  • owner set to MarkDoliner

  Changed 3 years ago by metalzelot

I can confirm this with Pidgin 2.0.0 on Linux from scratch. In the closed duplicate ticket of this one 584 are also some more people who confirmed this problem.

  Changed 3 years ago by blueser

Another (possibly related) issue with moving ICQ buddies around is that, even when authorization is not re-requested, pidgin shows an error dialog saying something like "buddy cannot be moved, probably because you have reached maximum users limit" (can't recall the exact message right now), when the number of users is low (30-50). Despite the error message, the buddy is indeed moved.

  Changed 3 years ago by phoboid

I can confirm this issue on Arch Linux with Pidgin 2.0.0 (happened with beta7 as well). There wouldn't be another way to move a buddy to a different group apart from dragging, would there?

  Changed 3 years ago by anthonybsd

Did anyone notice that this action actually results in buddies being removed from contact list on the server? I've erased half of my contacts this way the other day.

  Changed 3 years ago by blueser

Wow... haven't noticed that. This bug is worse than I thought, then. IMHO it deserves a priority higher than "minor".

  Changed 3 years ago by MarkDoliner

For the record it only removes them if you select "cancel" and don't re-request authorization.

  Changed 3 years ago by anthonybsd

I'm sorry, but how is this still a "minor" bug? With the amount of downloads/publicity that pidgin is getting, don't you think that people are going to be a little concerned with ICQ contacts being wiped out by a single unfortunate implementation detail?

  Changed 3 years ago by MarkDoliner

  • priority changed from minor to major

You're right, this should be considered major. I've spent maybe 5 hours on this and I'm still not sure what we're doing differently from the official ICQ clients. If anyone else wants to take a stab at it feel free.

  Changed 3 years ago by anthonybsd

Mark, if I may make a suggestion that might help with debugging - and please take this as no criticism of Pidgin in any way (I still love the project).

Miranda (another open source IM project) has very extensive ICQ functionality. They even allow doing things like viewing/editing Contact List on the ICQ server. Perhaps looking at how they enable this functionality might help shedding some light on this.

  Changed 3 years ago by lschiere

  • milestone set to 2.0.3

  Changed 3 years ago by reh

Spent some time on finding the cause of this bug but unfortunately didn't have any luck. But what I can say now is that Miranda, GnomeICU, Licq, Kopete and ICQ2Go are also defective. The only client I found doing it right was ICQ 5.1. Though I imitated its behavior, the server still requests authorization.

ICQ 5.1 sends two frames in one packet, one with SNAC(13,0a) (delete) and one with SNAC(13,08) (add). Don't know if this is important or not. I have added the capability to send two frames at once in pidgin, but, as I said before, it didn't change anything.

follow-up: ↓ 14   Changed 3 years ago by reh

Got it! I have already submitted an appropriate patch (for more information see Ticket #1361).

in reply to: ↑ 13   Changed 3 years ago by blueser

Replying to reh:

Got it! I have already submitted an appropriate patch (for more information see Ticket #1361).

This is great news! =) Nice work...

Regards,

Andre

  Changed 3 years ago by MarkDoliner

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

This should be fixed in the repository now, and it'll be fixed in the next release of Pidgin (thanks to reh's patch!)

  Changed 3 years ago by seanegan

  • milestone changed from 2.0.3 to 2.1.0

Milestone 2.0.3 deleted

  Changed 3 years ago by schoen

There is still one situation left, in which moving a buddy from one group to another causes them to be deleted from the server.

Steps to reproduce: 1. Combine two or more ICQ buddies into a contact. 2. Move the contact into another group. 3. You will get a popup for at least one buddy telling you that “the buddy could not be added due to an unknown reason”.

  Changed 3 years ago by j123b567

version 2.1.1

One ICQ buddy per contact, try to move it to another group cause authorization request 'again.

Some 2.0.x version works fine, but this 2.1.1 has the same old problem.

  Changed 3 years ago by MarkDoliner

schoen: Good catch. I think I've just fixed that in our repository, and it should be fixed in 2.2.0 which I think is supposed to be released early next week.

j123b567: I couldn't reproduce that. It's possible it is the same problem as schoen. Please try again with 2.2.0 once it's released.

  Changed 3 years ago by markdoliner@…

(In [515d73a2cdb42ebf5b02f80c3ccc13bbef013989]) When doing oscar server-side list management, do deletions before additions because if it's done the other way then it's possible for Pidgin to try to add one buddy to two different groups, which isn't allowed for ICQ. Fixes schoen's comment at http://developer.pidgin.im/ticket/576

References #576.

follow-up: ↓ 24   Changed 3 years ago by Garland

I am using Pidgin 2.2.1 on Windows and the problem still exists there.

  Changed 3 years ago by MarkDoliner

  • status changed from closed to reopened
  • resolution fixed deleted

  Changed 3 years ago by MarkDoliner

  • component changed from pidgin (gtk) to ICQ

in reply to: ↑ 21   Changed 3 years ago by sid77

Replying to Garland:

I am using Pidgin 2.2.1 on Windows and the problem still exists there.

I can report the behavior also on Pidgin 2.2.1 on ubuntu ( http://packages.ubuntu.com/gutsy/net/pidgin ) Well, in my case I've also lost every icq contacts :-/ I'm going to investigate further :)

  Changed 3 years ago by lexa2

Same problem sometimes occur when using Windows Pidgin 2.3.1. Looks like it is interconnected with an encoding-related problems with international group names. Problem shows up itself when using non-english groups and ICQ account encoding is set to anything except UTF-8. Works fine (i.e. there are no authorization re-requests) when encoding is set to UTF-8. Possible cause may be that pidgin tries to move a contact to a group, which is inexistent from the servers point of view.

  Changed 3 years ago by rain

Pidgin 2.4.0 here, and the problem persists. My ICQ encoding is set as UTF-8, however, almost none of my contacts, and none of my groups have non-ascii characters in their names.

With some contacts, moving them from one group to another causes authorization re-request. After being authorized the first time, subsequent moves between groups work perfectly. Some contacts simply require re-authorization every time they are moved between groups.

It's pretty confusing, it might be interesting to check if other open clients have similar issues and how did they deal with them. Maybe it's just some undocumented protocol update...

  Changed 2 years ago by MarkDoliner

  • status changed from reopened to closed
  • resolution set to fixed
  • milestone changed from 2.1.0 to 2.4.1

I think this is fixed the problems related to encodings in ff681557cdc4d70719004cd04f9f7a68f6f33b3f, which will be in 2.4.1 when it's released. If you still have problems in that release please file a new ticket with the specifics, and please include the output from the Debug Window when moving the group.

  Changed 2 years ago by driedfruit

I'm using 2.4.1 and I still have the problem.

I'd open another ticket but it would scream duplicate! However I will if you think that's appropriate.

Pressing cancel on re-authorization wipes the contact completly :(

(03:15:01) dbus: Need to register an object with the dbus subsystem. (If you are not a developer, please ignore this message.)
(03:15:01) dbus: The signal "drawing-tooltip" caused some dbus error. (If you are not a developer, please ignore this message.)
(03:15:05) oscar: ssi: moving buddy 464018652 from group Buddies to group Individuals
(03:15:05) oscar: ssi: SNAC error 1
(03:15:05) oscar: ssi: activating server-stored buddy list
(03:15:05) oscar: ssi: status is 0x0000 for a 0x000a action with name no item
(03:15:05) blist: Updating buddy status for 464018652 (ICQ)
(03:15:05) oscar: unknown short capability: {134c}
(03:15:05) oscar: unknown capability: {563fc809-0b6f-41bd-9f79-422609dfa2f3}
(03:15:05) oscar: unknown capability: {1a093c6c-d7fd-4ec5-9d51-a6474e34f5a0}
(03:15:05) oscar: unknown capability: {4d697261-6e64-614d-0007-030000030a06}
(03:15:05) blist: Updating buddy status for 106518146 (ICQ)
(03:15:05) oscar: aim_icq_getstatusnote: requesting status note for 106518146.
(03:15:06) blist: Updating buddy status for 464018652 (ICQ)
(03:15:06) oscar: ssi: status is 0x000e for a 0x0008 action with name no item
(03:15:06) oscar: unknown capability: {563fc809-0b6f-41bd-9f79-422609dfa2f3}
(03:15:06) oscar: unknown capability: {1a093c6c-d7fd-4ec5-9d51-a6474e34f5a0}
(03:15:06) oscar: unknown capability: {0946134c-4c7f-11d1-8222-444553540000}
(03:15:06) oscar: unknown capability: {4d697261-6e64-614d-0007-030000030a06}
(03:15:06) blist: Updating buddy status for 106518146 (ICQ)
(03:15:06) oscar: icq response: 578 bytes, 464018652, 0x07da, 0x002a
(03:15:06) blist: Updating buddy status for 106518146 (ICQ)
(03:15:06) oscar: ssi: status is 0x0000 for a 0x0009 action with name Individuals
(03:15:06) blist: Updating buddy status for 464018652 (ICQ)
(03:15:10) jabber: Sending (ssl): <iq type='get' id='purpled786691'><ping xmlns='urn:xmpp:ping'/></iq>
(03:15:10) util: Writing file blist.xml to directory /home/driedfruit/.purple
(03:15:10) util: Writing file /home/driedfruit/.purple/blist.xml
(03:15:10) jabber: Recv (ssl)(241): <iq from='driedfruit@mindloop.net' to='driedfruit@mindloop.net/Gaim' type='error' id='purpled786691'><ping xmlns='urn:xmpp:ping'/><error code='503' type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
(03:15:16) oscar: Empty encoding, assuming UTF-8
(03:15:16) blist: Updating buddy status for 25548472 (ICQ)

  Changed 2 years ago by Stevie

yep, i can confirm this. this issue is still preset. using mandriva and pidgin 2.4.2.

  Changed 19 months ago by rekkanoryo

  • status changed from closed to new
  • resolution fixed deleted

  Changed 19 months ago by rekkanoryo

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

  Changed 19 months ago by rekkanoryo

  • milestone 2.4.1 deleted

This issue is clearly not fixed. I'll be closing others as duplicates of this.

  Changed 19 months ago by rekkanoryo

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

  Changed 19 months ago by suncho

Still occurs in 2.5.4.

  Changed 17 months ago by datallah

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

  Changed 10 months ago by orie

Still occurs in 2.6.3, but only for some contact.

Here is the debug log, which shows how I moved the contact and received authorization confirmation.

(13:25:58) oscar: ssi: moving buddy 198313566 from group current to group rare (13:25:58) oscar: ssi: status is 0x0000 for a 0x000a action with name no item (13:25:58) oscar: ssi: status is 0x000e for a 0x0008 action with name no item (13:25:59) oscar: ssi: status is 0x0000 for a 0x0009 action with name rare (13:25:59) oscar: ssi: status is 0x0000 for a 0x0009 action with name current (13:26:02) oscar: ssi: adding buddy 198313566 to group rare (13:26:02) oscar: ssi: status is 0x0000 for a 0x0008 action with name 198313566 (13:26:24) oscar: ssi: received authorization reply from 198313566. Reply is 0x0001 (13:26:24) oscar: unknown capability: {7c737502-c3be-4f3e-a69f-015313431e1a} (13:26:24) oscar: unknown capability: {1a093c6c-d7fd-4ec5-9d51-a6474e34f5a0} (13:26:24) oscar: unknown capability: {7c533ffa-6800-4f21-bcfb-c7d2439aad31} (13:26:24) oscar: unknown capability: {8c543dfc-6902-4d25-bffa-c0d3419caf30} (13:26:24) oscar: unknown capability: {e601e41c-3373-4bd1-bc06-811d6c323d81} (13:26:24) oscar: unknown short capability: {134c} (13:26:24) oscar: Empty encoding, assuming UTF-8 (13:26:24) blist: Updating buddy status for 198313566 (ICQ)

  Changed 6 months ago by dreamcore

Still occurring. So after initial adds, I don't edit groups...

Adium 1.4b17

  Changed 6 months ago by rekkanoryo

Adium is different in that it doesn't truly move buddies. Instead, it adds the buddy to the new group, then deletes the buddy from the old group, instead of calling the functions in libpurple for moving buddies from one group to another. An issue moving an ICQ buddy in Adium is not a libpurple problem.

  Changed 3 months ago by birdblah

Just happened to me with 2.6.6. It seems that buddies that were online during the operation weren't affected. No debug log, sorry.

Do I now really have to send re-auth requests to all buddies or can this be undone somehow?

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!