From 5c12ec4755b8618f4b12bd5150b4032eed17e80b Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Mon, 28 Mar 2005 19:37:34 +0000 Subject: [PATCH] Clear out received tag in 407/401's (bug #3885) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5292 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index bf839df9ec..023ecd4a00 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -7949,6 +7949,7 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_ /* First we ACK */ transmit_request(p, SIP_ACK, seqno, 0, 0); /* Then we AUTH */ + p->theirtag[0]='\0'; /* forget their old tag, so we don't match tags when getting response */ if ((p->authtries > 1) || do_proxy_auth(p, req, "WWW-Authenticate", "Authorization", SIP_INVITE, 1)) { ast_log(LOG_NOTICE, "Failed to authenticate on INVITE to '%s'\n", get_header(&p->initreq, "From")); ast_set_flag(p, SIP_NEEDDESTROY); @@ -7983,6 +7984,7 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_ /* Then we AUTH */ /* But only if the packet wasn't marked as ignore in handle_request */ if(!ignore){ + p->theirtag[0]='\0'; /* forget their old tag, so we don't match tags when getting response */ if ((p->authtries > 1) || do_proxy_auth(p, req, "Proxy-Authenticate", "Proxy-Authorization", SIP_INVITE, 1)) { ast_log(LOG_NOTICE, "Failed to authenticate on INVITE to '%s'\n", get_header(&p->initreq, "From")); ast_set_flag(p, SIP_NEEDDESTROY);