[asterisk-dev] [Code Review] 3381: res_pjsip: Fix contact authenticate_qualify endpoint lookup when qualifing a contact.
rmudgett
reviewboard at asterisk.org
Mon Mar 24 11:46:47 CDT 2014
> On March 24, 2014, 11:32 a.m., Kevin Harwell wrote:
> > /branches/12/res/res_pjsip.c, lines 1872-1876
> > <https://reviewboard.asterisk.org/r/3381/diff/2/?file=56314#file56314line1872>
> >
> > Just to make sure did you check every call to this to make sure it wasn't being decremented by the caller?
I did check and I just checked it again.
This is only called by one place: ast_sip_send_request().
The callers of ast_sip_send_request() do not release tdata. Several don't even check if there was an error return. Also the pjsip stack is expecting the tdata ref to be passed to it rather than the caller still owning the ref. Since this is an error condition before passing tdata to the pjsip stack this routine must release the tdata ref. Otherwise the routine would be inconsistent in who should release the ref.
- rmudgett
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3381/#review11350
-----------------------------------------------------------
On March 21, 2014, 8:16 p.m., rmudgett wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3381/
> -----------------------------------------------------------
>
> (Updated March 21, 2014, 8:16 p.m.)
>
>
> Review request for Asterisk Developers.
>
>
> Bugs: ASTERISK-23254
> https://issues.asterisk.org/jira/browse/ASTERISK-23254
>
>
> Repository: Asterisk
>
>
> Description
> -------
>
> * Fixed bad use of ao2_find() in on_endpoint().
>
> * Replaced use of find_endpoints() with find_an_endpoint() since only the first found endpoint is ever needed.
>
> * Fixed qualify_contact_cb() to update the contact with the aor authenticate_qualify setting. Otherwise, permanent contacts in the aor type sections would have a config line order dependancy.
>
> * Fixed off nominal path contact ref leak in qualify_contact(). The comment saying the unref is not needed was wrong.
>
> * Fixed off nominal path use of the endpoint parameter if it is NULL in send_out_of_dialog_request().
>
> * Added missing off nominal path unref of pjsip tdata in send_out_of_dialog_request().
>
> * Fixed off nominal path failing to call the callback in send_request_cb() when the request is challenged for authentication.
>
> * Eliminated silly RAII_VAR() use in qualify_contact_cb().
>
> * Updated ast_sip_send_request() doxygen to better reflect reality.
>
>
> Diffs
> -----
>
> /branches/12/res/res_pjsip/pjsip_options.c 411010
> /branches/12/res/res_pjsip.c 411010
> /branches/12/include/asterisk/res_pjsip.h 411010
>
> Diff: https://reviewboard.asterisk.org/r/3381/diff/
>
>
> Testing
> -------
>
> Added a testing debug message to indicate when an endpoint was found. An endpoint was found when expected.
>
> However, I ran into several config reload problems which couldn't be readily fixed that made reloading the aor options not work.
>
>
> Thanks,
>
> rmudgett
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140324/afa6054e/attachment.html>
More information about the asterisk-dev
mailing list