diff options
author | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-09-20 21:34:15 +0000 |
---|---|---|
committer | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-09-20 21:34:15 +0000 |
commit | 1a91ea77272c46087f2e5777075d7afbc920b70b (patch) | |
tree | 87f91157a0581c847048bfbde7166ad1f96a0bf8 /channels | |
parent | fdf9863cf53dee8ab28485be77e4fbbbe46da54a (diff) |
Fixes issue with registrations not working properly with pedantic=yes.
(closes issue #18017)
Reported by: schmidts
Patches:
issues_18017_v1.diff uploaded by dvossel (license 671)
Tested by: schmidts
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@287645 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_sip.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index eb5ae4e14..791babf9a 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -7236,8 +7236,10 @@ static enum match_req_res match_req_to_dialog(struct sip_pvt *sip_pvt_ptr, struc return SIP_REQ_NOT_MATCH; } } else { - /* Verify the fromtag of Request matches the tag they provided earlier. */ - if (strcmp(arg->fromtag, sip_pvt_ptr->theirtag)) { + /* Verify the fromtag of Request matches the tag they provided earlier. + * If this is a Request with authentication credentials, forget their old + * tag as it is not valid after the 401 or 407 response. */ + if (!arg->authentication_present && strcmp(arg->fromtag, sip_pvt_ptr->theirtag)) { /* their tag does not match the one was have stored for them */ return SIP_REQ_NOT_MATCH; } |