[Pidgin] #3778: SIMPLE subscription dialog fix
Pidgin
trac at pidgin.im
Tue Oct 30 09:35:07 EDT 2007
#3778: SIMPLE subscription dialog fix
---------------------+------------------------------------------------------
Reporter: hawkinsw | Owner: seanegan
Type: patch | Status: new
Priority: minor | Component: SIMPLE
Version: 2.2.2 | Keywords: publish, subscribe, dialog
Pending: 0 |
---------------------+------------------------------------------------------
According to the SIP presence standards, all subscribe/notify messaging
should occur within a dialog. If this dialog is not preserved,
resubscription to the presence of a user will not work correctly. This
patch modifies simple.c/h to adhere to this model.
It introduces a sip_dialog structure into the simple_buddy structure to
keep track of the dialog for a subscription to each buddy. If the
subscription times out, this dialog is cleared. Before signing-off, each
subscription is cleared and the dialog is destroyed. Additionally, any
notify messages that refer to a non-existent dialog are ignored.
This patch modifies process_incoming_notify, simple_subscribe, and
simple_close. This patch also adds a function named dialog_match that will
determine if a message's dialog parameters match the parameters from a
particular sip_dialog structure.
Additionally, this patch fixes a bug where a client's presence information
is not republished on a timely basis. The fixes for this bug are located
in the subscribe_timeout and send_open_publish.
Please let me know if you see anything that needs to be changed in this
patch. It has been tested and *seems* to fix all the problems describe
above without causing new ones. I am willing to make any changes as
necessary.
Thanks!
Will
--
Ticket URL: <http://developer.pidgin.im/ticket/3778>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list