[PATCH] fix compilation against libosip2-3.1.0

Chi-Thanh Christopher Nguyen <chithanh-CFLBMwTPW48UNGrzBIF7/[email protected]> Sun, 24 Feb 2008 22:29:05 +0100
Newsgroups gmane.network.siproxd
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------010300070806050004080405
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

Building siproxd against libosip2-3.1.0 will fail because of changes in 
osip_md5.h. Attached patch makes it compile again.
Note that the patch breaks compatibility to liposip2-3.0.3-2 and earlier.


Regards,
Chi-Thanh Christopher Nguyen


--------------010300070806050004080405
Content-Type: text/x-diff;
 name="siproxd-0.7.0-libosip-3.1.0.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="siproxd-0.7.0-libosip-3.1.0.patch"

diff -ur a/src/auth.c b/src/auth.c
--- a/src/auth.c	2008-01-19 17:07:14.000000000 +0100
+++ b/src/auth.c	2008-02-24 22:01:53.346694612 +0100
@@ -367,25 +367,25 @@
 		   OUT HASHHEX SessionKey
 		   )
 {
-  MD5_CTX Md5Ctx;
+  osip_MD5_CTX Md5Ctx;
   HASH HA1;
   
-  MD5Init(&Md5Ctx);
-  if (pszUserName) MD5Update(&Md5Ctx, pszUserName, strlen(pszUserName));
-  MD5Update(&Md5Ctx, ":", 1);
-  if (pszRealm)    MD5Update(&Md5Ctx, pszRealm, strlen(pszRealm));
-  MD5Update(&Md5Ctx, ":", 1);
-  if (pszPassword) MD5Update(&Md5Ctx, pszPassword, strlen(pszPassword));
-  MD5Final(HA1, &Md5Ctx);
+  osip_MD5Init(&Md5Ctx);
+  if (pszUserName) osip_MD5Update(&Md5Ctx, pszUserName, strlen(pszUserName));
+  osip_MD5Update(&Md5Ctx, ":", 1);
+  if (pszRealm)    osip_MD5Update(&Md5Ctx, pszRealm, strlen(pszRealm));
+  osip_MD5Update(&Md5Ctx, ":", 1);
+  if (pszPassword) osip_MD5Update(&Md5Ctx, pszPassword, strlen(pszPassword));
+  osip_MD5Final(HA1, &Md5Ctx);
 
   if ((pszAlg!=NULL) && (osip_strcasecmp(pszAlg, "md5-sess") == 0)) {
-    MD5Init(&Md5Ctx);
-    MD5Update(&Md5Ctx, HA1, HASHLEN);
-    MD5Update(&Md5Ctx, ":", 1);
-    if (pszNonce)  MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
-    MD5Update(&Md5Ctx, ":", 1);
-    if (pszCNonce) MD5Update(&Md5Ctx, pszCNonce, strlen(pszCNonce));
-    MD5Final(HA1, &Md5Ctx);
+    osip_MD5Init(&Md5Ctx);
+    osip_MD5Update(&Md5Ctx, HA1, HASHLEN);
+    osip_MD5Update(&Md5Ctx, ":", 1);
+    if (pszNonce)  osip_MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
+    osip_MD5Update(&Md5Ctx, ":", 1);
+    if (pszCNonce) osip_MD5Update(&Md5Ctx, pszCNonce, strlen(pszCNonce));
+    osip_MD5Final(HA1, &Md5Ctx);
   };
   CvtHex(HA1, SessionKey);
 }
