]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/md5.c
Update README and patchlevel for 2.4.7 release
[ppp.git] / pppd / md5.c
index 480c860c0aa9b0d9aa2be2001804ca56e4b09f54..f1291ce1bd72fde3be4e2b1133193130d1cd274e 100644 (file)
  ***********************************************************************
  */
 
+#include <string.h>
 #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.