mirror of
https://git.freebsd.org/ports.git
synced 2025-06-29 08:30:37 -04:00
128 lines
4.4 KiB
C
128 lines
4.4 KiB
C
--- src/auth.c.orig 2008-01-19 17:07:14.000000000 +0100
|
|
+++ src/auth.c 2008-03-31 10:58:24.000000000 +0200
|
|
@@ -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);
|
|
}
|
|
|