X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=apps%2Fsess_id.c;h=b99179f27679daa2b1d5085bd7089d9050b69cf0;hb=761f3b403b45d3260b5c7cdfce45a57691c27c60;hp=8ac118d4a1e6e013ea70fc5c3a83760483b0c0de;hpb=74678cc2f8132ad34f7c33731c4765cf3083de8c;p=oweals%2Fopenssl.git diff --git a/apps/sess_id.c b/apps/sess_id.c index 8ac118d4a1..b99179f276 100644 --- a/apps/sess_id.c +++ b/apps/sess_id.c @@ -69,10 +69,10 @@ #undef PROG #define PROG sess_id_main -static char *sess_id_usage[]={ +static const char *sess_id_usage[]={ "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", @@ -84,6 +84,9 @@ NULL }; static SSL_SESSION *load_sess_id(char *file, int format); + +int MAIN(int, char **); + int MAIN(int argc, char **argv) { SSL_SESSION *x=NULL; @@ -92,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; - char **pp; + const char **pp; apps_startup(); @@ -153,7 +156,7 @@ int MAIN(int argc, char **argv) { bad: for (pp=sess_id_usage; (*pp != NULL); pp++) - BIO_printf(bio_err,*pp); + BIO_printf(bio_err,"%s",*pp); goto end; } @@ -203,7 +206,15 @@ bad: } if (outfile == NULL) + { 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) @@ -230,7 +241,7 @@ bad: 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 { @@ -259,9 +270,10 @@ bad: } ret=0; end: - if (out != NULL) BIO_free(out); + if (out != NULL) BIO_free_all(out); if (x != NULL) SSL_SESSION_free(x); - EXIT(ret); + apps_shutdown(); + OPENSSL_EXIT(ret); } static SSL_SESSION *load_sess_id(char *infile, int format)