added some trust model stuff
authorWerner Koch <wk@gnupg.org>
Fri, 16 Jan 1998 21:15:20 +0000 (21:15 +0000)
committerWerner Koch <wk@gnupg.org>
Fri, 16 Jan 1998 21:15:20 +0000 (21:15 +0000)
12 files changed:
cipher/blowfish.c
cipher/md.c
cipher/md5.c
cipher/misc.c
cipher/primegen.c
cipher/random.c
configure.in
mpi/mpi-bit.c
mpi/mpi-internal.h
mpi/mpi-pow.c
mpi/mpicoder.c
mpi/mpiutil.c

index 5dbaf71..81e33d0 100644 (file)
@@ -412,7 +412,7 @@ selftest()
 void
 blowfish_setkey( BLOWFISH_context *c, byte *key, unsigned keylen )
 {
-    int i, j, k;
+    int i, j;
     u32 data, datal, datar;
     static int initialized;
 
index e88a45c..eb7b7b8 100644 (file)
@@ -144,7 +144,7 @@ md_read( MD_HANDLE a, int algo )
        if( algo == DIGEST_ALGO_MD5 )
            return md5_read( &a->md5 );
     }
-    log_bug(NULL);
+    BUG();
 }
 
 int
index 6906503..c9f9a86 100644 (file)
@@ -73,7 +73,6 @@
 #endif
 
 
