osip-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: potential problem in _eXosip_find_last_invite ?


From: Aymeric Moizard
Subject: Re: potential problem in _eXosip_find_last_invite ?
Date: Wed, 25 Nov 2020 23:21:38 +0100

Hi Christoph,

Thanks for your report.

NOTE: The report is valid for both _eXosip_find_last_invite, _eXosip_find_previous_invite, _eXosip_find_last_transaction

All the following API are affected:

  eXosip_get_remote_sdp
  eXosip_get_previous_local_sdp
  eXosip_get_local_sdp

The above APIs are an optional way to retrieve old SDP. Depending on the way it's used
it may have impact or not in the final application.

The APIs are also used to check whether the "last" transaction is over or not when sending
a new INVITE or request. (eXosip_call_build_request and eXosip_call_send_request). This
check is thus potentially broken. But this is unlikely to happen in real life scenario where re-INVITE
are supposed to be coming in "flood"...

I will work on the issue asap... Not sure when..

Thanks again for the report.
Regards
Aymeric



Le mer. 25 nov. 2020 à 18:04, FEICHTER Christoph <Christoph.FEICHTER@frequentis.com> a écrit :

hi aymeric,

 

I have a questions regarding the function

_eXosip_find_last_invite (eXosip_call_t * jc, eXosip_dialog_t * jd)

 

the resolution of the birth_time is seconds.

Let’s assume, there are incoming and outgoing re-INVITE transactions.

I am wondering, what happens, if there are 2 re-INVITE transactions (1 in + 1 out) within the same second.

in that case, this function would always return the last outgoing INVITE transaction !

due to the following code-segment:

 

  if (inc_tr->birth_time > out_tr->birth_time)

    return inc_tr;

  return out_tr;

 

isn’t that a potential malfunction of eXosip ?

 

br,

christoph

 

 



--
Antisip - http://www.antisip.com

reply via email to

[Prev in Thread] Current Thread [Next in Thread]