[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