-static void Init( MD5_CONTEXT *mdContext);
 static void Transform(u32 *buf,u32 *in);
 
 static byte PADDING[64] = {
index cd0d31a..7c8f2e3 100644 (file)
@@ -67,7 +67,7 @@ string_to_cipher_algo( const char *string )
     int i;
     const char *s;
 
-    for(i=0; s=cipher_names[i].name; i++ )
+    for(i=0; (s=cipher_names[i].name); i++ )
        if( !stricmp( s, string ) )
            return cipher_names[i].algo;
     return 0;
@@ -83,7 +83,7 @@ string_to_pubkey_algo( const char *string )
     int i;
     const char *s;
 
-    for(i=0; s=pubkey_names[i].name; i++ )
+    for(i=0; (s=pubkey_names[i].name); i++ )
        if( !stricmp( s, string ) )
            return pubkey_names[i].algo;
     return 0;
@@ -98,7 +98,7 @@ string_to_digest_algo( const char *string )
     int i;
     const char *s;
 
-    for(i=0; s=digest_names[i].name; i++ )
+    for(i=0; (s=digest_names[i].name); i++ )
        if( !stricmp( s, string ) )
            return digest_names[i].algo;
     return 0;
index 3f6c1f3..9514fda 100644 (file)
@@ -319,8 +319,6 @@ check_prime( MPI prime )
     int i;
     unsigned x;
     int count=0;
-    MPI result;
-    MPI val_2;
 
     /* check against small primes */
     for(i=0; (x = small_prime_numbers[i]); i++ ) {
@@ -431,7 +429,7 @@ m_out_of_n( char *array, int m, int n )
                array[i] = 1;
                return;
            }
-       log_bug(NULL);
+       BUG();
     }
 
     for(j=1; j < n; j++ ) {
index 41f001e..b082022 100644 (file)
@@ -30,6 +30,7 @@
 #include <fcntl.h>
 #include "util.h"
 #include "cipher.h"
+#include "ttyio.h"
 
 struct cache {
     int len;
@@ -41,6 +42,18 @@ static struct cache cache[3];
 
 
 static void fill_buffer( byte *buffer, size_t length, int level );
+static int quick_test;
+
+
+int
+quick_random_gen( int onoff )
+{
+    int last = quick_test;
+    if( onoff != -1 )
+       quick_test = onoff;
+    return last;
+}
+
 
 /****************
  * Fill the buffer with LENGTH bytes of cryptologic strong
@@ -95,14 +108,13 @@ open_device( const char *name, int minor )
 static void
 fill_buffer( byte *buffer, size_t length, int level )
 {
-    FILE *fp;
     static int fd_urandom = -1;
     static int fd_random = -1;
     int fd;
     int n;
     int warn=0;
 
-    if( level == 2 ) {
+    if( level == 2 && !quick_test ) {
        if( fd_random == -1 )
            fd_random = open_device( "/dev/random", 8 );
        fd = fd_random;
index f01033b..6a97d41 100644 (file)
@@ -19,8 +19,8 @@ AC_ARG_ENABLE(m-debug,
 [  --enable-m-debug    Enable debugging of memory allocation])
 if test "$enableval" = y || test "$enableval" = yes; then
     AC_DEFINE(M_DEBUG)
-    CFLAGS=-g
 fi
+CFLAGS="-g -Wall"
 
 dnl some additional macros
 
index 1eb63a0..864dc02 100644 (file)
@@ -32,8 +32,7 @@
 unsigned
 mpi_get_nbits( MPI a )
 {
-    unsigned nbits;
-    unsigned n, count = 0;
+    unsigned n;
 
     if( a->nlimbs ) {
        mpi_limb_t alimb = a->d[a->nlimbs-1];
index f084c7e..638d980 100644 (file)
@@ -193,7 +193,7 @@ void mpih_sqr_n_basecase( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t size );
 void mpih_sqr_n( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t size,
                                                mpi_ptr_t tspace);
 
-/*-- mpihelp-mul_1.c (or xxx/cpu/*.S) --*/
+/*-- mpihelp-mul_1.c (or xxx/cpu/ *.S) --*/
 mpi_limb_t mpihelp_mul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
                          mpi_size_t s1_size, mpi_limb_t s2_limb);
 
index fcf500c..2df34b7 100644 (file)
@@ -52,7 +52,7 @@ mpi_powm( MPI res, MPI base, MPI exp, MPI mod)
     mpi_ptr_t xp_marker=NULL;
     int assign_rp=0;
     mpi_ptr_t tspace = NULL;
-    mpi_size_t tsize;
+    mpi_size_t tsize=0;   /* to avoid compiler warning, fixme: check */
 
     esize = exp->nlimbs;
     msize = mod->nlimbs;
index 43b97be..7558399 100644 (file)
 int
 mpi_write( IOBUF out, MPI a )
 {
-    int i;
-    unsigned nbits = a->nlimbs * BITS_PER_MPI_LIMB;
-    mpi_limb_t limb;
+    int rc;
+    unsigned nbits = mpi_get_nbits(a);
+    byte *p, *buf;
+    unsigned n;
 
-    /* fixme: use a->nbits if valid */
     if( nbits > MAX_EXTERN_MPI_BITS )
        log_bug("mpi_encode: mpi too large (%u bits)\n", nbits);
+
     iobuf_put(out, (nbits >>8) );
     iobuf_put(out, (nbits) );
-    for(i=a->nlimbs-1; i >= 0; i-- ) {
-       limb = a->d[i];
-      #if BYTES_PER_MPI_LIMB == 4
-       iobuf_put(out, (limb >> 24) );
-       iobuf_put(out, (limb >> 16) );
-       iobuf_put(out, (limb >>  8) );
-       iobuf_put(out, (limb      ) );
-      #elif BYTES_PER_MPI_LIMB == 8
-       iobuf_put(out, (limb >> 56) );
-       iobuf_put(out, (limb >> 48) );
-       iobuf_put(out, (limb >> 40) );
-       iobuf_put(out, (limb >> 32) );
-       iobuf_put(out, (limb >> 24) );
-       iobuf_put(out, (limb >> 16) );
-       iobuf_put(out, (limb >>  8) );
-       iobuf_put(out, (limb      ) );
-      #else
-       #error Make this function work with other LIMB sizes
-      #endif
-    }
-    return 0;
+
+    p = buf = mpi_get_buffer( a, &n, NULL );
+    for( ; !*p && n; p++, n-- )
+       ;
+    rc = iobuf_write( out, p, n );
+    m_free(buf);
+    return rc;
 }
 
 
@@ -225,13 +212,22 @@ mpi_print( FILE *fp, MPI a, int mode )
     if( a == MPI_NULL )
        return fprintf(fp, "[MPI_NULL]");
     if( !mode )
-       n += fprintf(fp, "[%d bits]", a->nlimbs * BITS_PER_MPI_LIMB );
+       n += fprintf(fp, "[%u bits]", mpi_get_nbits(a) );
     else {
        if( a->sign )
            putc('-', fp);
+       #if BYTES_PER_MPI_LIMB == 2
+         #define X "4"
+       #elif BYTES_PER_MPI_LIMB == 4
+         #define X "8"
+       #elif BYTES_PER_MPI_LIMB == 8
+         #define X "16"
+       #else
+         #error please define the format here
+       #endif
        for(i=a->nlimbs; i > 0 ; i-- ) {
-           n += fprintf(fp, i!=a->nlimbs? "%0" STR2(BYTES_PER_MPI_LIMB2)
-                               "lX":"%lX", (unsigned long)a->d[i-1] );
+           n += fprintf(fp, i!=a->nlimbs? "%0" X "lX":"%lX", (ulong)a->d[i-1]);
+       #undef X
        }
        if( !a->nlimbs )
            putc('0', fp );
index 0c8e648..068a9a3 100644 (file)
@@ -45,7 +45,7 @@ mpi_alloc( unsigned nlimbs )
     MPI a;
 
     if( DBG_MEMORY )
-       log_debug("mpi_alloc(%lu)\n", nlimbs*BITS_PER_MPI_LIMB );
+       log_debug("mpi_alloc(%u)\n", nlimbs*BITS_PER_MPI_LIMB );
   #ifdef M_DEBUG
     a = m_debug_alloc( sizeof *a, info );
     a->d = nlimbs? mpi_debug_alloc_limb_space( nlimbs, 0, info ) : NULL;
@@ -77,7 +77,7 @@ mpi_alloc_secure( unsigned nlimbs )
     MPI a;
 
     if( DBG_MEMORY )
-       log_debug("mpi_alloc_secure(%lu)\n", nlimbs*BITS_PER_MPI_LIMB );
+       log_debug("mpi_alloc_secure(%u)\n", nlimbs*BITS_PER_MPI_LIMB );
   #ifdef M_DEBUG
     a = m_debug_alloc( sizeof *a, info );
     a->d = nlimbs? mpi_debug_alloc_limb_space( nlimbs, 1, info ) : NULL;