hcrypto: Remove MD2 with prejudice

We don't use it anywhere for anything.
This commit is contained in:
Nicolas Williams
2022-10-25 22:20:45 -05:00
parent bad07f7738
commit 3a5e91eca2
25 changed files with 9 additions and 221 deletions

View File

@@ -16,7 +16,6 @@ CLEANFILES = \
evp-hcrypto.h \ evp-hcrypto.h \
evp-cc.h \ evp-cc.h \
hmac.h \ hmac.h \
md2.h \
md4.h \ md4.h \
md5.h \ md5.h \
pkcs12.h \ pkcs12.h \

View File

@@ -83,8 +83,8 @@ struct tls_values {
static HEIMDAL_THREAD_LOCAL struct tls_values values; static HEIMDAL_THREAD_LOCAL struct tls_values values;
static char dead_key; static char dead_key[1];
#define DEAD_KEY ((void *)&dead_key) static void no_dtor(void *d) { (void)d; }
void void
heim_w32_service_thread_detach(void *unused) heim_w32_service_thread_detach(void *unused)
@@ -112,7 +112,7 @@ heim_w32_service_thread_detach(void *unused)
assert(i < key_defs->keys_start_idx + key_defs->keys_num); assert(i < key_defs->keys_start_idx + key_defs->keys_num);
} }
dtor = key_defs->keys_dtors[i - key_defs->keys_start_idx]; dtor = key_defs->keys_dtors[i - key_defs->keys_start_idx];
if (values.values[i] != NULL && dtor != NULL && dtor != DEAD_KEY) if (values.values[i] != NULL && dtor != NULL && dtor != no_dtor)
dtor(values.values[i]); dtor(values.values[i]);
values.values[i] = NULL; values.values[i] = NULL;
} }
@@ -151,7 +151,7 @@ heim_w32_key_create(HEIM_PRIV_thread_key *key, void (*dtor)(void *))
#if !defined(WIN32) #if !defined(WIN32)
(void) pthread_once(&pt_once, create_pt_key); (void) pthread_once(&pt_once, create_pt_key);
(void) pthread_setspecific(pt_key, DEAD_KEY); (void) pthread_setspecific(pt_key, dead_key);
#endif #endif
HEIMDAL_MUTEX_lock(&tls_key_defs_lock); HEIMDAL_MUTEX_lock(&tls_key_defs_lock);
@@ -267,7 +267,7 @@ heim_w32_delete_key(HEIM_PRIV_thread_key key)
key_lookup(key, &key_defs, &dtor_idx, NULL); key_lookup(key, &key_defs, &dtor_idx, NULL);
if (key_defs == NULL) if (key_defs == NULL)
return EINVAL; return EINVAL;
key_defs->keys_dtors[dtor_idx] = DEAD_KEY; key_defs->keys_dtors[dtor_idx] = no_dtor;
return 0; return 0;
} }
@@ -280,7 +280,7 @@ heim_w32_setspecific(HEIM_PRIV_thread_key key, void *value)
size_t i; size_t i;
#if !defined(WIN32) #if !defined(WIN32)
(void) pthread_setspecific(pt_key, DEAD_KEY); (void) pthread_setspecific(pt_key, dead_key);
#endif #endif
key_lookup(key, NULL, NULL, &dtor); key_lookup(key, NULL, NULL, &dtor);
@@ -305,7 +305,7 @@ heim_w32_setspecific(HEIM_PRIV_thread_key key, void *value)
assert(key < values.values_num); assert(key < values.values_num);
if (values.values[key] != NULL && dtor != NULL && dtor != DEAD_KEY) if (values.values[key] != NULL && dtor != NULL && dtor != no_dtor)
dtor(values.values[key]); dtor(values.values[key]);
values.values[key] = value; values.values[key] = value;

View File

@@ -51,7 +51,6 @@ hcryptoinclude_HEADERS = \
evp-openssl.h \ evp-openssl.h \
evp-pkcs11.h \ evp-pkcs11.h \
hmac.h \ hmac.h \
md2.h \
md4.h \ md4.h \
md5.h \ md5.h \
pkcs12.h \ pkcs12.h \
@@ -160,8 +159,6 @@ libhcrypto_la_SOURCES = \
hash.h \ hash.h \
hmac.c \ hmac.c \
hmac.h \ hmac.h \
md2.c \
md2.h \
md4.c \ md4.c \
md4.h \ md4.h \
md5.c \ md5.c \

View File

