some more patches for avoiding problems with non-automatic variables
authorBodo Möller <bodo@openssl.org>
Wed, 8 Sep 1999 21:58:13 +0000 (21:58 +0000)
committerBodo Möller <bodo@openssl.org>
Wed, 8 Sep 1999 21:58:13 +0000 (21:58 +0000)
CHANGES
apps/s_time.c
apps/speed.c
crypto/hmac/hmactest.c
crypto/md2/md2test.c
crypto/md5/md5test.c
crypto/ripemd/rmdtest.c
crypto/sha/sha1test.c
crypto/sha/shatest.c
ssl/ssltest.c

diff --git a/CHANGES b/CHANGES
index 5083878..231726e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,11 @@
 
  Changes between 0.9.4 and 0.9.5  [xx XXX 1999]
 
+  *) Initialize all non-automatic variables each time one of the openssl
+     sub-programs is started (this is necessary as they may be started
+     multiple times from the "OpenSSL>" prompt).
+     [Lennart Bang, Bodo Moeller]
+
   *) Preliminary compilation option RSA_NULL which disables RSA crypto without
      removing all other RSA functionality (this is what NO_RSA does). This
      is so (for example) those in the US can disable those operations covered
index a529e2a..a43df6b 100644 (file)
@@ -248,15 +248,6 @@ static int parseArgs(int argc, char **argv)
 
     verify_depth=0;
     verify_error=X509_V_OK;
-#ifdef FIONBIO
-    t_nbio=0;
-#endif
-
-       apps_startup();
-       s_time_init();
-
-       if (bio_err == NULL)
-               bio_err=BIO_new_fp(stderr,BIO_NOCLOSE);
 
     argc--;
     argv++;
@@ -411,6 +402,12 @@ int MAIN(int argc, char **argv)
        MS_STATIC char buf[1024*8];
        int ver;
 
+       apps_startup();
+       s_time_init();
+
+       if (bio_err == NULL)
+               bio_err=BIO_new_fp(stderr,BIO_NOCLOSE);
+
 #if !defined(NO_SSL2) && !defined(NO_SSL3)
        s_time_meth=SSLv23_client_method();
 #elif !defined(NO_SSL3)
index cf5cbd2..2819212 100644 (file)
@@ -344,6 +344,7 @@ int MAIN(int argc, char **argv)
        int pr_header=0;
 
        apps_startup();
+       memset(results, 0, sizeof(results));
 #ifndef NO_DSA
        memset(dsa_key,0,sizeof(dsa_key));
 #endif
index 9a67dff..4b56b8e 100644 (file)
@@ -73,7 +73,7 @@ int main(int argc, char *argv[])
 #include <openssl/ebcdic.h>
 #endif
 
-struct test_st
+static struct test_st
        {
        unsigned char key[16];
        int key_len;
index 461d124..e3f4fb4 100644 (file)
@@ -73,7 +73,7 @@ int main(int argc, char *argv[])
 #include <openssl/ebcdic.h>
 #endif
 
-char *test[]={
+static char *test[]={
        "",
        "a",
        "abc",
@@ -84,7 +84,7 @@ char *test[]={
        NULL,
        };
 
-char *ret[]={
+static char *ret[]={
        "8350e5a3e24c153df2275c9f80692773",
        "32ec01ec4a6dac72c0ab96fb34c0b5d1",
        "da853b0d3f88d99b30283a69e6ded6bb",
index a192a62..6bd8656 100644 (file)
@@ -69,7 +69,7 @@ int main(int argc, char *argv[])
 #else
 #include <openssl/md5.h>
 
-char *test[]={
+static char *test[]={
        "",
        "a",
        "abc",
@@ -80,7 +80,7 @@ char *test[]={
        NULL,
        };
 
-char *ret[]={
+static char *ret[]={
        "d41d8cd98f00b204e9800998ecf8427e",
        "0cc175b9c0f1b6a831c399e269772661",
        "900150983cd24fb0d6963f7d28e17f72",
index 5e93d46..5d79c99 100644 (file)
@@ -73,7 +73,7 @@ int main(int argc, char *argv[])
 #include <openssl/ebcdic.h>
 #endif
 
-char *test[]={
+static char *test[]={
        "",
        "a",
        "abc",
@@ -85,7 +85,7 @@ char *test[]={
        NULL,
        };
 
-char *ret[]={
+static char *ret[]={
        "9c1185a5c5e9fc54612808977ee8f548b2258d31",
        "0bdc9d2d256b3ee9daae347be6f4dc835a467ffe",
        "8eb208f7e05d987a9b044a8e98c6b087f15a0bfc",
index 9400ad2..688d06c 100644 (file)
@@ -76,26 +76,26 @@ int main(int argc, char *argv[])
 #undef SHA_0 /* FIPS 180 */
 #define  SHA_1 /* FIPS 180-1 */
 
-char *test[]={
+static char *test[]={
        "abc",
        "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
        NULL,
        };
 
 #ifdef SHA_0
-char *ret[]={
+static char *ret[]={
        "0164b8a914cd2a5e74c4f7ff082c4d97f1edf880",
        "d2516ee1acfa5baf33dfc1c471e438449ef134c8",
        };
-char *bigret=
+static char *bigret=
        "3232affa48628a26653b5aaa44541fd90d690603";
 #endif
 #ifdef SHA_1
-char *ret[]={
+static char *ret[]={
        "a9993e364706816aba3e25717850c26c9cd0d89d",
        "84983e441c3bd26ebaae4aa1f95129e5e54670f1",
        };
-char *bigret=
+static char *bigret=
        "34aa973cd4c4daa4f61eeb2bdbad27316534016f";
 #endif
 
index 2b0744d..a5786bb 100644 (file)
@@ -76,26 +76,26 @@ int main(int argc, char *argv[])
 #define SHA_0 /* FIPS 180 */
 #undef  SHA_1 /* FIPS 180-1 */
 
-char *test[]={
+static char *test[]={
        "abc",
        "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
        NULL,
        };
 
 #ifdef SHA_0
-char *ret[]={
+static char *ret[]={
        "0164b8a914cd2a5e74c4f7ff082c4d97f1edf880",
        "d2516ee1acfa5baf33dfc1c471e438449ef134c8",
        };
-char *bigret=
+static char *bigret=
        "3232affa48628a26653b5aaa44541fd90d690603";
 #endif
 #ifdef SHA_1
-char *ret[]={
+static char *ret[]={
        "a9993e364706816aba3e25717850c26c9cd0d89d",
        "84983e441c3bd26ebaae4aa1f95129e5e54670f1",
        };
-char *bigret=
+static char *bigret=
        "34aa973cd4c4daa4f61eeb2bdbad27316534016f";
 #endif
 
index b62f5ad..ec57c71 100644 (file)
 #  define TEST_CLIENT_CERT "../apps/client.pem"
 #endif
 
-int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx);
+static int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx);
 #ifndef NO_RSA
 static RSA MS_CALLBACK *tmp_rsa_cb(SSL *s, int is_export,int keylength);
 #endif
 #ifndef NO_DH
 static DH *get_dh512(void);
 #endif
-BIO *bio_err=NULL;
-BIO *bio_stdout=NULL;
+static BIO *bio_err=NULL;
+static BIO *bio_stdout=NULL;
 
 static char *cipher=NULL;
 int verbose=0;
@@ -1104,7 +1104,7 @@ err:
        return(ret);
        }
 
-int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx)
+static int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx)
        {
        char *s,buf[256];