* random.c: Fix prototype of the fast random gatherer. Noted by Joe
[gnupg.git] / cipher / rmd160.c
index e35647a..7a7230f 100644 (file)
@@ -15,7 +15,8 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
  */
 
 #include <config.h>
@@ -26,8 +27,8 @@
 #include "util.h"
 #include "memory.h"
 #include "rmd.h"
-#include "cipher.h" /* only used for the rmd160_hash_buffer() prototype */
-#include "dynload.h"
+#include "cipher.h" /* for rmd160_hash_buffer */
+#include "algorithms.h"
 
 #include "bithelp.h"
 
@@ -146,7 +147,7 @@ burn_stack (int bytes)
 {
     char buf[150];
     
-    memset (buf, 0, sizeof buf);
+    wipememory(buf,sizeof buf);
     bytes -= sizeof buf;
     if (bytes > 0)
         burn_stack (bytes);
@@ -175,7 +176,7 @@ static void
 transform( RMD160_CONTEXT *hd, byte *data )
 {
     u32 a,b,c,d,e,aa,bb,cc,dd,ee,t;
-  #ifdef BIG_ENDIAN_HOST
+#ifdef BIG_ENDIAN_HOST
     u32 x[16];
     { int i;
       byte *p2, *p1;
@@ -186,10 +187,10 @@ transform( RMD160_CONTEXT *hd, byte *data )
        p2[0] = *p1++;
       }
     }
-  #else
-   #if 0
+#else
+#if 0
     u32 *x =(u32*)data;
-   #else
+#else
     /* this version is better because it is always aligned;
      * The performance penalty on a 586-100 is about 6% which
      * is acceptable - because the data is more local it might
@@ -199,8 +200,8 @@ transform( RMD160_CONTEXT *hd, byte *data )
      * [measured with a 4MB data and "gpgm --print-md rmd160"] */
     u32 x[16];
     memcpy( x, data, 64 );
-   #endif
-  #endif
+#endif
+#endif
 
 
 #define K0  0x00000000
@@ -454,13 +455,13 @@ rmd160_mixblock( RMD160_CONTEXT *hd, char *buffer )
 {
     char *p = buffer;
     transform( hd, buffer );
-  #define X(a) do { *(u32*)p = hd->h##a ; p += 4; } while(0)
+#define X(a) do { *(u32*)p = hd->h##a ; p += 4; } while(0)
     X(0);
     X(1);
     X(2);
     X(3);
     X(4);
-  #undef X
+#undef X
 }
 
 
@@ -514,18 +515,18 @@ rmd160_final( RMD160_CONTEXT *hd )
     burn_stack (108+5*sizeof(void*));
 
     p = hd->buf;
-  #ifdef BIG_ENDIAN_HOST
-    #define X(a) do { *p++ = hd->h##a     ; *p++ = hd->h##a >> 8;      \
+#ifdef BIG_ENDIAN_HOST
+#define X(a) do { *p++ = hd->h##a         ; *p++ = hd->h##a >> 8;      \
                      *p++ = hd->h##a >> 16; *p++ = hd->h##a >> 24; } while(0)
-  #else /* little endian */
-    #define X(a) do { *(u32*)p = hd->h##a ; p += 4; } while(0)
-  #endif
+#else /* little endian */
+#define X(a) do { *(u32*)p = hd->h##a ; p += 4; } while(0)
+#endif
     X(0);
     X(1);
     X(2);
     X(3);
     X(4);
-  #undef X
+#undef X
 }
 
 static byte *
@@ -558,7 +559,7 @@ rmd160_hash_buffer( char *outbuf, const char *buffer, size_t length )
  * Returns: A pointer to string describing the algorithm or NULL if
  *         the ALGO is invalid.
  */
-static const char *
+const char *
 rmd160_get_info( int algo, size_t *contextsize,
               byte **r_asnoid, int *r_asnlen, int *r_mdlen,
               void (**r_init)( void *c ),
@@ -585,68 +586,3 @@ rmd160_get_info( int algo, size_t *contextsize,
 
     return "RIPEMD160";
 }
-
-
-#ifndef IS_MODULE
-static
-#endif
-const char * const gnupgext_version = "RMD160 ($Revision$)";
-
-static struct {
-    int class;
-    int version;
-    int  value;
-    void (*func)(void);
-} func_table[] = {
-    { 10, 1, 0, (void(*)(void))rmd160_get_info },
-    { 11, 1, 3 },
-};
-
-
-#ifndef IS_MODULE
-static
-#endif
-void *
-gnupgext_enum_func( int what, int *sequence, int *class, int *vers )
-{
-    void *ret;
-    int i = *sequence;
-
-    do {
-       if( i >= DIM(func_table) || i < 0 ) {
-           return NULL;
-       }
-       *class = func_table[i].class;
-       *vers  = func_table[i].version;
-       switch( *class ) {
-         case 11:
-         case 21:
-         case 31:
-           ret = &func_table[i].value;
-           break;
-         default:
-#ifndef __riscos__
-           ret = func_table[i].func;
-#else /* __riscos__ */
-           ret = (void *) func_table[i].func;
-#endif /* __riscos__ */
-           break;
-       }
-       i++;
-    } while( what && what != *class );
-
-    *sequence = i;
-    return ret;
-}
-
-
-
-
-#ifndef IS_MODULE
-void
-rmd160_constructor(void)
-{
-    register_internal_cipher_extension( gnupgext_version, gnupgext_enum_func );
-}
-#endif
-