@@ -76,7 +76,6 @@ INCFILES= \
$(HCRYPTOINCLUDEDIR)\evp-wincng.h \ $(HCRYPTOINCLUDEDIR)\evp-wincng.h \
$(HCRYPTOINCLUDEDIR)\evp-w32.h \ $(HCRYPTOINCLUDEDIR)\evp-w32.h \
$(HCRYPTOINCLUDEDIR)\hmac.h \ $(HCRYPTOINCLUDEDIR)\hmac.h \
$(HCRYPTOINCLUDEDIR)\md2.h \
$(HCRYPTOINCLUDEDIR)\md4.h \ $(HCRYPTOINCLUDEDIR)\md4.h \
$(HCRYPTOINCLUDEDIR)\md5.h \ $(HCRYPTOINCLUDEDIR)\md5.h \
$(HCRYPTOINCLUDEDIR)\pkcs12.h \ $(HCRYPTOINCLUDEDIR)\pkcs12.h \
@@ -124,7 +123,6 @@ libhcrypto_OBJs = \
$(OBJ)\evp-w32.obj \ $(OBJ)\evp-w32.obj \
$(OBJ)\engine.obj \ $(OBJ)\engine.obj \
$(OBJ)\hmac.obj \ $(OBJ)\hmac.obj \
$(OBJ)\md2.obj \
$(OBJ)\md4.obj \ $(OBJ)\md4.obj \
$(OBJ)\md5.obj \ $(OBJ)\md5.obj \
$(OBJ)\pkcs5.obj \ $(OBJ)\pkcs5.obj \

View File

@@ -70,7 +70,7 @@
typedef struct hc_engine ENGINE; typedef struct hc_engine ENGINE;
#define NID_md2 0 /*#define NID_md2 0 */
#define NID_md4 1 #define NID_md4 1
#define NID_md5 2 #define NID_md5 2
#define NID_sha1 4 #define NID_sha1 4

View File

@@ -605,32 +605,6 @@ EVP_cc_rc2_64_cbc(void)
#endif #endif
} }
/**
* The CommonCrypto md2 provider
*
* @ingroup hcrypto_evp
*/
const EVP_MD *
EVP_cc_md2(void)
{
#ifdef HAVE_COMMONCRYPTO_COMMONDIGEST_H
static const struct hc_evp_md md2 = {
CC_MD2_DIGEST_LENGTH,
CC_MD2_BLOCK_BYTES,
sizeof(CC_MD2_CTX),
(hc_evp_md_init)CC_MD2_Init,
(hc_evp_md_update)CC_MD2_Update,
(hc_evp_md_final)CC_MD2_Final,
(hc_evp_md_cleanup)NULL
};
return &md2;
#elif HCRYPTO_FALLBACK
return EVP_hcrypto_md2();
#else
return NULL;
#endif
}
/** /**
* The CommonCrypto md4 provider * The CommonCrypto md4 provider

View File

@@ -37,7 +37,6 @@
#define HEIM_EVP_CC_H 1 #define HEIM_EVP_CC_H 1
/* symbol renaming */ /* symbol renaming */
#define EVP_cc_md2 hc_EVP_cc_md2
#define EVP_cc_md4 hc_EVP_cc_md4 #define EVP_cc_md4 hc_EVP_cc_md4
#define EVP_cc_md5 hc_EVP_cc_md5 #define EVP_cc_md5 hc_EVP_cc_md5
#define EVP_cc_sha1 hc_EVP_cc_sha1 #define EVP_cc_sha1 hc_EVP_cc_sha1
@@ -67,7 +66,6 @@
HC_CPP_BEGIN HC_CPP_BEGIN
const EVP_MD * EVP_cc_md2(void);
const EVP_MD * EVP_cc_md4(void); const EVP_MD * EVP_cc_md4(void);
const EVP_MD * EVP_cc_md5(void); const EVP_MD * EVP_cc_md5(void);
const EVP_MD * EVP_cc_sha1(void); const EVP_MD * EVP_cc_sha1(void);

View File

@@ -51,7 +51,6 @@
#include <rc4.h> #include <rc4.h>
#include <sha.h> #include <sha.h>
#include <md2.h>
#include <md4.h> #include <md4.h>
#include <md5.h> #include <md5.h>
@@ -401,28 +400,6 @@ EVP_hcrypto_md4(void)
return &md4; return &md4;
} }
/**
* The message digest MD2 - hcrypto
*
* @return the message digest type.
*
* @ingroup hcrypto_evp
*/
const EVP_MD *
EVP_hcrypto_md2(void)
{
static const struct hc_evp_md md2 = {
16,
16,
sizeof(MD2_CTX),
(hc_evp_md_init)MD2_Init,
(hc_evp_md_update)MD2_Update,
(hc_evp_md_final)MD2_Final,
NULL
};
return &md2;
}
/* /*
* *

View File

@@ -37,7 +37,6 @@
#define HEIM_EVP_HCRYPTO_H 1 #define HEIM_EVP_HCRYPTO_H 1
/* symbol renaming */ /* symbol renaming */
#define EVP_hcrypto_md2 hc_EVP_hcrypto_md2
#define EVP_hcrypto_md4 hc_EVP_hcrypto_md4 #define EVP_hcrypto_md4 hc_EVP_hcrypto_md4
#define EVP_hcrypto_md5 hc_EVP_hcrypto_md5 #define EVP_hcrypto_md5 hc_EVP_hcrypto_md5
#define EVP_hcrypto_sha1 hc_EVP_hcrypto_sha1 #define EVP_hcrypto_sha1 hc_EVP_hcrypto_sha1
@@ -67,7 +66,6 @@
HC_CPP_BEGIN HC_CPP_BEGIN
const EVP_MD * EVP_hcrypto_md2(void);
const EVP_MD * EVP_hcrypto_md4(void); const EVP_MD * EVP_hcrypto_md4(void);
const EVP_MD * EVP_hcrypto_md5(void); const EVP_MD * EVP_hcrypto_md5(void);
const EVP_MD * EVP_hcrypto_sha1(void); const EVP_MD * EVP_hcrypto_sha1(void);

