generate fewer 'stale nonce' messages (issue #5381)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.2-netsec
Kevin P. Fleming 20 years ago
parent 0c886c21c2
commit b1a61a9672

@ -6177,14 +6177,17 @@ static int check_auth(struct sip_pvt *p, struct sip_request *req, char *randdata
ast_md5_hash(resp_hash, resp);
if (wrongnonce) {
ast_log(LOG_NOTICE, "stale nonce received from '%s'\n", get_header(req, "To"));
snprintf(randdata, randlen, "%08x", rand());
if (ua_hash && !strncasecmp(ua_hash, resp_hash, strlen(resp_hash))) {
if (sipdebug)
ast_log(LOG_NOTICE, "stale nonce received from '%s'\n", get_header(req, "To"));
/* We got working auth token, based on stale nonce . */
transmit_response_with_auth(p, response, req, randdata, reliable, respheader, 1);
} else {
/* Everything was wrong, so give the device one more try */
/* Everything was wrong, so give the device one more try with a new challenge */
if (sipdebug)
ast_log(LOG_NOTICE, "Bad authentication received from '%s'\n", get_header(req, "To"));
transmit_response_with_auth(p, response, req, randdata, reliable, respheader, 0);
}

Loading…
Cancel
Save