Make it build.
[openssl.git] / crypto / evp / p5_crpt2_test.c
index cf02851246591192f45fcf8defa19ee8c14000f4..3527a21fecdc28336f314a3d2a1e0861ded05cb1 100644 (file)
 #include <openssl/err.h>
 #include <openssl/conf.h>
 
+#ifdef OPENSSL_NO_SHA
+int main(int argc, char *argv[])
+{
+    printf("No SHA support\n");
+    return(0);
+}
+#else
+
 typedef struct {
        const char *pass;
        int passlen;
@@ -113,7 +121,7 @@ hexdump(FILE *f, const char *title, const unsigned char *s, int l) {
        int i;
        fprintf(f, "%s", title);
        for(i=0; i < l ; i++) {
-               fprintf(f, " 0x%02x", s[i]);
+               fprintf(f, "%02x", s[i]);
        }
        fprintf(f, "\n");
 }
@@ -129,7 +137,7 @@ convert(unsigned char *dst, const unsigned char *src, int len) {
        *dst = 0;
 }
 
-void
+static void
 test_p5_pbkdf2(int i, char *digestname, testdata *test, const char *hex)
 {
        const EVP_MD *digest;
@@ -192,9 +200,15 @@ int main(int argc,char **argv) {
 
        printf("PKCS5_PBKDF2_HMAC() tests ");
        for (i=0; test->pass != NULL; i++, test++) {
+#ifndef OPENSSL_NO_SHA0
                test_p5_pbkdf2(i, "sha1", test, sha1_results[i]);
+#endif
+#ifndef OPENSSL_NO_SHA256
                test_p5_pbkdf2(i, "sha256", test, sha256_results[i]);
+#endif
+#ifndef OPENSSL_NO_SHA512
                test_p5_pbkdf2(i, "sha512", test, sha512_results[i]);
+#endif
                printf(".");
        }
        printf(" done\n");
@@ -204,8 +218,9 @@ int main(int argc,char **argv) {
 #endif
        EVP_cleanup();
        CRYPTO_cleanup_all_ex_data();
-       ERR_remove_state(0);
+       ERR_remove_thread_state(NULL);
        ERR_free_strings();
        CRYPTO_mem_leaks_fp(stderr);
        return 0;
 }
+#endif /* OPENSSL_NO_SHA */