View File

@@ -580,15 +580,6 @@ OSSL_CIPHER_ALGORITHM(rc4_40,
hc_EVP_CIPH_STREAM_CIPHER | hc_EVP_CIPH_STREAM_CIPHER |
hc_EVP_CIPH_VARIABLE_LENGTH) hc_EVP_CIPH_VARIABLE_LENGTH)
/**
* The MD2 hash algorithm (OpenSSL provider)
*
* @return the MD2 EVP_MD pointer.
*
* @ingroup hcrypto_evp
*/
OSSL_MD_ALGORITHM(md2)
/** /**
* The MD4 hash algorithm (OpenSSL provider) * The MD4 hash algorithm (OpenSSL provider)
* *

View File

@@ -37,7 +37,6 @@
#define HEIM_EVP_OSSL_H 1 #define HEIM_EVP_OSSL_H 1
/* symbol renaming */ /* symbol renaming */
#define EVP_ossl_md2 hc_EVP_ossl_md2
#define EVP_ossl_md4 hc_EVP_ossl_md4 #define EVP_ossl_md4 hc_EVP_ossl_md4
#define EVP_ossl_md5 hc_EVP_ossl_md5 #define EVP_ossl_md5 hc_EVP_ossl_md5
#define EVP_ossl_sha1 hc_EVP_ossl_sha1 #define EVP_ossl_sha1 hc_EVP_ossl_sha1
@@ -67,7 +66,6 @@
HC_CPP_BEGIN HC_CPP_BEGIN
const hc_EVP_MD * hc_EVP_ossl_md2(void);
const hc_EVP_MD * hc_EVP_ossl_md4(void); const hc_EVP_MD * hc_EVP_ossl_md4(void);
const hc_EVP_MD * hc_EVP_ossl_md5(void); const hc_EVP_MD * hc_EVP_ossl_md5(void);
const hc_EVP_MD * hc_EVP_ossl_sha1(void); const hc_EVP_MD * hc_EVP_ossl_sha1(void);

View File

@@ -819,7 +819,6 @@ PKCS11_CIPHER_ALGORITHM(rc4_40,
0, 0,
EVP_CIPH_STREAM_CIPHER | EVP_CIPH_VARIABLE_LENGTH) EVP_CIPH_STREAM_CIPHER | EVP_CIPH_VARIABLE_LENGTH)
PKCS11_MD_ALGORITHM(md2, CKM_MD2, 16, 16)
#ifdef CKM_MD4 /* non-standard extension */ #ifdef CKM_MD4 /* non-standard extension */
PKCS11_MD_ALGORITHM(md4, CKM_MD4, 16, 64) PKCS11_MD_ALGORITHM(md4, CKM_MD4, 16, 64)
#else #else

View File

