diff options
author | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-03-11 00:46:47 +0000 |
---|---|---|
committer | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-03-11 00:46:47 +0000 |
commit | 964aa232b723e764960c7c63a0a0a43461ca9c11 (patch) | |
tree | 6536e5a3bcc4abf0b33e633a0570fe0c8d784c47 /channels/chan_sip.c | |
parent | a914fe05112d518c6abfbc042ae593386ff3d219 (diff) |
Merged revisions 181029,181031 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r181029 | mmichelson | 2009-03-10 19:30:26 -0500 (Tue, 10 Mar 2009) | 9 lines
Fix incorrect tag checking on transfers when pedantic=yes is enabled.
(closes issue #14611)
Reported by: klaus3000
Patches:
patch_chan_sip_attended_transfer_1.4.23.txt uploaded by klaus3000 (license 65)
Tested by: klaus3000
........
r181031 | mmichelson | 2009-03-10 19:32:40 -0500 (Tue, 10 Mar 2009) | 3 lines
Remove unused variables.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@181032 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_sip.c')
-rw-r--r-- | channels/chan_sip.c | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index dfde185c5..1ff4d35fc 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -12389,7 +12389,6 @@ static struct sip_pvt *get_sip_pvt_byid_locked(const char *callid, const char *t /* Go ahead and lock it (and its owner) before returning */ sip_pvt_lock(sip_pvt_ptr); if (sip_cfg.pedanticsipchecking) { - const char *pvt_fromtag, *pvt_totag; unsigned char frommismatch = 0, tomismatch = 0; if (ast_strlen_zero(fromtag)) { @@ -12406,30 +12405,20 @@ static struct sip_pvt *get_sip_pvt_byid_locked(const char *callid, const char *t return NULL; } - if (sip_pvt_ptr->outgoing_call == TRUE) { - /* Outgoing call tags : from is "our", to is "their" */ - pvt_fromtag = sip_pvt_ptr->tag ; - pvt_totag = sip_pvt_ptr->theirtag ; - } else { - /* Incoming call tags : from is "their", to is "our" */ - pvt_fromtag = sip_pvt_ptr->theirtag ; - pvt_totag = sip_pvt_ptr->tag ; - } - - frommismatch = !!strcmp(fromtag, pvt_fromtag); - tomismatch = !!strcmp(totag, pvt_totag); + frommismatch = !!strcmp(fromtag, sip_pvt_ptr->theirtag); + tomismatch = !!strcmp(totag, sip_pvt_ptr->tag); if (frommismatch || tomismatch) { sip_pvt_unlock(sip_pvt_ptr); if (frommismatch) { ast_debug(4, "Matched %s call for callid=%s - pedantic from tag check fails; their tag is %s our tag is %s\n", sip_pvt_ptr->outgoing_call == TRUE ? "OUTGOING": "INCOMING", sip_pvt_ptr->callid, - fromtag, pvt_fromtag); + fromtag, sip_pvt_ptr->theirtag); } if (tomismatch) { ast_debug(4, "Matched %s call for callid=%s - pedantic to tag check fails; their tag is %s our tag is %s\n", sip_pvt_ptr->outgoing_call == TRUE ? "OUTGOING": "INCOMING", sip_pvt_ptr->callid, - totag, pvt_totag); + totag, sip_pvt_ptr->tag); } return NULL; } |