* rndw32.c [__CYGWIN32__]: Don't include winioctl.h - it is not required
authorDavid Shaw <dshaw@jabberwocky.com>
Wed, 6 Nov 2002 17:32:37 +0000 (17:32 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Wed, 6 Nov 2002 17:32:37 +0000 (17:32 +0000)
anymore. (From Werner)

* random.c (read_seed_file,update_random_seed_file): Use binary mode for
__CYGWIN__. (From Werner)

* blowfish.c (burn_stack), cast5.c (burn_stack), des.c (burn_stack), md5.c
(burn_stack), random.c (burn_stack, read_pool, fast_random_poll),
rijndael.c (burn_stack), rmd160.c (burn_stack), rndegd.c
(rndegd_gather_random), rndlinux.c (rndlinux_gather_random), sha1.c
(burn_stack), tiger.c (burn_stack), twofish.c (burn_stack): Replace
various calls to memset() with the more secure wipememory().

14 files changed:
cipher/ChangeLog
cipher/blowfish.c
cipher/cast5.c
cipher/des.c
cipher/md5.c
cipher/random.c
cipher/rijndael.c
cipher/rmd160.c
cipher/rndegd.c
cipher/rndlinux.c
cipher/rndw32.c
cipher/sha1.c
cipher/tiger.c
cipher/twofish.c

index ce64401..44984d6 100644 (file)
@@ -1,3 +1,19 @@
+2002-11-06  David Shaw  <dshaw@jabberwocky.com>
+
+       * rndw32.c [__CYGWIN32__]: Don't include winioctl.h - it is not
+       required anymore. (From Werner)
+
+       * random.c (read_seed_file,update_random_seed_file): Use binary
+       mode for __CYGWIN__. (From Werner)
+
+       * blowfish.c (burn_stack), cast5.c (burn_stack), des.c
+        (burn_stack), md5.c (burn_stack), random.c (burn_stack, read_pool,
+       fast_random_poll), rijndael.c (burn_stack), rmd160.c (burn_stack),
+       rndegd.c (rndegd_gather_random), rndlinux.c
+        (rndlinux_gather_random), sha1.c (burn_stack), tiger.c
+       (burn_stack), twofish.c (burn_stack): Replace various calls to
+       memset() with the more secure wipememory().
+
 2002-11-02  David Shaw  <dshaw@jabberwocky.com>
 
        * cipher.c (string_to_cipher_algo), md.c (string_to_digest_algo):
index bf00fc4..7c9f952 100644 (file)
@@ -35,6 +35,7 @@
 #include <string.h>
 #include <assert.h>
 #include "types.h"
+#include "util.h"
 #include "errors.h"
 #include "algorithms.h"
 
@@ -282,7 +283,7 @@ burn_stack (int bytes)
 {
     char buf[64];
     
-    memset (buf, 0, sizeof buf);
+    wipememory(buf,sizeof buf);
     bytes -= sizeof buf;
     if (bytes > 0)
         burn_stack (bytes);
index 6373886..5ecfcc6 100644 (file)
@@ -40,6 +40,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include "types.h"
+#include "util.h"
 #include "errors.h"
 #include "algorithms.h"
 
@@ -359,7 +360,7 @@ burn_stack (int bytes)
 {
     char buf[64];
     
-    memset (buf, 0, sizeof buf);
+    wipememory(buf,sizeof buf);
     bytes -= sizeof buf;
     if (bytes > 0)
         burn_stack (bytes);
index 36383d2..5c0e496 100644 (file)
 #include <stdio.h>
 #include <string.h>           /* memcpy, memcmp */
 #include "types.h"             /* for byte and u32 typedefs */
+#include "util.h"
 #include "errors.h"
 #include "algorithms.h"
 
@@ -453,7 +454,7 @@ burn_stack (int bytes)
 {
     char buf[64];
     
-    memset (buf, 0, sizeof buf);
+    wipememory(buf,sizeof buf);
     bytes -= sizeof buf;
     if (bytes > 0)
         burn_stack (bytes);
index ca605b6..1d1f761 100644 (file)
@@ -78,7 +78,7 @@ burn_stack (int bytes)
 {
     char buf[128];
     
-    memset (buf, 0, sizeof buf);
+    wipememory(buf,sizeof buf);
     bytes -= sizeof buf;
     if (bytes > 0)
         burn_stack (bytes);
index c2dea9c..8b750a7 100644 (file)
@@ -205,7 +205,7 @@ burn_stack (int bytes)
 {
     char buf[128];
     
-    memset (buf, 0, sizeof buf);
+    wipememory(buf,sizeof buf);
     bytes -= sizeof buf;
     if (bytes > 0)
         burn_stack (bytes);
@@ -311,9 +311,9 @@ mix_pool(byte *pool)
     RMD160_CONTEXT md;
 
     rmd160_init( &md );
- #if DIGESTLEN != 20
+#if DIGESTLEN != 20
     #error must have a digest length of 20 for ripe-md-160
- #endif
+#endif
     /* loop over the pool */
     pend = pool + POOLSIZE;
     memcpy(hashbuf, pend - DIGESTLEN, DIGESTLEN );
@@ -367,11 +367,11 @@ read_seed_file(void)
     if( !seed_file_name )
        return 0;
 
-  #ifdef HAVE_DOSISH_SYSTEM
+#if defined(HAVE_DOSISH_SYSTEM) || defined(__CYGWIN__)
     fd = open( seed_file_name, O_RDONLY | O_BINARY );
-  #else
+#else
     fd = open( seed_file_name, O_RDONLY );
-  #endif
+#endif
     if( fd == -1 && errno == ENOENT) {
        allow_seed_file_update = 1;
        return 0;
@@ -457,12 +457,12 @@ update_random_seed_file()
     mix_pool(rndpool); rndstats.mixrnd++;
     mix_pool(keypool); rndstats.mixkey++;
 
-  #ifdef HAVE_DOSISH_SYSTEM
+#if defined(HAVE_DOSISH_SYSTEM) || defined(__CYGWIN__)
     fd = open( seed_file_name, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,
                                                        S_IRUSR|S_IWUSR );
-  #else
+#else
     fd = open( seed_file_name, O_WRONLY|O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR );
-  #endif
+#endif
     if( fd == -1 ) {
        log_info(_("can't create `%s': %s\n"), seed_file_name, strerror(errno) );
        return;
@@ -564,7 +564,7 @@ read_pool( byte *buffer, size_t length, int level )
        if( pool_balance < 0 )
            pool_balance = 0;
        /* and clear the keypool */
-       memset( keypool, 0, POOLSIZE );
+       wipememory(keypool, POOLSIZE);
     }
 }
 
@@ -673,7 +673,7 @@ fast_random_poll()
         getrusage( RUSAGE_SELF, &buf );
         
        add_randomness( &buf, sizeof buf, 1 );
-       memset( &buf, 0, sizeof buf );
+       wipememory( &buf, sizeof buf );
     }
     #endif
   #endif
index 62c5bc2..a30cd5f 100644 (file)
@@ -1713,7 +1713,7 @@ burn_stack (int bytes)
 {
     char buf[64];
     
-    memset (buf, 0, sizeof buf);
+    wipememory(buf,sizeof buf);
     bytes -= sizeof buf;
     if (bytes > 0)
         burn_stack (bytes);
index 54dec6a..d8e8584 100644 (file)
@@ -146,7 +146,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);
index 5f71ab8..df31ce1 100644 (file)
@@ -221,7 +221,7 @@ rndegd_gather_random( void (*add)(const void*, size_t, int), int requester,
        (*add)( buffer, n, requester );
        length -= n;
     }
-    memset(buffer, 0, sizeof(buffer) );
+    wipememory(buffer, sizeof(buffer) );
 
     return 0; /* success */
 }
index c31b7f7..2b28e4b 100644 (file)
@@ -156,7 +156,7 @@ _("\n"
        (*add)( buffer, n, requester );
        length -= n;
     }
-    memset(buffer, 0, sizeof(buffer) );
+    wipememory(buffer, sizeof(buffer) );
 
     return 0; /* success */
 }
index c5f855c..4ed4f77 100644 (file)
@@ -70,9 +70,6 @@
 #include <string.h>
 
 #include <windows.h>
-#ifdef __CYGWIN32__
-# include <winioctl.h>
-#endif
 
 
 #include "types.h"
index 06ca253..149c4c1 100644 (file)
@@ -54,7 +54,7 @@ burn_stack (int bytes)
 {
     char buf[128];
     
-    memset (buf, 0, sizeof buf);
+    wipememory(buf,sizeof buf);
     bytes -= sizeof buf;
     if (bytes > 0)
         burn_stack (bytes);
index 1bb3375..54cafe5 100644 (file)
@@ -635,7 +635,7 @@ burn_stack (int bytes)
 {
     char buf[256];
     
-    memset (buf, 0, sizeof buf);
+    wipememory(buf,sizeof buf);
     bytes -= sizeof buf;
     if (bytes > 0)
         burn_stack (bytes);
index 5ed4487..a6a571f 100644 (file)
@@ -550,7 +550,7 @@ burn_stack (int bytes)
 {
     char buf[64];
     
-    memset (buf, 0, sizeof buf);
+    wipememory(buf,sizeof buf);
     bytes -= sizeof buf;
     if (bytes > 0)
         burn_stack (bytes);