@@ -35,7 +35,6 @@
/* symbol renaming */ /* symbol renaming */
#define EVP_pkcs11_md2() hc_EVP_pkcs11_md2()
#define EVP_pkcs11_md4() hc_EVP_pkcs11_md4() #define EVP_pkcs11_md4() hc_EVP_pkcs11_md4()
#define EVP_pkcs11_md5() hc_EVP_pkcs11_md5() #define EVP_pkcs11_md5() hc_EVP_pkcs11_md5()
#define EVP_pkcs11_sha1() hc_EVP_pkcs11_sha1() #define EVP_pkcs11_sha1() hc_EVP_pkcs11_sha1()
@@ -59,7 +58,6 @@
#define EVP_pkcs11_camellia_192_cbc() hc_EVP_pkcs11_camellia_192_cbc() #define EVP_pkcs11_camellia_192_cbc() hc_EVP_pkcs11_camellia_192_cbc()
#define EVP_pkcs11_camellia_256_cbc() hc_EVP_pkcs11_camellia_256_cbc() #define EVP_pkcs11_camellia_256_cbc() hc_EVP_pkcs11_camellia_256_cbc()
#define EVP_pkcs11_hcrypto_md2() hc_EVP_pkcs11_hcrypto_md2()
#define EVP_pkcs11_hcrypto_md4() hc_EVP_pkcs11_hcrypto_md4() #define EVP_pkcs11_hcrypto_md4() hc_EVP_pkcs11_hcrypto_md4()
#define EVP_pkcs11_hcrypto_md5() hc_EVP_pkcs11_hcrypto_md5() #define EVP_pkcs11_hcrypto_md5() hc_EVP_pkcs11_hcrypto_md5()
#define EVP_pkcs11_hcrypto_sha1() hc_EVP_pkcs11_hcrypto_sha1() #define EVP_pkcs11_hcrypto_sha1() hc_EVP_pkcs11_hcrypto_sha1()
@@ -89,7 +87,6 @@ HC_CPP_BEGIN
* Strict PKCS#11 implementations (these will return NULL if the underlying * Strict PKCS#11 implementations (these will return NULL if the underlying
* PKCS#11 implementation does not implement the cipher or hash). * PKCS#11 implementation does not implement the cipher or hash).
*/ */
const EVP_MD * hc_EVP_pkcs11_md2(void);
const EVP_MD * hc_EVP_pkcs11_md4(void); const EVP_MD * hc_EVP_pkcs11_md4(void);
const EVP_MD * hc_EVP_pkcs11_md5(void); const EVP_MD * hc_EVP_pkcs11_md5(void);
const EVP_MD * hc_EVP_pkcs11_sha1(void); const EVP_MD * hc_EVP_pkcs11_sha1(void);
@@ -122,7 +119,6 @@ const EVP_CIPHER * hc_EVP_pkcs11_camellia_256_cbc(void);
/* /*
* PKCS#11 implementations with fallback to hcrypto. * PKCS#11 implementations with fallback to hcrypto.
*/ */
const EVP_MD * hc_EVP_pkcs11_hcrypto_md2(void);
const EVP_MD * hc_EVP_pkcs11_hcrypto_md4(void); const EVP_MD * hc_EVP_pkcs11_hcrypto_md4(void);
const EVP_MD * hc_EVP_pkcs11_hcrypto_md5(void); const EVP_MD * hc_EVP_pkcs11_hcrypto_md5(void);
const EVP_MD * hc_EVP_pkcs11_hcrypto_sha1(void); const EVP_MD * hc_EVP_pkcs11_hcrypto_sha1(void);

View File

@@ -109,7 +109,6 @@ _hc_w32crypto_DllMain(HINSTANCE hinstDLL,
return hc_EVP_hcrypto_ ##name (); \ return hc_EVP_hcrypto_ ##name (); \
} }
EVP_W32CRYPTO_PROVIDER(EVP_MD, md2)
EVP_W32CRYPTO_PROVIDER(EVP_MD, md4) EVP_W32CRYPTO_PROVIDER(EVP_MD, md4)
EVP_W32CRYPTO_PROVIDER(EVP_MD, md5) EVP_W32CRYPTO_PROVIDER(EVP_MD, md5)
EVP_W32CRYPTO_PROVIDER(EVP_MD, sha1) EVP_W32CRYPTO_PROVIDER(EVP_MD, sha1)

View File

@@ -34,7 +34,6 @@
#define HEIM_EVP_W32_H 1 #define HEIM_EVP_W32_H 1
/* symbol renaming */ /* symbol renaming */
#define EVP_w32crypto_md2() hc_EVP_w32crypto_md2()
#define EVP_w32crypto_md4() hc_EVP_w32crypto_md4() #define EVP_w32crypto_md4() hc_EVP_w32crypto_md4()
#define EVP_w32crypto_md5() hc_EVP_w32crypto_md5() #define EVP_w32crypto_md5() hc_EVP_w32crypto_md5()
#define EVP_w32crypto_sha1() hc_EVP_w32crypto_sha1() #define EVP_w32crypto_sha1() hc_EVP_w32crypto_sha1()
@@ -65,7 +64,6 @@
HC_CPP_BEGIN HC_CPP_BEGIN
const EVP_MD * hc_EVP_w32crypto_md2(void);
const EVP_MD * hc_EVP_w32crypto_md4(void); const EVP_MD * hc_EVP_w32crypto_md4(void);
const EVP_MD * hc_EVP_w32crypto_md5(void); const EVP_MD * hc_EVP_w32crypto_md5(void);
const EVP_MD * hc_EVP_w32crypto_sha1(void); const EVP_MD * hc_EVP_w32crypto_sha1(void);

View File

