[Bug 23684] Gabble advertizes an avatar's sha1 in its presence stanza without following XEP-0153
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Thu Oct 8 17:30:56 CEST 2009
http://bugs.freedesktop.org/show_bug.cgi?id=23684
--- Comment #12 from Will Thompson <will.thompson at collabora.co.uk> 2009-10-08 08:30:55 PST ---
+ sync_stream(q, stream) # Twice because the vCard request is done in
+ sync_stream(q, stream) # g_idle_add
Does this actually reliably give the idle a chance to run?
6f705c81fc7cec means that we leak presence->avatar_sha1 when doing
conflict resolution: self_avatar_resolve_conflict() sets it to NULL
without freeing it. Either it should free it, or not set it to NULL.
+ DEBUG ("Avatar conflict! Received hash '%s' and our cache is '%s'",
+ sha1, presence->avatar_sha1 == NULL ? "<NULL>" :
presence->avatar_sha1);
Style: The second line is too long
+ # if the server don't reply after the timeout and there is pending
+ # requests, Gabble must handle that correctly and not crash.
+ contacts = ['random_user_%s at bigserver.com' % i for i in range(1, 100) ]
+ handles = [conn.RequestHandles(1, [contact])[0] for contact in contacts]
+ conn.Avatars.RequestAvatars(handles)
+ try:
+ conn.Avatars.RequestAvatar(handles[-1])
+ except dbus.DBusException, e:
+ assertEquals(cs.NOT_AVAILABLE, e.get_dbus_name())
+ else:
+ assert False
I know how this works, but we should document what this is actually
doing. Something like:
# First, ensure the pipeline is full...
...
# Then, request yet another avatar. The request will time out before
# the IQ is sent, which used to trigger a crash in Gabble
# (LP#445847). So, we assert that the error is NotAvailable (rather
# than the error returned when the service crashes).
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the telepathy-bugs
mailing list