Avoid duplicate 200 OK

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.2-netsec
Mark Spencer 21 years ago
parent b0772febde
commit 0b4862c822

@ -8002,13 +8002,14 @@ static int handle_request(struct sip_pvt *p, struct sip_request *req, struct soc
found++; found++;
} }
if (found) if (found){
transmit_response(p, "200 OK", req); transmit_response(p, "200 OK", req);
else { ast_set_flag(p, SIP_NEEDDESTROY);
} else {
transmit_response(p, "403 Forbidden", req); transmit_response(p, "403 Forbidden", req);
ast_set_flag(p, SIP_NEEDDESTROY); ast_set_flag(p, SIP_NEEDDESTROY);
} }
return 0;
} else } else
p->subscribed = 1; p->subscribed = 1;
if (p->subscribed) if (p->subscribed)
@ -8022,14 +8023,14 @@ static int handle_request(struct sip_pvt *p, struct sip_request *req, struct soc
p->lastinvite = seqno; p->lastinvite = seqno;
if (p && !ast_test_flag(p, SIP_NEEDDESTROY)) { if (p && !ast_test_flag(p, SIP_NEEDDESTROY)) {
if (!(p->expiry = atoi(get_header(req, "Expires")))) { if (!(p->expiry = atoi(get_header(req, "Expires")))) {
transmit_response(p, "200 OK", req); transmit_response(p, "200 OK", req);
ast_set_flag(p, SIP_NEEDDESTROY); ast_set_flag(p, SIP_NEEDDESTROY);
return 0; return 0;
} }
/* The next line can be removed if the SNOM200 Expires bug is fixed */ /* The next line can be removed if the SNOM200 Expires bug is fixed */
if (p->subscribed == 1) { if (p->subscribed == 1) {
if (p->expiry>max_expiry) if (p->expiry>max_expiry)
p->expiry = max_expiry; p->expiry = max_expiry;
} }
transmit_response(p, "200 OK", req); transmit_response(p, "200 OK", req);
sip_scheddestroy(p, (p->expiry+10)*1000); sip_scheddestroy(p, (p->expiry+10)*1000);

Loading…
Cancel
Save