[asterisk-commits] twilson: trunk r297972 - in /trunk: ./ channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Dec 9 16:20:06 CST 2010
Author: twilson
Date: Thu Dec 9 16:19:56 2010
New Revision: 297972
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=297972
Log:
Merged revisions 297965 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r297965 | twilson | 2010-12-09 16:18:19 -0600 (Thu, 09 Dec 2010) | 28 lines
Merged revisions 297960 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r297960 | twilson | 2010-12-09 16:10:31 -0600 (Thu, 09 Dec 2010) | 21 lines
Merged revisions 297959 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r297959 | twilson | 2010-12-09 16:00:30 -0600 (Thu, 09 Dec 2010) | 14 lines
Ignore spurious REGISTER requests
If a REGISTER request with a Call-ID matching an existing transaction is received
it was possible that the REGISTER request would overwrite the initreq of the
private structure. This info is used to generate messages for other responses in
the transaction. This patch ignores REGISTER requests that match non-REGISTER
transactions.
(closes issue #18051)
Reported by: eeman
Tested by: twilson
Review: https://reviewboard.asterisk.org/r/1050/
........
................
................
Modified:
trunk/ (props changed)
trunk/channels/chan_sip.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.
Modified: trunk/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/trunk/channels/chan_sip.c?view=diff&rev=297972&r1=297971&r2=297972
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Thu Dec 9 16:19:56 2010
@@ -23648,6 +23648,13 @@
{
enum check_auth_result res;
+ /* If this is not the intial request, and the initial request isn't
+ * a register, something screwy happened, so bail */
+ if (p->initreq.headers && p->initreq.method != SIP_REGISTER) {
+ ast_log(LOG_WARNING, "Ignoring spurious REGISTER with Call-ID: %s\n", p->callid);
+ return -1;
+ }
+
/* Use this as the basis */
copy_request(&p->initreq, req);
if (sipdebug)
More information about the asterisk-commits
mailing list