]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
interim fix for SFSIP-55, don't segfault on subscribe with Expires: 0
authorMichael Jerris <mike@jerris.com>
Tue, 22 Apr 2008 21:26:50 +0000 (21:26 +0000)
committerMichael Jerris <mike@jerris.com>
Tue, 22 Apr 2008 21:26:50 +0000 (21:26 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8174 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/sofia-sip/.update
libs/sofia-sip/libsofia-sip-ua/nua/nua_notifier.c

index 96a532ffbe8b45d2f45940e2be72bbff92e1ba10..342627777404903fe90daaae38861bd93a7733ff 100644 (file)
@@ -1 +1 @@
-Mon Apr 21 18:30:34 EDT 2008
+Tue Apr 22 16:13:56 CDT 2008
index a2b7a405cb1519706f73d7f9c0ce35bf271c2c69..b23a2e3aff032b6ff547ae2db2f920b030cce61c 100644 (file)
@@ -351,8 +351,8 @@ int nua_subscribe_server_report(nua_server_request_t *sr, tagi_t const *tags)
 
   /* nu_requested is set by SUBSCRIBE and cleared when NOTIFY is sent */
   if (nu && nu->nu_requested && substate != nua_substate_embryonic) {
-#if SU_HAVE_EXPERIMENTAL
     sip_t const *sip = sr->sr_request.sip;
+#if SU_HAVE_EXPERIMENTAL
     sip_suppress_notify_if_match_t *snim = sip_suppress_notify_if_match(sip);
     sip_suppress_body_if_match_t *sbim = sip_suppress_body_if_match(sip);
     
@@ -364,7 +364,7 @@ int nua_subscribe_server_report(nua_server_request_t *sr, tagi_t const *tags)
       notify = 1, nu->nu_no_body = 1;
     else 
 #endif
-      notify = 1;
+               if (sip->sip_expires && sip->sip_expires->ex_delta) notify = 1;
   }
 
   retval = nua_base_server_treport(sr, NUTAG_SUBSTATE(substate), TAG_END());