chiark / gitweb /
Build system: Use -lnsl only if inet_ntoa is not found otherwise.
[secnet.git] / md5.c
diff --git a/md5.c b/md5.c
index ab00d26efb41028978569fefe86d0adae1022a23..738d81a824bf1ebb4593c60f46d65596084a1458 100644 (file)
--- a/md5.c
+++ b/md5.c
@@ -3,6 +3,7 @@
  * The algorithm is due to Ron Rivest.  This code was
  * written by Colin Plumb in 1993, no copyright is claimed.
  * This code is in the public domain; do with it what you wish.
+ * [I interpet this as a blanket permision -iwj.]
  *
  * Equivalent code is available from RSA Data Security, Inc.
  * This code has been tested against that, and is equivalent,
  * Still in the public domain.
  */
 
-#include <string.h>            /* for memcpy() */
-#include <sys/types.h>         /* for stupid systems */
-#include <netinet/in.h>                /* for ntohl() */
-
 #include "secnet.h"
-#include "config.h"
+#include <string.h>            /* for memcpy() */
 #include "md5.h"
 
 #ifdef WORDS_BIGENDIAN
 static void
-byteSwap(uint32_t *buf, unsigned words)
+byteSwap(uint32_t *buf, int words)
 {
        md5byte *p = (md5byte *)buf;
 
@@ -133,7 +130,7 @@ MD5Final(md5byte digest[16], struct MD5Context *ctx)
 
        byteSwap(ctx->buf, 4);
        memcpy(digest, ctx->buf, 16);
-       memset(ctx, 0, sizeof(ctx));    /* In case it's sensitive */
+       memset(ctx, 0, sizeof *ctx);    /* In case it's sensitive */
 }
 
 #ifndef ASM_MD5
@@ -245,13 +242,13 @@ static void *md5_init(void)
 {
     struct MD5Context *ctx;
 
-    ctx=safe_malloc(sizeof(*ctx),"md5_init");
+    NEW(ctx);
     MD5Init(ctx);
 
     return ctx;
 }
 
-static void md5_update(void *sst, uint8_t const *buf, uint32_t len)
+static void md5_update(void *sst, const void *buf, int32_t len)
 {
     struct MD5Context *ctx=sst;
 
@@ -271,19 +268,18 @@ struct md5 {
     struct hash_if ops;
 };
 
-init_module md5_module;
 void md5_module(dict_t *dict)
 {
     struct md5 *st;
     void *ctx;
-    string_t testinput="12345\n";
+    cstring_t testinput="12345\n";
     uint8_t expected[16]=
        {0xd5,0x77,0x27,0x3f,0xf8,0x85,0xc3,0xf8,
         0x4d,0xad,0xb8,0x57,0x8b,0xb4,0x13,0x99};
     uint8_t digest[16];
     int i;
 
-    st=safe_malloc(sizeof(*st),"netlink_module");
+    NEW(st);
     st->cl.description="md5";
     st->cl.type=CL_HASH;
     st->cl.apply=NULL;
@@ -300,7 +296,7 @@ void md5_module(dict_t *dict)
     md5_final(ctx,digest);
     for (i=0; i<16; i++) {
        if (digest[i]!=expected[i]) {
-           fatal("md5 module failed self-test\n");
+           fatal("md5 module failed self-test");
        }
     }
 }