@@ -403,57 +403,57 @@
 			OUT HASHHEX Response    /* request-digest or response-digest */
 			)
 {
-  MD5_CTX Md5Ctx;
+  osip_MD5_CTX Md5Ctx;
   HASH HA2;
   HASH RespHash;
   HASHHEX HA2Hex;
   
   /* calculate H(A2) */
-  MD5Init(&Md5Ctx);
-  if (pszMethod)   MD5Update(&Md5Ctx, pszMethod, strlen(pszMethod));
-  MD5Update(&Md5Ctx, ":", 1);
-  if (pszDigestUri)MD5Update(&Md5Ctx, pszDigestUri, strlen(pszDigestUri));
+  osip_MD5Init(&Md5Ctx);
+  if (pszMethod)   osip_MD5Update(&Md5Ctx, pszMethod, strlen(pszMethod));
+  osip_MD5Update(&Md5Ctx, ":", 1);
+  if (pszDigestUri)osip_MD5Update(&Md5Ctx, pszDigestUri, strlen(pszDigestUri));
   
   if (pszQop!=NULL) {
       goto auth_withqop;
   };
   
   /* auth_withoutqop: */
-  MD5Final(HA2, &Md5Ctx);
+  osip_MD5Final(HA2, &Md5Ctx);
   CvtHex(HA2, HA2Hex);
 
   /* calculate response */
-  MD5Init(&Md5Ctx);
-  MD5Update(&Md5Ctx, HA1, HASHHEXLEN);
-  MD5Update(&Md5Ctx, ":", 1);
-  if (pszNonce)    MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
-  MD5Update(&Md5Ctx, ":", 1);
+  osip_MD5Init(&Md5Ctx);
+  osip_MD5Update(&Md5Ctx, HA1, HASHHEXLEN);
+  osip_MD5Update(&Md5Ctx, ":", 1);
+  if (pszNonce)    osip_MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
+  osip_MD5Update(&Md5Ctx, ":", 1);
 
   goto end;
 
  auth_withqop:
 
-  MD5Update(&Md5Ctx, ":", 1);
-  MD5Update(&Md5Ctx, HEntity, HASHHEXLEN);
-  MD5Final(HA2, &Md5Ctx);
+  osip_MD5Update(&Md5Ctx, ":", 1);
+  osip_MD5Update(&Md5Ctx, HEntity, HASHHEXLEN);
+  osip_MD5Final(HA2, &Md5Ctx);
   CvtHex(HA2, HA2Hex);
 
   /* calculate response */
-  MD5Init(&Md5Ctx);
-  MD5Update(&Md5Ctx, HA1, HASHHEXLEN);
-  MD5Update(&Md5Ctx, ":", 1);
-  if (pszNonce)    MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
-  MD5Update(&Md5Ctx, ":", 1);
-  if (pszNonceCount)MD5Update(&Md5Ctx, pszNonceCount, strlen(pszNonceCount));
-  MD5Update(&Md5Ctx, ":", 1);
-  if (pszCNonce)   MD5Update(&Md5Ctx, pszCNonce, strlen(pszCNonce));
-  MD5Update(&Md5Ctx, ":", 1);
-  if (pszQop)      MD5Update(&Md5Ctx, pszQop, strlen(pszQop));
-  MD5Update(&Md5Ctx, ":", 1);
+  osip_MD5Init(&Md5Ctx);
+  osip_MD5Update(&Md5Ctx, HA1, HASHHEXLEN);
+  osip_MD5Update(&Md5Ctx, ":", 1);
+  if (pszNonce)    osip_MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
+  osip_MD5Update(&Md5Ctx, ":", 1);
+  if (pszNonceCount)osip_MD5Update(&Md5Ctx, pszNonceCount, strlen(pszNonceCount));
+  osip_MD5Update(&Md5Ctx, ":", 1);
+  if (pszCNonce)   osip_MD5Update(&Md5Ctx, pszCNonce, strlen(pszCNonce));
+  osip_MD5Update(&Md5Ctx, ":", 1);
+  if (pszQop)      osip_MD5Update(&Md5Ctx, pszQop, strlen(pszQop));
+  osip_MD5Update(&Md5Ctx, ":", 1);
 
  end:
-  MD5Update(&Md5Ctx, HA2Hex, HASHHEXLEN);
-  MD5Final(RespHash, &Md5Ctx);
+  osip_MD5Update(&Md5Ctx, HA2Hex, HASHHEXLEN);
+  osip_MD5Final(RespHash, &Md5Ctx);
   CvtHex(RespHash, Response);
 }
 
