Sfoglia il codice sorgente

tests: unregister ciphers etc. at exit, call error_to_string()

Steffen Jaeckel 11 anni fa
parent
commit
a59e5548ec
1 ha cambiato i file con 132 aggiunte e 0 eliminazioni
  1. 132 0
      testprof/x86_prof.c

+ 132 - 0
testprof/x86_prof.c

@@ -123,9 +123,137 @@ void init_timer(void)
    fprintf(stderr, "Clock Skew: %lu\n", (unsigned long)skew);
 }
 
+/*
+ * unregister ciphers, hashes & prngs
+ */
+static void _unregister_all(void)
+{
+#ifdef LTC_RIJNDAEL
+  unregister_cipher(&aes_desc);
+#endif
+#ifdef LTC_BLOWFISH
+  unregister_cipher(&blowfish_desc);
+#endif
+#ifdef LTC_XTEA
+  unregister_cipher(&xtea_desc);
+#endif
+#ifdef LTC_RC5
+  unregister_cipher(&rc5_desc);
+#endif
+#ifdef LTC_RC6
+  unregister_cipher(&rc6_desc);
+#endif
+#ifdef LTC_SAFERP
+  unregister_cipher(&saferp_desc);
+#endif
+#ifdef LTC_TWOFISH
+  unregister_cipher(&twofish_desc);
+#endif
+#ifdef LTC_SAFER
+  unregister_cipher(&safer_k64_desc);
+  unregister_cipher(&safer_sk64_desc);
+  unregister_cipher(&safer_k128_desc);
+  unregister_cipher(&safer_sk128_desc);
+#endif
+#ifdef LTC_RC2
+  unregister_cipher(&rc2_desc);
+#endif
+#ifdef LTC_DES
+  unregister_cipher(&des_desc);
+  unregister_cipher(&des3_desc);
+#endif
+#ifdef LTC_CAST5
+  unregister_cipher(&cast5_desc);
+#endif
+#ifdef LTC_NOEKEON
+  unregister_cipher(&noekeon_desc);
+#endif
+#ifdef LTC_SKIPJACK
+  unregister_cipher(&skipjack_desc);
+#endif
+#ifdef LTC_KHAZAD
+  unregister_cipher(&khazad_desc);
+#endif
+#ifdef LTC_ANUBIS
+  unregister_cipher(&anubis_desc);
+#endif
+#ifdef LTC_KSEED
+  unregister_cipher(&kseed_desc);
+#endif
+#ifdef LTC_KASUMI
+  unregister_cipher(&kasumi_desc);
+#endif
+#ifdef LTC_MULTI2
+  unregister_cipher(&multi2_desc);
+#endif
+#ifdef LTC_CAMELLIA
+  unregister_cipher(&camellia_desc);
+#endif
+
+#ifdef LTC_TIGER
+  unregister_hash(&tiger_desc);
+#endif
+#ifdef LTC_MD2
+  unregister_hash(&md2_desc);
+#endif
+#ifdef LTC_MD4
+  unregister_hash(&md4_desc);
+#endif
+#ifdef LTC_MD5
+  unregister_hash(&md5_desc);
+#endif
+#ifdef LTC_SHA1
+  unregister_hash(&sha1_desc);
+#endif
+#ifdef LTC_SHA224
+  unregister_hash(&sha224_desc);
+#endif
+#ifdef LTC_SHA256
+  unregister_hash(&sha256_desc);
+#endif
+#ifdef LTC_SHA384
+  unregister_hash(&sha384_desc);
+#endif
+#ifdef LTC_SHA512
+  unregister_hash(&sha512_desc);
+#endif
+#ifdef LTC_RIPEMD128
+  unregister_hash(&rmd128_desc);
+#endif
+#ifdef LTC_RIPEMD160
+  unregister_hash(&rmd160_desc);
+#endif
+#ifdef LTC_RIPEMD256
+  unregister_hash(&rmd256_desc);
+#endif
+#ifdef LTC_RIPEMD320
+  unregister_hash(&rmd320_desc);
+#endif
+#ifdef LTC_WHIRLPOOL
+  unregister_hash(&whirlpool_desc);
+#endif
+#ifdef LTC_CHC_HASH
+  unregister_hash(&chc_desc);
+#endif
+
+  unregister_prng(&yarrow_desc);
+#ifdef LTC_FORTUNA
+  unregister_prng(&fortuna_desc);
+#endif
+#ifdef LTC_RC4
+  unregister_prng(&rc4_desc);
+#endif
+#ifdef LTC_SOBER128
+  unregister_prng(&sober128_desc);
+#endif
+} /* _cleanup() */
+
 void reg_algs(void)
 {
   int err;
+
+  atexit(_unregister_all);
+
 #ifdef LTC_RIJNDAEL
   register_cipher (&aes_desc);
 #endif
@@ -258,6 +386,10 @@ register_prng(&sober128_desc);
       exit(EXIT_FAILURE);
    }
 
+   if (strcmp("CRYPT_OK", error_to_string(err))) {
+       exit(EXIT_FAILURE);
+   }
+
 }
 
 int time_keysched(void)