[asterisk-bugs] [JIRA] (ASTERISK-29197) Crash in rewrite_route_set when Record-Route header is set

nappsoft (JIRA) noreply at issues.asterisk.org
Fri Dec 4 11:44:16 CST 2020


     [ https://issues.asterisk.org/jira/browse/ASTERISK-29197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

nappsoft updated ASTERISK-29197:
--------------------------------

    Attachment: res_pjsip_nat.diff

> Crash in rewrite_route_set when Record-Route header is set
> ----------------------------------------------------------
>
>                 Key: ASTERISK-29197
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29197
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_pjsip_nat
>    Affects Versions: 16.15.0
>            Reporter: nappsoft
>            Severity: Minor
>              Labels: patch
>         Attachments: res_pjsip_nat.diff
>
>
> I am observing some strange crashes in rewrite_uri with some packets which have a Record-Route header.
> This happens on systems communication with MS Teams, however it is not 100% reproducible, but seems to be sort of a race condition. (However: as I needed to hack a rewrite of the contact domain into the sources I can't say for sure whether this is an asterisk issue or an issue I've introduced myself...).
> However: maybe the described behavior makes sense to somebody? If you think it is a non-asterisk-issue simply close the report...
> Patch I use as workaround attached. (Note: the packet does only have a RECORD-ROUTE header set, no additional route header or so. But it seems like in this situation rewrite_uri would be called twice as the patch simply prevents the second call to rewrite_uri...:
>         if (rr) {
>                 uri = pjsip_uri_get_uri(&rr->name_addr);
>                 rewrite_uri(rdata, uri);
>                 res = 0;
>         }
>         if (dlg && !pj_list_empty(&dlg->route_set) && !dlg->route_set_frozen) {
>                    pjsip_routing_hdr *route = dlg->route_set.next;
>                    uri = pjsip_uri_get_uri(&route->name_addr);
>                    rewrite_uri(rdata, uri);
>                    res = 0;
>         }



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list