[Pidgin] #13223: Blocking of ICQ contacts is impossible
Pidgin
trac at pidgin.im
Thu Jan 20 07:22:32 EST 2011
#13223: Blocking of ICQ contacts is impossible
---------------------+------------------------------------------------------
Reporter: notgary | Owner: MarkDoliner
Type: defect | Status: new
Milestone: | Component: ICQ
Version: 2.7.3 | Resolution:
Keywords: |
---------------------+------------------------------------------------------
Comment(by dustin):
That's a duplicate to tickets #9034, #9111, #12549, #12933, IMHO.
I spent some time trying to figure out what is happening there, see
[http://pidgin.im/pipermail/devel/2010-October/009890.html],
[http://pidgin.im/pipermail/devel/2010-October/009890.html] and follow-
ups.
On some accounts, there are SSI entries -- i.e. (bid, gid) pairs -- stored
on the server that will not be transmitted to pidgin/libpurple.
When pidgin tries to use the same (bid, gid), it gets the "item already
exists" error as reply.
I originally suggested deleting those broken/phantom entries from the
server, but now I think this wouldn't be such a good idea:
1. libpurple would have to keep track of the (bid, gid), because the error
message does not contain this information.
2. I recently observed those broken entries sometimes come back after
changing the user info (using pidgin), so there might actually be some
real information behind them.
(Also sipulka reported similar behaviour after changing the profile
through the web interface
[http://developer.pidgin.im/ticket/9034#comment:22].)
Although there's a possibility that pidgin contributes to those errors
(e.g. by sending incomplete data), it's basically (very likely) a bug of
the server.
Therefore I suggest a simple cover-up:
The bid count could as well start at 0x0030 instead of 0x0000 (patch as
attachment).
On login, the server announces ssi rights for entry types 0x0000 to
0x002e.
I guess this can be taken as an indication of how many entries the server
possibly may want to occupy, and we can safely start above this number.
Besides, this wouldn't be much different from leaving out occupied group
IDs, which is already done because of the same bug.
In case this does not work, one could still look for a more serious fix
for the problem.
NB:
Other clients do not have this problem, but that's because they pick
random bid numbers, instead of ascending numbers as libpurple does.
This makes bid collisions very unlikely.
--
Ticket URL: <http://developer.pidgin.im/ticket/13223#comment:1>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list