From eac4efcf22ecea4999e8b259b1c5c5021f66b944 Mon Sep 17 00:00:00 2001 From: Olle Johansson Date: Tue, 7 Nov 2006 13:13:51 +0000 Subject: [PATCH] Fixing the attack shield so it doesn't produce attacks... Issue 8265 - never reply to an ACK git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@47250 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index a5bd3589d7..489351155e 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4310,8 +4310,10 @@ static struct sip_pvt *find_call(struct sip_request *req, struct sockaddr_in *si } else if( sip_methods[intended_method].can_create == CAN_CREATE_DIALOG_UNSUPPORTED_METHOD) { /* A method we do not support, let's take it on the volley */ transmit_response_using_temp(callid, sin, 1, intended_method, req, "501 Method Not Implemented"); - } else if (intended_method != SIP_RESPONSE) { - /* This is a request outside of a dialog that we don't know about */ + } else if (intended_method != SIP_RESPONSE && intended_method != SIP_ACK) { + /* This is a request outside of a dialog that we don't know about + ...never reply to an ACK! + */ transmit_response_using_temp(callid, sin, 1, intended_method, req, "481 Call leg/transaction does not exist"); } /* We do not respond to responses for dialogs that we don't know about, we just drop