@@ -700,7 +700,6 @@ wincng_md_cleanup(EVP_MD_CTX *ctx)
} \ } \
} while (0) } while (0)
WINCNG_MD_ALGORITHM(md2, BCRYPT_MD2_ALGORITHM);
WINCNG_MD_ALGORITHM(md4, BCRYPT_MD4_ALGORITHM); WINCNG_MD_ALGORITHM(md4, BCRYPT_MD4_ALGORITHM);
WINCNG_MD_ALGORITHM(md5, BCRYPT_MD5_ALGORITHM); WINCNG_MD_ALGORITHM(md5, BCRYPT_MD5_ALGORITHM);
WINCNG_MD_ALGORITHM(sha1, BCRYPT_SHA1_ALGORITHM); WINCNG_MD_ALGORITHM(sha1, BCRYPT_SHA1_ALGORITHM);
@@ -711,7 +710,6 @@ WINCNG_MD_ALGORITHM(sha512, BCRYPT_SHA512_ALGORITHM);
static void static void
wincng_md_algorithm_cleanup(void) wincng_md_algorithm_cleanup(void)
{ {
WINCNG_MD_ALGORITHM_CLEANUP(md2);
WINCNG_MD_ALGORITHM_CLEANUP(md4); WINCNG_MD_ALGORITHM_CLEANUP(md4);
WINCNG_MD_ALGORITHM_CLEANUP(md5); WINCNG_MD_ALGORITHM_CLEANUP(md5);
WINCNG_MD_ALGORITHM_CLEANUP(sha1); WINCNG_MD_ALGORITHM_CLEANUP(sha1);

View File

@@ -34,7 +34,6 @@
#define HEIM_EVP_WINCNG_H 1 #define HEIM_EVP_WINCNG_H 1
/* symbol renaming */ /* symbol renaming */
#define EVP_wincng_md2() EVP_wincng_md2()
#define EVP_wincng_md4() EVP_wincng_md4() #define EVP_wincng_md4() EVP_wincng_md4()
#define EVP_wincng_md5() EVP_wincng_md5() #define EVP_wincng_md5() EVP_wincng_md5()
#define EVP_wincng_sha1() EVP_wincng_sha1() #define EVP_wincng_sha1() EVP_wincng_sha1()
@@ -64,7 +63,6 @@
HC_CPP_BEGIN HC_CPP_BEGIN
const EVP_MD * hc_EVP_wincng_md2(void);
const EVP_MD * hc_EVP_wincng_md4(void); const EVP_MD * hc_EVP_wincng_md4(void);
const EVP_MD * hc_EVP_wincng_md5(void); const EVP_MD * hc_EVP_wincng_md5(void);
const EVP_MD * hc_EVP_wincng_sha1(void); const EVP_MD * hc_EVP_wincng_sha1(void);

View File

@@ -466,21 +466,6 @@ EVP_md4(void) HC_DEPRECATED_CRYPTO
return EVP_DEF_OP(HCRYPTO_DEF_PROVIDER, md4); return EVP_DEF_OP(HCRYPTO_DEF_PROVIDER, md4);
} }
/**
* The message digest MD2
*
* @return the message digest type.
*
* @ingroup hcrypto_evp
*/
const EVP_MD *
EVP_md2(void) HC_DEPRECATED_CRYPTO
{
hcrypto_validate();
return EVP_DEF_OP(HCRYPTO_DEF_PROVIDER, md2);
}
/* /*
* *
*/ */

View File

@@ -81,7 +81,6 @@
#define EVP_des_cbc hc_EVP_des_cbc #define EVP_des_cbc hc_EVP_des_cbc
#define EVP_des_ede3_cbc hc_EVP_des_ede3_cbc #define EVP_des_ede3_cbc hc_EVP_des_ede3_cbc
#define EVP_enc_null hc_EVP_enc_null #define EVP_enc_null hc_EVP_enc_null
#define EVP_md2 hc_EVP_md2
#define EVP_md4 hc_EVP_md4 #define EVP_md4 hc_EVP_md4
#define EVP_md5 hc_EVP_md5 #define EVP_md5 hc_EVP_md5
#define EVP_md_null hc_EVP_md_null #define EVP_md_null hc_EVP_md_null
@@ -250,7 +249,6 @@ HC_CPP_BEGIN
*/ */
const EVP_MD *EVP_md_null(void); const EVP_MD *EVP_md_null(void);
HC_DEPRECATED_CRYPTO const EVP_MD *EVP_md2(void);
HC_DEPRECATED_CRYPTO const EVP_MD *EVP_md4(void); HC_DEPRECATED_CRYPTO const EVP_MD *EVP_md4(void);
HC_DEPRECATED_CRYPTO const EVP_MD *EVP_md5(void); HC_DEPRECATED_CRYPTO const EVP_MD *EVP_md5(void);
const EVP_MD *EVP_sha(void); const EVP_MD *EVP_sha(void);

View File

