[Asterisk-cvs] asterisk/channels chan_sip.c,1.342,1.343

markster at lists.digium.com markster at lists.digium.com
Mon Apr 26 08:20:05 CDT 2004


Update of /usr/cvsroot/asterisk/channels
In directory mongoose.digium.com:/tmp/cvs-serv28656/channels

Modified Files:
	chan_sip.c 
Log Message:
Use proper token for authenticating BYE


Index: chan_sip.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v
retrieving revision 1.342
retrieving revision 1.343
diff -u -d -r1.342 -r1.343
--- chan_sip.c	26 Apr 2004 05:08:30 -0000	1.342
+++ chan_sip.c	26 Apr 2004 12:26:02 -0000	1.343
@@ -4845,6 +4845,11 @@
 	char resp_hash[256];
 	char uri[256] = "";
 	char cnonce[80];
+	char *uname;
+	if (strlen(p->username))
+		uname = p->username;
+	else
+		uname = p->peername;
 
 	if (strlen(p->domain))
 		strncpy(uri, p->domain, sizeof(uri) - 1);
@@ -4855,7 +4860,7 @@
 
 	snprintf(cnonce, sizeof(cnonce), "%08x", rand());
 
-	snprintf(a1,sizeof(a1),"%s:%s:%s",p->peername,p->realm,p->peersecret);
+	snprintf(a1,sizeof(a1),"%s:%s:%s",uname,p->realm,p->peersecret);
 	snprintf(a2,sizeof(a2),"%s:%s",orig_header,uri);
 	if (strlen(p->peermd5secret))
 	        strncpy(a1_hash, p->peermd5secret, sizeof(a1_hash) - 1);
@@ -4871,9 +4876,9 @@
 	md5_hash(resp_hash,resp);
 	/* XXX We hard code our qop to "auth" for now.  XXX */
 	if (strlen(p->qop))
-		snprintf(digest,digest_len,"Digest username=\"%s\", realm=\"%s\", algorithm=\"MD5\", uri=\"%s\", nonce=\"%s\", response=\"%s\", opaque=\"%s\", qop=\"%s\", cnonce=\"%s\", nc=%s",p->peername,p->realm,uri,p->nonce,resp_hash, p->opaque, "auth", cnonce, "00000001");
+		snprintf(digest,digest_len,"Digest username=\"%s\", realm=\"%s\", algorithm=\"MD5\", uri=\"%s\", nonce=\"%s\", response=\"%s\", opaque=\"%s\", qop=\"%s\", cnonce=\"%s\", nc=%s",uname,p->realm,uri,p->nonce,resp_hash, p->opaque, "auth", cnonce, "00000001");
 	else
-		snprintf(digest,digest_len,"Digest username=\"%s\", realm=\"%s\", algorithm=\"MD5\", uri=\"%s\", nonce=\"%s\", response=\"%s\", opaque=\"%s\"",p->peername,p->realm,uri,p->nonce,resp_hash, p->opaque);
+		snprintf(digest,digest_len,"Digest username=\"%s\", realm=\"%s\", algorithm=\"MD5\", uri=\"%s\", nonce=\"%s\", response=\"%s\", opaque=\"%s\"",uname,p->realm,uri,p->nonce,resp_hash, p->opaque);
 
 	return 0;
 }




More information about the svn-commits mailing list