X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2Fmd5.c;h=f1291ce1bd72fde3be4e2b1133193130d1cd274e;hp=480c860c0aa9b0d9aa2be2001804ca56e4b09f54;hb=36733a891fb56594fcee580f667b33a64b990981;hpb=f7195b02ffc90bb9ee482c537074a84f8561aa61 diff --git a/pppd/md5.c b/pppd/md5.c index 480c860..f1291ce 100644 --- a/pppd/md5.c +++ b/pppd/md5.c @@ -33,21 +33,22 @@ *********************************************************************** */ +#include #include "md5.h" /* *********************************************************************** ** Message-digest routines: ** ** To form the message digest for a message M ** - ** (1) Initialize a context buffer mdContext using MD5Init ** - ** (2) Call MD5Update on mdContext and M ** - ** (3) Call MD5Final on mdContext ** + ** (1) Initialize a context buffer mdContext using MD5_Init ** + ** (2) Call MD5_Update on mdContext and M ** + ** (3) Call MD5_Final on mdContext ** ** The message digest is now in mdContext->digest[0...15] ** *********************************************************************** */ /* forward declaration */ -static void Transform (); +static void Transform (UINT4 *buf, UINT4 *in); static unsigned char PADDING[64] = { 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -98,10 +99,10 @@ static unsigned char PADDING[64] = { #define UL(x) x #endif -/* The routine MD5Init initializes the message-digest context +/* The routine MD5_Init initializes the message-digest context mdContext. All fields are set to zero. */ -void MD5Init (mdContext) +void MD5_Init (mdContext) MD5_CTX *mdContext; { mdContext->i[0] = mdContext->i[1] = (UINT4)0; @@ -118,7 +119,7 @@ MD5_CTX *mdContext; account for the presence of each of the characters inBuf[0..inLen-1] in the message whose digest is being computed. */ -void MD5Update (mdContext, inBuf, inLen) +void MD5_Update (mdContext, inBuf, inLen) MD5_CTX *mdContext; unsigned char *inBuf; unsigned int inLen; @@ -156,7 +157,8 @@ unsigned int inLen; /* The routine MD5Final terminates the message-digest computation and ends with the desired message digest in mdContext->digest[0...15]. */ -void MD5Final (mdContext) +void MD5_Final (hash, mdContext) +unsigned char hash[]; MD5_CTX *mdContext; { UINT4 in[16]; @@ -173,7 +175,7 @@ MD5_CTX *mdContext; /* pad out to 56 mod 64 */ padLen = (mdi < 56) ? (56 - mdi) : (120 - mdi); - MD5Update (mdContext, PADDING, padLen); + MD5_Update (mdContext, PADDING, padLen); /* append length in bits and transform */ for (i = 0, ii = 0; i < 14; i++, ii += 4) @@ -193,6 +195,7 @@ MD5_CTX *mdContext; mdContext->digest[ii+3] = (unsigned char)((mdContext->buf[i] >> 24) & 0xFF); } + memcpy(hash, mdContext->digest, 16); } /* Basic MD5 step. Transforms buf based on in.