@@ -147,7 +147,6 @@ EXPORTS
hc_EVP_camellia_256_cbc hc_EVP_camellia_256_cbc
hc_EVP_enc_null hc_EVP_enc_null
hc_EVP_get_cipherbyname hc_EVP_get_cipherbyname
hc_EVP_md2
hc_EVP_md4 hc_EVP_md4
hc_EVP_md5 hc_EVP_md5
hc_EVP_md_null hc_EVP_md_null
@@ -162,7 +161,6 @@ EXPORTS
hc_EVP_sha384 hc_EVP_sha384
hc_EVP_sha512 hc_EVP_sha512
;! hc_EVP_cc_md2
;! hc_EVP_cc_md4 ;! hc_EVP_cc_md4
;! hc_EVP_cc_md5 ;! hc_EVP_cc_md5
;! hc_EVP_cc_sha1 ;! hc_EVP_cc_sha1
@@ -177,7 +175,6 @@ EXPORTS
;! hc_EVP_cc_aes_192_cfb8 ;! hc_EVP_cc_aes_192_cfb8
;! hc_EVP_cc_aes_256_cfb8 ;! hc_EVP_cc_aes_256_cfb8
hc_EVP_ossl_md2
hc_EVP_ossl_md4 hc_EVP_ossl_md4
hc_EVP_ossl_md5 hc_EVP_ossl_md5
hc_EVP_ossl_sha1 hc_EVP_ossl_sha1
@@ -196,7 +193,6 @@ EXPORTS
hc_EVP_ossl_rc4 hc_EVP_ossl_rc4
hc_EVP_ossl_rc4_40 hc_EVP_ossl_rc4_40
hc_EVP_pkcs11_md2
hc_EVP_pkcs11_md4 hc_EVP_pkcs11_md4
hc_EVP_pkcs11_md5 hc_EVP_pkcs11_md5
hc_EVP_pkcs11_sha1 hc_EVP_pkcs11_sha1
@@ -214,7 +210,6 @@ EXPORTS
hc_EVP_pkcs11_rc4 hc_EVP_pkcs11_rc4
hc_EVP_pkcs11_rc4_40 hc_EVP_pkcs11_rc4_40
hc_EVP_w32crypto_md2 ;!
hc_EVP_w32crypto_md4 ;! hc_EVP_w32crypto_md4 ;!
hc_EVP_w32crypto_md5 ;! hc_EVP_w32crypto_md5 ;!
hc_EVP_w32crypto_sha1 ;! hc_EVP_w32crypto_sha1 ;!
@@ -234,7 +229,6 @@ EXPORTS
hc_EVP_w32crypto_aes_192_cfb8 ;! hc_EVP_w32crypto_aes_192_cfb8 ;!
hc_EVP_w32crypto_aes_256_cfb8 ;! hc_EVP_w32crypto_aes_256_cfb8 ;!
hc_EVP_hcrypto_md2
hc_EVP_hcrypto_md4 hc_EVP_hcrypto_md4
hc_EVP_hcrypto_md5 hc_EVP_hcrypto_md5
hc_EVP_hcrypto_sha1 hc_EVP_hcrypto_sha1
@@ -265,9 +259,6 @@ EXPORTS
hc_HMAC_Init_ex hc_HMAC_Init_ex
hc_HMAC_Update hc_HMAC_Update
hc_HMAC_size hc_HMAC_size
hc_MD2_Final
hc_MD2_Init
hc_MD2_Update
hc_MD4_Final hc_MD4_Final
hc_MD4_Init hc_MD4_Init
hc_MD4_Update hc_MD4_Update

View File

@@ -1,63 +0,0 @@
/*
* Copyright (c) 2006 Kungliga Tekniska Högskolan
* (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* 3. Neither the name of the Institute nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/* $Id$ */
#ifndef HEIM_MD2_H
#define HEIM_MD2_H 1
/* symbol renaming */
#define MD2_Init hc_MD2_Init
#define MD2_Update hc_MD2_Update
#define MD2_Final hc_MD2_Final
/*
*
*/
#define MD2_DIGEST_LENGTH 16
struct md2 {
size_t len;
unsigned char data[16]; /* stored unalligned data between Update's */
unsigned char checksum[16];
unsigned char state[16]; /* lower 16 bytes of X */
};
typedef struct md2 MD2_CTX;
int MD2_Init (struct md2 *m);
int MD2_Update (struct md2 *m, const void *p, size_t len);
int MD2_Final (void *res, struct md2 *m);
#endif /* HEIM_MD2_H */

View File

