summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2000-08-14 14:05:53 +0000
committerRichard Levitte <levitte@openssl.org>2000-08-14 14:05:53 +0000
commit3009458e2f63b84e9631dfbf8b5c7cb38b2b283c (patch)
treeb115b61e15485ab1dc8f250e8a996cb52117c788 /util
parent5ce42a7e68956b313bc98e85e843d561fb06b6e9 (diff)
MD4 implemented. Assar Westerlund provided the digest code itself and the test utility, I added the bits to get a EVP interface, the command line utility and the speed test
Diffstat (limited to 'util')
-rwxr-xr-xutil/libeay.num6
-rwxr-xr-xutil/mk1mf.pl6
-rwxr-xr-xutil/mkdef.pl8
-rwxr-xr-xutil/mkfiles.pl1
-rwxr-xr-xutil/sp-diff.pl2
5 files changed, 20 insertions, 3 deletions
diff --git a/util/libeay.num b/util/libeay.num
index 7ddce1ae5d..5d5a3e0187 100755
--- a/util/libeay.num
+++ b/util/libeay.num
@@ -1833,3 +1833,9 @@ X509_NAME_print_ex_fp 2429
ASN1_STRING_print_ex_fp 2430
X509_NAME_print_ex 2431
ASN1_STRING_print_ex 2432
+MD4 2433
+MD4_Transform 2434
+MD4_Final 2435
+MD4_Update 2436
+MD4_Init 2437
+EVP_md4 2438
diff --git a/util/mk1mf.pl b/util/mk1mf.pl
index 98ee587196..72e47af9b4 100755
--- a/util/mk1mf.pl
+++ b/util/mk1mf.pl
@@ -52,7 +52,8 @@ foreach (@ARGV)
{ printf STDERR "\t%-10s\t%s\n",$i,$ops{$i}; }
print STDERR <<"EOF";
and [options] can be one of
- no-md2 no-md5 no-sha no-mdc2 no-ripemd - Skip this digest
+ no-md2 no-md4 no-md5 no-sha no-mdc2 - Skip this digest
+ no-ripemd
no-rc2 no-rc4 no-idea no-des no-bf no-cast - Skip this symetric cipher
no-rc5
no-rsa no-dsa no-dh - Skip this public key cipher
@@ -201,6 +202,7 @@ $cflags.=" -DNO_RC2" if $no_rc2;
$cflags.=" -DNO_RC4" if $no_rc4;
$cflags.=" -DNO_RC5" if $no_rc5;
$cflags.=" -DNO_MD2" if $no_md2;
+$cflags.=" -DNO_MD4" if $no_md4;
$cflags.=" -DNO_MD5" if $no_md5;
$cflags.=" -DNO_SHA" if $no_sha;
$cflags.=" -DNO_SHA1" if $no_sha1;
@@ -666,6 +668,7 @@ sub var_add
@a=grep(!/(_sock$)|(_acpt$)|(_conn$)|(^pxy_)/,@a) if $no_sock;
@a=grep(!/(^md2)|(_md2$)/,@a) if $no_md2;
+ @a=grep(!/(^md4)|(_md4$)/,@a) if $no_md4;
@a=grep(!/(^md5)|(_md5$)/,@a) if $no_md5;
@a=grep(!/(rmd)|(ripemd)/,@a) if $no_rmd160;
@@ -855,6 +858,7 @@ sub read_options
elsif (/^no-bf$/) { $no_bf=1; }
elsif (/^no-cast$/) { $no_cast=1; }
elsif (/^no-md2$/) { $no_md2=1; }
+ elsif (/^no-md4$/) { $no_md4=1; }
elsif (/^no-md5$/) { $no_md5=1; }
elsif (/^no-sha$/) { $no_sha=1; }
elsif (/^no-sha1$/) { $no_sha1=1; }
diff --git a/util/mkdef.pl b/util/mkdef.pl
index c7a08926a8..6078aec1e5 100755
--- a/util/mkdef.pl
+++ b/util/mkdef.pl
@@ -31,7 +31,8 @@ close(IN);
# defined with ifndef(NO_XXX) are not included in the .def file, and everything
# in directory xxx is ignored.
my $no_rc2; my $no_rc4; my $no_rc5; my $no_idea; my $no_des; my $no_bf;
-my $no_cast; my $no_md2; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2;
+my $no_cast;
+my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2;
my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0;
foreach (@ARGV, split(/ /, $options))
@@ -59,6 +60,7 @@ foreach (@ARGV, split(/ /, $options))
elsif (/^no-bf$/) { $no_bf=1; }
elsif (/^no-cast$/) { $no_cast=1; }
elsif (/^no-md2$/) { $no_md2=1; }
+ elsif (/^no-md4$/) { $no_md4=1; }
elsif (/^no-md5$/) { $no_md5=1; }
elsif (/^no-sha$/) { $no_sha=1; }
elsif (/^no-ripemd$/) { $no_ripemd=1; }
@@ -92,6 +94,7 @@ $crypto.=" crypto/rc2/rc2.h" unless $no_rc2;
$crypto.=" crypto/bf/blowfish.h" unless $no_bf;
$crypto.=" crypto/cast/cast.h" unless $no_cast;
$crypto.=" crypto/md2/md2.h" unless $no_md2;
+$crypto.=" crypto/md4/md4.h" unless $no_md4;
$crypto.=" crypto/md5/md5.h" unless $no_md5;
$crypto.=" crypto/mdc2/mdc2.h" unless $no_mdc2;
$crypto.=" crypto/sha/sha.h" unless $no_sha;
@@ -204,6 +207,7 @@ sub do_defs
NO_BF => 0,
NO_CAST => 0,
NO_MD2 => 0,
+ NO_MD4 => 0,
NO_MD5 => 0,
NO_SHA => 0,
NO_RIPEMD => 0,
@@ -322,6 +326,7 @@ sub do_defs
($tag{'NO_BF'} == 0 || !$no_bf) &&
($tag{'NO_CAST'} == 0 || !$no_cast) &&
($tag{'NO_MD2'} == 0 || !$no_md2) &&
+ ($tag{'NO_MD4'} == 0 || !$no_md4) &&
($tag{'NO_MD5'} == 0 || !$no_md5) &&
($tag{'NO_SHA'} == 0 || !$no_sha) &&
($tag{'NO_RIPEMD'} == 0 || !$no_ripemd) &&
@@ -351,6 +356,7 @@ sub do_defs
next if(/EVP_dss/ and $no_dsa);
next if(/EVP_idea/ and $no_idea);
next if(/EVP_md2/ and $no_md2);
+ next if(/EVP_md4/ and $no_md4);
next if(/EVP_md5/ and $no_md5);
next if(/EVP_rc2/ and $no_rc2);
next if(/EVP_rc4/ and $no_rc4);
diff --git a/util/mkfiles.pl b/util/mkfiles.pl
index 924a85f70e..5296bdb5e4 100755
--- a/util/mkfiles.pl
+++ b/util/mkfiles.pl
@@ -10,6 +10,7 @@ my @dirs = (
".",
"crypto",
"crypto/md2",
+"crypto/md4",
"crypto/md5",
"crypto/sha",
"crypto/mdc2",
diff --git a/util/sp-diff.pl b/util/sp-diff.pl
index f81e50201b..9d6c60387f 100755
--- a/util/sp-diff.pl
+++ b/util/sp-diff.pl
@@ -11,7 +11,7 @@
%two=&loadfile($ARGV[1]);
$line=0;
-foreach $a ("md2","md5","sha","sha1","rc4","des cfb","des cbc","des ede3",
+foreach $a ("md2","md4","md5","sha","sha1","rc4","des cfb","des cbc","des ede3",
"idea cfb","idea cbc","rc2 cfb","rc2 cbc","blowfish cbc","cast cbc")
{
if (defined($one{$a,8}) && defined($two{$a,8}))