diff -ur a/src/sip_utils.c b/src/sip_utils.c
--- a/src/sip_utils.c	2008-01-19 17:07:14.000000000 +0100
+++ b/src/sip_utils.c	2008-02-24 22:01:53.346694612 +0100
@@ -773,13 +773,13 @@
       if (strncmp(param->gvalue, magic_cookie,
                   strlen(magic_cookie))==0) {
          /* calculate MD5 hash */
-         MD5_CTX Md5Ctx;
+         osip_MD5_CTX Md5Ctx;
          HASH HA1;
 
-         MD5Init(&Md5Ctx);
-         MD5Update(&Md5Ctx, param->gvalue,
+         osip_MD5Init(&Md5Ctx);
+         osip_MD5Update(&Md5Ctx, param->gvalue,
                    strlen(param->gvalue));
-         MD5Final(HA1, &Md5Ctx);
+         osip_MD5Final(HA1, &Md5Ctx);
          CvtHex(HA1, hashstring);
 
          DEBUGC(DBCLASS_BABBLE, "existing branch -> branch hash [%s]",
@@ -799,53 +799,53 @@
     */
    if (hashstring[0] == '\0') {
       /* calculate MD5 hash */
-      MD5_CTX Md5Ctx;
+      osip_MD5_CTX Md5Ctx;
       HASH HA1;
       char *tmp;
 
-      MD5Init(&Md5Ctx);
+      osip_MD5Init(&Md5Ctx);
 
       /* topmost via */
       osip_via_to_str(via, &tmp);
       if (tmp) {
-         MD5Update(&Md5Ctx, tmp, strlen(tmp));
+         osip_MD5Update(&Md5Ctx, tmp, strlen(tmp));
          osip_free(tmp);
       }
      
       /* Tag in To header */
       osip_to_get_tag(sip_msg->to, &param);
       if (param && param->gvalue) {
-         MD5Update(&Md5Ctx, param->gvalue, strlen(param->gvalue));
+         osip_MD5Update(&Md5Ctx, param->gvalue, strlen(param->gvalue));
       }
 
       /* Tag in From header */
       osip_from_get_tag(sip_msg->from, &param);
       if (param && param->gvalue) {
-         MD5Update(&Md5Ctx, param->gvalue, strlen(param->gvalue));
+         osip_MD5Update(&Md5Ctx, param->gvalue, strlen(param->gvalue));
       }
 
       /* Call-ID */
       call_id = osip_message_get_call_id(sip_msg);
       osip_call_id_to_str(call_id, &tmp);
       if (tmp) {
-         MD5Update(&Md5Ctx, tmp, strlen(tmp));
+         osip_MD5Update(&Md5Ctx, tmp, strlen(tmp));
          osip_free(tmp);
       }
 
       /* CSeq number (but not method) */
       tmp = osip_cseq_get_number(sip_msg->cseq);
       if (tmp) {
-         MD5Update(&Md5Ctx, tmp, strlen(tmp));
+         osip_MD5Update(&Md5Ctx, tmp, strlen(tmp));
       }
  
       /* Request URI */
       osip_uri_to_str(sip_msg->req_uri, &tmp);
       if (tmp) {
-         MD5Update(&Md5Ctx, tmp, strlen(tmp));
+         osip_MD5Update(&Md5Ctx, tmp, strlen(tmp));
          osip_free(tmp);
       }
 
-      MD5Final(HA1, &Md5Ctx);
+      osip_MD5Final(HA1, &Md5Ctx);
       CvtHex(HA1, hashstring);
 
       DEBUGC(DBCLASS_BABBLE, "non-existing branch -> branch hash [%s]",

--------------010300070806050004080405
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
--------------010300070806050004080405
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Siproxd-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/siproxd-users

--------------010300070806050004080405--