2003-04-27 Moritz Schulte <moritz@g10code.com>
authorMoritz Schulte <mo@g10code.com>
Sun, 27 Apr 2003 19:22:29 +0000 (19:22 +0000)
committerMoritz Schulte <mo@g10code.com>
Sun, 27 Apr 2003 19:22:29 +0000 (19:22 +0000)
* md.c (gcry_md_get_algo_dlen): Simplified, simply call
md_digest_length to do the job.

* des.c (do_des_setkey): Check for selftest failure not only
during initialization.
(do_tripledes_setkey): Include check for selftest failure.

cipher/des.c
cipher/md.c

index 79de0e0..250818e 100644 (file)
@@ -1024,11 +1024,12 @@ do_des_setkey (void *context, const byte *key, unsigned keylen)
     {
       initialized = 1;
       selftest_failed = selftest ();
+
       if (selftest_failed)
-       log_error ("%s\n", selftest_failed); 
-      if (selftest_failed)
-       return GCRYERR_SELFTEST;
-   }
+       log_error ("%s\n", selftest_failed);
+    }
+  if (selftest_failed)
+    return GCRYERR_SELFTEST;
 
   if (keylen != 8)
     return GCRYERR_INV_KEYLEN;
index eda2b53..1d0f9f9 100644 (file)
@@ -942,29 +942,9 @@ md_digest_length (int id)
  * This function will return 0 in case of errors.
  */
 unsigned int
-gcry_md_get_algo_dlen( int algo )
+gcry_md_get_algo_dlen (int id)
 {
-  /* we cheat a little bit */
-  switch( algo )
-    {
-    case GCRY_MD_MD4:
-    case GCRY_MD_MD5: return 16;
-    case GCRY_MD_SHA1:
-    case GCRY_MD_RMD160: return 20;
-    case GCRY_MD_SHA256: return 32;
-    case GCRY_MD_SHA384: return 48;
-    case GCRY_MD_SHA512: return 64;
-    case GCRY_MD_CRC32:
-    case GCRY_MD_CRC32_RFC1510: return 4;
-    case GCRY_MD_CRC24_RFC2440: return 3;
-    default: 
-      {
-        int len = md_digest_length( algo );
-        if( !len )
-          set_lasterr( GCRYERR_INV_MD_ALGO );
-        return 0;
-      }
-    }
+  return md_digest_length (id);
 }