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);