Fixed a few bugs
[gnupg.git] / cipher / random.c
index dbf7147..ac98f54 100644 (file)
 #include <sys/time.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <string.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include "util.h"
 #include "cipher.h"
 #include "ttyio.h"
+#include "i18n.h"
 
 struct cache {
     int len;
@@ -51,7 +53,11 @@ quick_random_gen( int onoff )
     int last = quick_test;
     if( onoff != -1 )
        quick_test = onoff;
+  #ifdef HAVE_DEV_RANDOM
     return last;
+  #else
+    return 1; /* insecure RNG */
+  #endif
 }
 
 
@@ -137,9 +143,9 @@ fill_buffer( byte *buffer, size_t length, int level )
        tv.tv_usec = 0;
        if( !(rc=select(fd+1, &rfds, NULL, NULL, &tv)) ) {
            if( !warn )
-               tty_printf(
+               tty_printf( _(
 "\nNot enough random bytes available.  Please do some other work to give
-the OS a chance to collect more entropy! (Need %d more bytes)\n", length );
+the OS a chance to collect more entropy! (Need %d more bytes)\n"), length );
            warn = 1;
            continue;
        }
@@ -177,10 +183,10 @@ fill_buffer( byte *buffer, size_t length, int level )
     static int initialized=0;
 
     if( !initialized ) {
-       log_info("warning: using insecure random number generator!!\n");
-       tty_printf("The random number generator is only a kludge to let\n"
+       log_info(_("warning: using insecure random number generator!!\n"));
+       tty_printf(_("The random number generator is only a kludge to let\n"
                   "it compile - it is in no way a strong RNG!\n\n"
-                  "DON'T USE ANY DATA GENERATED BY THIS PROGRAM!!\n\n");
+                  "DON'T USE ANY DATA GENERATED BY THIS PROGRAM!!\n\n"));
        initialized=1;
       #ifdef HAVE_RAND
        srand(make_timestamp()*getpid());