use consistent indentation
[openssl.git] / apps / openssl.c
index dd22aa78af3b2138d6a986922b8cbad3a17cbfb5..5f0ffa9fd49704bccb5cb30ad4eb8114c0064a0d 100644 (file)
  * [including the GNU Public Licence.]
  */
 
-#ifndef DEBUG
-#undef DEBUG
-#endif
-
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
-#include "bio.h"
-#include "crypto.h"
-#include "lhash.h"
-#include "conf.h"
-#include "x509.h"
-#include "pem.h"
-#include "ssl.h"
-#define SSLEAY /* turn off a few special case MONOLITH macros */
+#define OPENSSL_C /* tells apps.h to use complete apps_startup() */
+#include <openssl/bio.h>
+#include <openssl/crypto.h>
+#include <openssl/lhash.h>
+#include <openssl/conf.h>
+#include <openssl/x509.h>
+#include <openssl/pem.h>
+#include <openssl/ssl.h>
 #define USE_SOCKETS /* needed for the _O_BINARY defs in the MS world */
-#define SSLEAY_SRC
 #include "apps.h"
+#include "progs.h"
 #include "s_apps.h"
-#include "err.h"
-
-/*
-#ifdef WINDOWS
-#include "bss_file.c"
-#endif
-*/
+#include <openssl/err.h>
 
-#ifndef NOPROTO
 static unsigned long MS_CALLBACK hash(FUNCTION *a);
 static int MS_CALLBACK cmp(FUNCTION *a,FUNCTION *b);
 static LHASH *prog_init(void );
 static int do_cmd(LHASH *prog,int argc,char *argv[]);
-#else
-static unsigned long MS_CALLBACK hash();
-static int MS_CALLBACK cmp();
-static LHASH *prog_init();
-static int do_cmd();
-#endif
-
 LHASH *config=NULL;
 char *default_config_file=NULL;
 
-#ifdef DEBUG
-static void sig_stop(i)
-int i;
-       {
-       char *a=NULL;
-
-       *a='\0';
-       }
-#endif
-
 /* Make sure there is only one when MONOLITH is defined */
 #ifdef MONOLITH
 BIO *bio_err=NULL;
 #endif
 
-int main(Argc,Argv)
-int Argc;
-char *Argv[];
+int main(int Argc, char *Argv[])
        {
        ARGS arg;
 #define PROG_NAME_SIZE 16
@@ -131,24 +101,14 @@ char *Argv[];
        arg.data=NULL;
        arg.count=0;
 
-       /* SSLeay_add_ssl_algorithms(); is called in apps_startup() */
-       apps_startup();
+       CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
 
-#if defined(DEBUG) && !defined(WINDOWS) && !defined(MSDOS)
-#ifdef SIGBUS
-       signal(SIGBUS,sig_stop);
-#endif
-#ifdef SIGSEGV
-       signal(SIGSEGV,sig_stop);
-#endif
-#endif
+       apps_startup();
 
        if (bio_err == NULL)
                if ((bio_err=BIO_new(BIO_s_file())) != NULL)
                        BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
 
-       CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
-
        ERR_load_crypto_strings();
 
        /* Lets load up our environment a little */
@@ -158,7 +118,9 @@ char *Argv[];
        if (p == NULL)
                {
                strcpy(config_name,X509_get_default_cert_area());
-               strcat(config_name,"/lib/");
+#ifndef VMS
+               strcat(config_name,"/");
+#endif
                strcat(config_name,OPENSSL_CONF);
                p=config_name;
                }
@@ -174,7 +136,7 @@ char *Argv[];
        program_name(Argv[0],pname,PROG_NAME_SIZE);
 
        f.name=pname;
-       fp=(FUNCTION *)lh_retrieve(prog,(char *)&f);
+       fp=(FUNCTION *)lh_retrieve(prog,&f);
        if (fp != NULL)
                {
                Argv[0]=pname;
@@ -228,7 +190,7 @@ char *Argv[];
                        }
                if (ret != 0)
                        BIO_printf(bio_err,"error in %s\n",argv[0]);
-               BIO_flush(bio_err);
+               (void)BIO_flush(bio_err);
                }
        BIO_printf(bio_err,"bad exit\n");
        ret=1;
@@ -239,12 +201,12 @@ end:
                config=NULL;
                }
        if (prog != NULL) lh_free(prog);
-       if (arg.data != NULL) Free(arg.data);
+       if (arg.data != NULL) OPENSSL_free(arg.data);
        ERR_remove_state(0);
 
        EVP_cleanup();
        ERR_free_strings();
-
+       
        CRYPTO_mem_leaks(bio_err);
        if (bio_err != NULL)
                {
@@ -258,10 +220,7 @@ end:
 #define LIST_MESSAGE_DIGEST_COMMANDS "list-message-digest-commands"
 #define LIST_CIPHER_COMMANDS "list-cipher-commands"
 
-static int do_cmd(prog,argc,argv)
-LHASH *prog;
-int argc;
-char *argv[];
+static int do_cmd(LHASH *prog, int argc, char *argv[])
        {
        FUNCTION f,*fp;
        int i,ret=1,tp,nl;
@@ -269,11 +228,23 @@ char *argv[];
        if ((argc <= 0) || (argv[0] == NULL))
                { ret=0; goto end; }
        f.name=argv[0];
-       fp=(FUNCTION *)lh_retrieve(prog,(char *)&f);
+       fp=(FUNCTION *)lh_retrieve(prog,&f);
        if (fp != NULL)
                {
                ret=fp->func(argc,argv);
                }
+       else if ((strncmp(argv[0],"no-",3)) == 0)
+               {
+               BIO *bio_stdout = BIO_new_fp(stdout,BIO_NOCLOSE);
+               f.name=argv[0]+3;
+               ret = (lh_retrieve(prog,&f) != NULL);
+               if (!ret)
+                       BIO_printf(bio_stdout, "%s\n", argv[0]);
+               else
+                       BIO_printf(bio_stdout, "%s\n", argv[0]+3);
+               BIO_free(bio_stdout);
+               goto end;
+               }
        else if ((strcmp(argv[0],"quit") == 0) ||
                (strcmp(argv[0],"q") == 0) ||
                (strcmp(argv[0],"exit") == 0) ||
@@ -354,7 +325,7 @@ static int SortFnByName(const void *_f1,const void *_f2)
     return strcmp(f1->name,f2->name);
     }
 
-static LHASH *prog_init()
+static LHASH *prog_init(void)
        {
        LHASH *ret;
        FUNCTION *f;
@@ -368,20 +339,16 @@ static LHASH *prog_init()
        if ((ret=lh_new(hash,cmp)) == NULL) return(NULL);
 
        for (f=functions; f->name != NULL; f++)
-               lh_insert(ret,(char *)f);
+               lh_insert(ret,f);
        return(ret);
        }
 
-static int MS_CALLBACK cmp(a,b)
-FUNCTION *a,*b;
+static int MS_CALLBACK cmp(FUNCTION *a, FUNCTION *b)
        {
        return(strncmp(a->name,b->name,8));
        }
 
-static unsigned long MS_CALLBACK hash(a)
-FUNCTION *a;
+static unsigned long MS_CALLBACK hash(FUNCTION *a)
        {
        return(lh_strhash(a->name));
        }
-
-#undef SSLEAY