Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package belle-sip for openSUSE:Factory 
checked in at 2021-11-17 01:13:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/belle-sip (Old)
 and      /work/SRC/openSUSE:Factory/.belle-sip.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "belle-sip"

Wed Nov 17 01:13:29 2021 rev:21 rq:931476 version:5.0.49

Changes:
--------
--- /work/SRC/openSUSE:Factory/belle-sip/belle-sip.changes      2021-10-27 
22:21:27.579206471 +0200
+++ /work/SRC/openSUSE:Factory/.belle-sip.new.1890/belle-sip.changes    
2021-11-17 01:14:15.606172235 +0100
@@ -1,0 +2,13 @@
+Mon Nov  8 07:13:22 UTC 2021 - Giacomo Comes <gcomes....@gmail.com> - 5.0.49
+
+- Update to 5.0.49:
+  * no changes
+
+-------------------------------------------------------------------
+Tue Nov  2 23:12:21 UTC 2021 - Giacomo Comes <gcomes....@gmail.com> - 5.0.46
+
+- Update to 5.0.46:
+  * Fix possible REGISTER endless loop when 200 OK from REGISTER is
+    not received through the same connection as the REGISTER
+
+-------------------------------------------------------------------
@@ -4 +17 @@
-- Update to 5.0.36
+- Update to 5.0.36:

Old:
----
  belle-sip-5.0.36.tar.bz2

New:
----
  belle-sip-5.0.49.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ belle-sip.spec ++++++
--- /var/tmp/diff_new_pack.LmiMVz/_old  2021-11-17 01:14:16.150172439 +0100
+++ /var/tmp/diff_new_pack.LmiMVz/_new  2021-11-17 01:14:16.154172441 +0100
@@ -20,7 +20,7 @@
 %define soname  libbellesip
 %define sover   1
 Name:           belle-sip
-Version:        5.0.36
+Version:        5.0.49
 Release:        0
 Summary:        C object-oriented SIP Stack
 License:        GPL-2.0-or-later

++++++ belle-sip-5.0.36.tar.bz2 -> belle-sip-5.0.49.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/belle-sip-5.0.36/src/refresher.c 
new/belle-sip-5.0.49/src/refresher.c
--- old/belle-sip-5.0.36/src/refresher.c        2021-09-16 16:15:57.000000000 
+0200
+++ new/belle-sip-5.0.49/src/refresher.c        2021-10-28 17:25:53.000000000 
+0200
@@ -53,11 +53,13 @@
        int retry_after;
        belle_sip_list_t* auth_events;
        int auth_failures;
-       int on_io_error; /*flag to avoid multiple error notification*/
        int number_of_retry; /*counter to count number of unsuccesfull retry, 
used to know when to retry*/
        timer_purpose_t timer_purpose;
        unsigned char manual;
-    unsigned int publish_pending;
+       unsigned int publish_pending;
+       unsigned char on_io_error; /*flag to avoid multiple error notification*/
+       unsigned char contact_fixing; /* flag to indicate that we are submiting 
an updated REGISTER to fix contact after
+                       learning IP/port from previous response*/
 };
 static void set_or_update_dialog(belle_sip_refresher_t* refresher, 
belle_sip_dialog_t* dialog);
 static int set_expires_from_trans(belle_sip_refresher_t* refresher);
@@ -268,13 +270,20 @@
                if (refresher->state==started) {
                        if (!refresher->first_acknowledged_request)
                                
belle_sip_object_ref(refresher->first_acknowledged_request = request);
-                       if (is_contact_address_acurate(refresher,request)
+                       if (is_contact_address_acurate(refresher,request) 
                                || 
(!belle_sip_provider_nat_helper_enabled(client_transaction->base.provider) || 
(contact && belle_sip_parameters_has_parameter(BELLE_SIP_PARAMETERS(contact), 
"pub-gruu"))) ) { /*Disable nat helper in gruu case. Might not be the best fix, 
maybe better to make reflesh is not mandatory*/
                                schedule_timer(refresher); /*re-arm timer*/
                        } else {
-                               belle_sip_message("belle_sip_refresher_start(): 
refresher [%p] is resubmitting request because contact sent was not correct in 
original request.",refresher);
-                               
belle_sip_refresher_refresh(refresher,refresher->target_expires);
-                               return;
+                               if (!refresher->contact_fixing){
+                                       
belle_sip_message("belle_sip_refresher_start(): refresher [%p] is resubmitting 
request because contact sent was not correct in original request.",refresher);
+                                       
belle_sip_refresher_refresh(refresher,refresher->target_expires);
+                                       refresher->contact_fixing = TRUE;
+                                       return;
+                               }else{
+                                       belle_sip_message("refresher [%p]: 
unable to fix contact for NAT - asymmetric flow ?", refresher);
+                                       refresher->contact_fixing = FALSE; /* 
reset flag and re-arm timer for next refresh */
+                                       schedule_timer(refresher); /*re-arm 
timer*/
+                               }
                        }
                }
                else belle_sip_message("Refresher [%p] not scheduling next 
refresh, because it was stopped",refresher);

Reply via email to