NEWS.stable: log cherry-pick [8b18afa]->[c948e19] sys_select: Avoid a syntax error...
[gnulib.git] / lib / hmac-md5.c
index ecd0714..b357a15 100644 (file)
@@ -1,5 +1,5 @@
 /* hmac-md5.c -- hashed message authentication codes
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,9 +17,7 @@
 
 /* Written by Simon Josefsson.  */
 
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
+#include <config.h>
 
 #include "hmac.h"
 
@@ -33,7 +31,7 @@
 
 int
 hmac_md5 (const void *key, size_t keylen,
-         const void *in, size_t inlen, void *resbuf)
+          const void *in, size_t inlen, void *resbuf)
 {
   struct md5_ctx inner;
   struct md5_ctx outer;
@@ -41,6 +39,8 @@ hmac_md5 (const void *key, size_t keylen,
   char block[64];
   char innerhash[16];
 
+  /* Reduce the key's size, so that it becomes <= 64 bytes large.  */
+
   if (keylen > 64)
     {
       struct md5_ctx keyhash;
@@ -53,6 +53,8 @@ hmac_md5 (const void *key, size_t keylen,
       keylen = 16;
     }
 
+  /* Compute INNERHASH from KEY and IN.  */
+
   md5_init_ctx (&inner);
 
   memset (block, IPAD, sizeof (block));
@@ -63,6 +65,8 @@ hmac_md5 (const void *key, size_t keylen,
 
   md5_finish_ctx (&inner, innerhash);
 
+  /* Compute result from KEY and INNERHASH.  */
+
   md5_init_ctx (&outer);
 
   memset (block, OPAD, sizeof (block));