automerge commit

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@12231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.2-netsec
Automerge script 20 years ago
parent db6920d628
commit eb6fc20dc8

@ -1389,12 +1389,12 @@ static int __sip_ack(struct sip_pvt *p, int seqno, int resp, int sipmethod)
msg = sip_methods[sipmethod].text; msg = sip_methods[sipmethod].text;
ast_mutex_lock(&p->lock);
cur = p->packets; cur = p->packets;
while(cur) { while(cur) {
if ((cur->seqno == seqno) && ((ast_test_flag(cur, FLAG_RESPONSE)) == resp) && if ((cur->seqno == seqno) && ((ast_test_flag(cur, FLAG_RESPONSE)) == resp) &&
((ast_test_flag(cur, FLAG_RESPONSE)) || ((ast_test_flag(cur, FLAG_RESPONSE)) ||
(!strncasecmp(msg, cur->data, strlen(msg)) && (cur->data[strlen(msg)] < 33)))) { (!strncasecmp(msg, cur->data, strlen(msg)) && (cur->data[strlen(msg)] < 33)))) {
ast_mutex_lock(&p->lock);
if (!resp && (seqno == p->pendinginvite)) { if (!resp && (seqno == p->pendinginvite)) {
ast_log(LOG_DEBUG, "Acked pending invite %d\n", p->pendinginvite); ast_log(LOG_DEBUG, "Acked pending invite %d\n", p->pendinginvite);
p->pendinginvite = 0; p->pendinginvite = 0;
@ -1411,13 +1411,13 @@ static int __sip_ack(struct sip_pvt *p, int seqno, int resp, int sipmethod)
ast_sched_del(sched, cur->retransid); ast_sched_del(sched, cur->retransid);
} }
free(cur); free(cur);
ast_mutex_unlock(&p->lock);
res = 0; res = 0;
break; break;
} }
prev = cur; prev = cur;
cur = cur->next; cur = cur->next;
} }
ast_mutex_unlock(&p->lock);
ast_log(LOG_DEBUG, "Stopping retransmission on '%s' of %s %d: Match %s\n", p->callid, resp ? "Response" : "Request", seqno, res ? "Not Found" : "Found"); ast_log(LOG_DEBUG, "Stopping retransmission on '%s' of %s %d: Match %s\n", p->callid, resp ? "Response" : "Request", seqno, res ? "Not Found" : "Found");
return res; return res;
} }

Loading…
Cancel
Save