@@ -39,7 +39,6 @@
#ifdef KRB5 #ifdef KRB5
#include <krb5-types.h> #include <krb5-types.h>
#endif #endif
#include <md2.h>
#include <md4.h> #include <md4.h>
#include <md5.h> #include <md5.h>
#include <sha.h> #include <sha.h>
@@ -55,15 +54,7 @@ struct hash_foo {
int (*update)(void*, const void*, size_t); int (*update)(void*, const void*, size_t);
int (*final)(void*, void*); int (*final)(void*, void*);
const EVP_MD * (*evp)(void); const EVP_MD * (*evp)(void);
} md2 = { } md4 = {
"MD2",
sizeof(MD2_CTX),
16,
(void (*)(void*))MD2_Init,
(void (*)(void*,const void*, size_t))MD2_Update,
(void (*)(void*, void*))MD2_Final,
EVP_md2
}, md4 = {
"MD4", "MD4",
sizeof(MD4_CTX), sizeof(MD4_CTX),
16, 16,
@@ -121,24 +112,6 @@ struct test {
unsigned char hash[64]; unsigned char hash[64];
}; };
struct test md2_tests[] = {
{"",
"\x83\x50\xe5\xa3\xe2\x4c\x15\x3d\xf2\x27\x5c\x9f\x80\x69\x27\x73" },
{"a",
"\x32\xec\x01\xec\x4a\x6d\xac\x72\xc0\xab\x96\xfb\x34\xc0\xb5\xd1" },
{"abc",
"\xda\x85\x3b\x0d\x3f\x88\xd9\x9b\x30\x28\x3a\x69\xe6\xde\xd6\xbb" },
{"message digest",
"\xab\x4f\x49\x6b\xfb\x2a\x53\x0b\x21\x9f\xf3\x30\x31\xfe\x06\xb0" },
{"abcdefghijklmnopqrstuvwxyz",
"\x4e\x8d\xdf\xf3\x65\x02\x92\xab\x5a\x41\x08\xc3\xaa\x47\x94\x0b" },
{"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
"\xda\x33\xde\xf2\xa4\x2d\xf1\x39\x75\x35\x28\x46\xc3\x03\x38\xcd" },
{"12345678901234567890123456789012345678901234567890123456789012345678901234567890",
"\xd5\x97\x6f\x79\xd8\x3d\x3a\x0d\xc9\x80\x6c\x3c\x66\xf3\xef\xd8" },
{NULL, { 0 } }
};
struct test md4_tests[] = { struct test md4_tests[] = {
{"", {"",
{0x31, 0xd6, 0xcf, 0xe0, 0xd1, 0x6a, 0xe9, 0x31, 0xb7, 0x3c, 0x59, {0x31, 0xd6, 0xcf, 0xe0, 0xd1, 0x6a, 0xe9, 0x31, 0xb7, 0x3c, 0x59,
@@ -338,7 +311,6 @@ int
main (void) main (void)
{ {
return return
hash_test(&md2, md2_tests) +
hash_test(&md4, md4_tests) + hash_test(&md4, md4_tests) +
hash_test(&md5, md5_tests) + hash_test(&md5, md5_tests) +
hash_test(&sha1, sha1_tests) + hash_test(&sha1, sha1_tests) +

View File

@@ -201,7 +201,6 @@ test_bulk_provider_hcrypto(void)
test_bulk_cipher("hcrypto_aes_256_cfb8", EVP_hcrypto_aes_256_cfb8()); test_bulk_cipher("hcrypto_aes_256_cfb8", EVP_hcrypto_aes_256_cfb8());
#endif #endif
test_bulk_cipher("hcrypto_rc4", EVP_hcrypto_rc4()); test_bulk_cipher("hcrypto_rc4", EVP_hcrypto_rc4());
test_bulk_digest("hcrypto_md2", EVP_hcrypto_md2());
test_bulk_digest("hcrypto_md4", EVP_hcrypto_md4()); test_bulk_digest("hcrypto_md4", EVP_hcrypto_md4());
test_bulk_digest("hcrypto_md5", EVP_hcrypto_md5()); test_bulk_digest("hcrypto_md5", EVP_hcrypto_md5());
test_bulk_digest("hcrypto_sha1", EVP_hcrypto_sha1()); test_bulk_digest("hcrypto_sha1", EVP_hcrypto_sha1());
@@ -219,7 +218,6 @@ test_bulk_provider_cc(void)
test_bulk_cipher("cc_aes_256_cfb8", EVP_cc_aes_256_cfb8()); test_bulk_cipher("cc_aes_256_cfb8", EVP_cc_aes_256_cfb8());
#endif #endif
test_bulk_cipher("cc_rc4", EVP_cc_rc4()); test_bulk_cipher("cc_rc4", EVP_cc_rc4());
test_bulk_digest("cc_md2", EVP_cc_md2());
test_bulk_digest("cc_md4", EVP_cc_md4()); test_bulk_digest("cc_md4", EVP_cc_md4());
test_bulk_digest("cc_md5", EVP_cc_md5()); test_bulk_digest("cc_md5", EVP_cc_md5());
test_bulk_digest("cc_sha1", EVP_cc_sha1()); test_bulk_digest("cc_sha1", EVP_cc_sha1());
@@ -238,7 +236,6 @@ test_bulk_provider_w32crypto(void)
test_bulk_cipher("w32crypto_aes_256_cfb8", EVP_w32crypto_aes_256_cfb8()); test_bulk_cipher("w32crypto_aes_256_cfb8", EVP_w32crypto_aes_256_cfb8());
#endif #endif
test_bulk_cipher("w32crypto_rc4", EVP_w32crypto_rc4()); test_bulk_cipher("w32crypto_rc4", EVP_w32crypto_rc4());
test_bulk_digest("w32crypto_md2", EVP_w32crypto_md2());
test_bulk_digest("w32crypto_md4", EVP_w32crypto_md4()); test_bulk_digest("w32crypto_md4", EVP_w32crypto_md4());
test_bulk_digest("w32crypto_md5", EVP_w32crypto_md5()); test_bulk_digest("w32crypto_md5", EVP_w32crypto_md5());
test_bulk_digest("w32crypto_sha1", EVP_w32crypto_sha1()); test_bulk_digest("w32crypto_sha1", EVP_w32crypto_sha1());

View File

@@ -116,7 +116,6 @@
#undef EVP_des_cbc #undef EVP_des_cbc
#undef EVP_des_ede3_cbc #undef EVP_des_ede3_cbc
#undef EVP_enc_null #undef EVP_enc_null
#undef EVP_md2
#undef EVP_md4 #undef EVP_md4
#undef EVP_md5 #undef EVP_md5
#undef EVP_md_null #undef EVP_md_null
@@ -158,7 +157,6 @@
#undef EVP_CIPH_ALWAYS_CALL_INIT #undef EVP_CIPH_ALWAYS_CALL_INIT
#undef EVP_CIPH_RAND_KEY #undef EVP_CIPH_RAND_KEY
#undef EVP_CTRL_RAND_KEY #undef EVP_CTRL_RAND_KEY
#undef NID_md2
#undef NID_md4 #undef NID_md4
#undef NID_md5 #undef NID_md5
#undef NID_sha1 #undef NID_sha1

View File

@@ -154,7 +154,6 @@ HEIMDAL_CRYPTO_1.0 {
hc_EVP_camellia_256_cbc; hc_EVP_camellia_256_cbc;
hc_EVP_enc_null; hc_EVP_enc_null;
hc_EVP_get_cipherbyname; hc_EVP_get_cipherbyname;
hc_EVP_md2;
hc_EVP_md4; hc_EVP_md4;
hc_EVP_md5; hc_EVP_md5;
hc_EVP_md_null; hc_EVP_md_null;
@@ -169,7 +168,6 @@ HEIMDAL_CRYPTO_1.0 {
hc_EVP_sha384; hc_EVP_sha384;
hc_EVP_sha512; hc_EVP_sha512;
hc_EVP_cc_md2;
hc_EVP_cc_md4; hc_EVP_cc_md4;
hc_EVP_cc_md5; hc_EVP_cc_md5;
hc_EVP_cc_sha1; hc_EVP_cc_sha1;
@@ -184,7 +182,6 @@ HEIMDAL_CRYPTO_1.0 {
hc_EVP_cc_aes_192_cfb8; hc_EVP_cc_aes_192_cfb8;
hc_EVP_cc_aes_256_cfb8; hc_EVP_cc_aes_256_cfb8;
hc_EVP_hcrypto_md2;
hc_EVP_hcrypto_md4; hc_EVP_hcrypto_md4;
hc_EVP_hcrypto_md5; hc_EVP_hcrypto_md5;
hc_EVP_hcrypto_sha1; hc_EVP_hcrypto_sha1;
@@ -201,7 +198,6 @@ HEIMDAL_CRYPTO_1.0 {
hc_EVP_hcrypto_rc4; hc_EVP_hcrypto_rc4;
hc_EVP_hcrypto_rc4_40; hc_EVP_hcrypto_rc4_40;
hc_EVP_ossl_md2;
hc_EVP_ossl_md4; hc_EVP_ossl_md4;
hc_EVP_ossl_md5; hc_EVP_ossl_md5;
hc_EVP_ossl_sha1; hc_EVP_ossl_sha1;
@@ -220,7 +216,6 @@ HEIMDAL_CRYPTO_1.0 {
hc_EVP_ossl_rc4; hc_EVP_ossl_rc4;
hc_EVP_ossl_rc4_40; hc_EVP_ossl_rc4_40;
hc_EVP_pkcs11_md2;
hc_EVP_pkcs11_md4; hc_EVP_pkcs11_md4;
hc_EVP_pkcs11_md5; hc_EVP_pkcs11_md5;
hc_EVP_pkcs11_sha1; hc_EVP_pkcs11_sha1;
@@ -250,9 +245,6 @@ HEIMDAL_CRYPTO_1.0 {
hc_HMAC_Init_ex; hc_HMAC_Init_ex;
hc_HMAC_Update; hc_HMAC_Update;
hc_HMAC_size; hc_HMAC_size;
hc_MD2_Final;
hc_MD2_Init;
hc_MD2_Update;
hc_MD4_Final; hc_MD4_Final;
hc_MD4_Init; hc_MD4_Init;
hc_MD4_Update; hc_MD4_Update;