From: Mark Michelson Date: Mon, 25 Jun 2012 14:30:19 +0000 (+0000) Subject: Be more consistent with the return code for requests received from invalid domain. X-Git-Tag: 11.0.0-beta1~189 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=87810af23dc9ca98a6f544fee78dcd58022c813a;p=thirdparty%2Fasterisk.git 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 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 3080bd2e0c..94154dc3b5 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -23903,8 +23903,6 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int */ /* Fall through */ case SIP_GET_DEST_EXTEN_NOT_FOUND: - case SIP_GET_DEST_REFUSED: - default: { char *decoded_exten = ast_strdupa(p->exten); 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_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 */ p->invitestate = INV_COMPLETED;