RFC 3161 compliant time stamp request creation, response generation
[openssl.git] / apps / sess_id.c
index c1b497981ee8f95408216183342b0cce103f860e..b99179f27679daa2b1d5085bd7089d9050b69cf0 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 #include "apps.h"
 #include <stdlib.h>
 #include <string.h>
 #include "apps.h"
-#include "bio.h"
-#include "err.h"
-#include "x509.h"
-#include "pem.h"
-#include "ssl.h"
+#include <openssl/bio.h>
+#include <openssl/err.h>
+#include <openssl/x509.h>
+#include <openssl/pem.h>
+#include <openssl/ssl.h>
 
 #undef PROG
 #define PROG   sess_id_main
 
 
 #undef PROG
 #define PROG   sess_id_main
 
-static char *sess_id_usage[]={
+static const char *sess_id_usage[]={
 "usage: sess_id args\n",
 "\n",
 "usage: sess_id args\n",
 "\n",
-" -inform arg     - input format - default PEM (one of DER, TXT or PEM)\n",
+" -inform arg     - input format - default PEM (DER or PEM)\n",
 " -outform arg    - output format - default PEM\n",
 " -in arg         - input file - default stdin\n",
 " -out arg        - output file - default stdout\n",
 " -outform arg    - output format - default PEM\n",
 " -in arg         - input file - default stdin\n",
 " -out arg        - output file - default stdout\n",
@@ -83,11 +83,9 @@ static char *sess_id_usage[]={
 NULL
 };
 
 NULL
 };
 
-#ifndef NOPROTO
 static SSL_SESSION *load_sess_id(char *file, int format);
 static SSL_SESSION *load_sess_id(char *file, int format);
-#else
-static SSL_SESSION *load_sess_id();
-#endif
+
+int MAIN(int, char **);
 
 int MAIN(int argc, char **argv)
        {
 
 int MAIN(int argc, char **argv)
        {
@@ -97,7 +95,7 @@ int MAIN(int argc, char **argv)
        int informat,outformat;
        char *infile=NULL,*outfile=NULL,*context=NULL;
        int cert=0,noout=0,text=0;
        int informat,outformat;
        char *infile=NULL,*outfile=NULL,*context=NULL;
        int cert=0,noout=0,text=0;
-       char **pp;
+       const char **pp;
 
        apps_startup();
 
 
        apps_startup();
 
@@ -158,7 +156,7 @@ int MAIN(int argc, char **argv)
                {
 bad:
                for (pp=sess_id_usage; (*pp != NULL); pp++)
                {
 bad:
                for (pp=sess_id_usage; (*pp != NULL); pp++)
-                       BIO_printf(bio_err,*pp);
+                       BIO_printf(bio_err,"%s",*pp);
                goto end;
                }
 
                goto end;
                }
 
@@ -208,7 +206,15 @@ bad:
                        }
 
                if (outfile == NULL)
                        }
 
                if (outfile == NULL)
+                       {
                        BIO_set_fp(out,stdout,BIO_NOCLOSE);
                        BIO_set_fp(out,stdout,BIO_NOCLOSE);
+#ifdef OPENSSL_SYS_VMS
+                       {
+                       BIO *tmpbio = BIO_new(BIO_f_linebuffer());
+                       out = BIO_push(tmpbio, out);
+                       }
+#endif
+                       }
                else
                        {
                        if (BIO_write_filename(out,outfile) <= 0)
                else
                        {
                        if (BIO_write_filename(out,outfile) <= 0)
@@ -235,7 +241,7 @@ bad:
        if (!noout && !cert)
                {
                if      (outformat == FORMAT_ASN1)
        if (!noout && !cert)
                {
                if      (outformat == FORMAT_ASN1)
-                       i=(int)i2d_SSL_SESSION_bio(out,x);
+                       i=i2d_SSL_SESSION_bio(out,x);
                else if (outformat == FORMAT_PEM)
                        i=PEM_write_bio_SSL_SESSION(out,x);
                else    {
                else if (outformat == FORMAT_PEM)
                        i=PEM_write_bio_SSL_SESSION(out,x);
                else    {
@@ -264,9 +270,10 @@ bad:
                }
        ret=0;
 end:
                }
        ret=0;
 end:
-       if (out != NULL) BIO_free(out);
+       if (out != NULL) BIO_free_all(out);
        if (x != NULL) SSL_SESSION_free(x);
        if (x != NULL) SSL_SESSION_free(x);
-       EXIT(ret);
+       apps_shutdown();
+       OPENSSL_EXIT(ret);
        }
 
 static SSL_SESSION *load_sess_id(char *infile, int format)
        }
 
 static SSL_SESSION *load_sess_id(char *infile, int format)
@@ -294,7 +301,7 @@ static SSL_SESSION *load_sess_id(char *infile, int format)
        if      (format == FORMAT_ASN1)
                x=d2i_SSL_SESSION_bio(in,NULL);
        else if (format == FORMAT_PEM)
        if      (format == FORMAT_ASN1)
                x=d2i_SSL_SESSION_bio(in,NULL);
        else if (format == FORMAT_PEM)
-               x=PEM_read_bio_SSL_SESSION(in,NULL,NULL);
+               x=PEM_read_bio_SSL_SESSION(in,NULL,NULL,NULL);
        else    {
                BIO_printf(bio_err,"bad input format specified for input crl\n");
                goto end;
        else    {
                BIO_printf(bio_err,"bad input format specified for input crl\n");
                goto end;