mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-21 09:10:36 +00:00
Be more consistent with the return code for requests received from invalid domain.
When Asterisk receives an INVITE from an external domain when allowexternaldomains=no send a 403 instead of a 404. This is consistent with Asterisk's behavior when receiving a REGISTER in this situation. (Closes issue ASTERISK-19601) Reported by Matthew Jordan Patches: ASTERISK-19601-no401.patch uploaded by Mark Michelson (License #5049) ........ Merged revisions 369302 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369303 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -23903,8 +23903,6 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
|
|||||||
*/
|
*/
|
||||||
/* Fall through */
|
/* Fall through */
|
||||||
case SIP_GET_DEST_EXTEN_NOT_FOUND:
|
case SIP_GET_DEST_EXTEN_NOT_FOUND:
|
||||||
case SIP_GET_DEST_REFUSED:
|
|
||||||
default:
|
|
||||||
{
|
{
|
||||||
char *decoded_exten = ast_strdupa(p->exten);
|
char *decoded_exten = ast_strdupa(p->exten);
|
||||||
transmit_response_reliable(p, "404 Not Found", req);
|
transmit_response_reliable(p, "404 Not Found", req);
|
||||||
@@ -23913,6 +23911,10 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
|
|||||||
" '%s' rejected because extension not found in context '%s'.\n",
|
" '%s' rejected because extension not found in context '%s'.\n",
|
||||||
S_OR(p->username, p->peername), ast_sockaddr_stringify(&p->recv), decoded_exten, p->context);
|
S_OR(p->username, p->peername), ast_sockaddr_stringify(&p->recv), decoded_exten, p->context);
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
case SIP_GET_DEST_REFUSED:
|
||||||
|
default:
|
||||||
|
transmit_response_reliable(p, "403 Forbidden", req);
|
||||||
} /* end switch */
|
} /* end switch */
|
||||||
|
|
||||||
p->invitestate = INV_COMPLETED;
|
p->invitestate = INV_COMPLETED;
|
||||||
|
|||||||
Reference in New Issue
Block a user