[Bug 23703] New: Race between tube SI and capabilities
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Fri Sep 4 13:24:46 CEST 2009
http://bugs.freedesktop.org/show_bug.cgi?id=23703
Summary: Race between tube SI and capabilities
Product: Telepathy
Version: unspecified
Platform: Other
OS/Version: All
Status: NEW
Severity: normal
Priority: medium
Component: telepathy-gabble
AssignedTo: telepathy-bugs at lists.freedesktop.org
ReportedBy: alban.crequy at collabora.co.uk
I think George's problems on Gabble tubes are this race: scenario: contact1
offers a tube to contact2:
- contact2 connects
- contact2 ask contact1's caps
- contact1 receives contact2's presence
- contact1 offer a tube to contact2
- contact2 accept the tube
- local application on contact2 computer connects on the tube
- contact2 still didn't received caps from contact1
- contact2 is looking for the right resource on contact1 to send
bytestream initiation, which is the resource which has the tube capabilities
(maybe it should just be the resource which offered the tube)
- contact2 is confused: no tube capabilities on contact1's resources
- contact2 closes the tube
- contact2 receives contact1's caps, eventually
This is in src/tube-stream.c start_stream_initiation() line 514.
Possible solution:
1. either delay accepting the tube when we don't have the caps from the offerer
(weird solution to me)
2. or remember the resource which offered the tube and send SI to that resource
The second solution looks better to me because even if the caps are received
instantly everywhere, I think the tube code is wrong: we should not send the SI
to *any* resource which has the right caps but to the resource which offer the
tube. If contact1 has several gabble running on different computers with
different resources (all with the tube caps), it will randomly work/don't work
with the current implementation, depending which resource it chooses.
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the telepathy-bugs
mailing list