dect
/
asterisk
Archived
13
0
Fork 0

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/
  ........
................


git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@297965 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
twilson 2010-12-09 22:18:19 +00:00
parent e71ec63094
commit 077a4920ad
1 changed files with 7 additions and 0 deletions

View File

@ -23453,6 +23453,13 @@ static int handle_request_register(struct sip_pvt *p, struct sip_request *req, s
{
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)