Add SHA256 and SHA512 algorithms to mkdef.pl.
authorDr. Stephen Henson <steve@openssl.org>
Wed, 19 May 2004 17:03:59 +0000 (17:03 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 19 May 2004 17:03:59 +0000 (17:03 +0000)
Fix mkdef.pl script to avoid infinite loop when
parsing sha.h.

util/mkdef.pl

index ddc33c1..c4cfa47 100755 (executable)
@@ -83,7 +83,7 @@ my @known_platforms = ( "__FreeBSD__", "PERL5", "NeXT",
 my @known_ossl_platforms = ( "VMS", "WIN16", "WIN32", "WINNT", "OS2" );
 my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF",
                         "CAST", "MD2", "MD4", "MD5", "SHA", "SHA0", "SHA1",
 my @known_ossl_platforms = ( "VMS", "WIN16", "WIN32", "WINNT", "OS2" );
 my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF",
                         "CAST", "MD2", "MD4", "MD5", "SHA", "SHA0", "SHA1",
-                        "RIPEMD",
+                        "SHA256", "SHA512", "RIPEMD",
                         "MDC2", "RSA", "DSA", "DH", "EC", "ECDH", "ECDSA", "HMAC", "AES",
                         # Envelope "algorithms"
                         "EVP", "X509", "ASN1_TYPEDEFS",
                         "MDC2", "RSA", "DSA", "DH", "EC", "ECDH", "ECDSA", "HMAC", "AES",
                         # Envelope "algorithms"
                         "EVP", "X509", "ASN1_TYPEDEFS",
@@ -511,7 +511,7 @@ sub do_defs
                                }
                        } elsif (/^\#\s*endif/) {
                                my $tag_i = $#tag;
                                }
                        } elsif (/^\#\s*endif/) {
                                my $tag_i = $#tag;
-                               while($tag[$tag_i] ne "-") {
+                               while($tag_i > 0 && $tag[$tag_i] ne "-") {
                                        my $t=$tag[$tag_i];
                                        print STDERR "DEBUG: \$t=\"$t\"\n" if $debug;
                                        if ($tag{$t}==2) {
                                        my $t=$tag[$tag_i];
                                        print STDERR "DEBUG: \$t=\"$t\"\n" if $debug;
                                        if ($tag{$t}==2) {