X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=apps%2Fnseq.c;h=e3c4dba547339eba394fb0885150e1bc5df6ae1c;hp=e87c6c77a7dfffa6b68dd725b2b789ce26c33f64;hb=c869da8839ef5af9df5a4d98f518b079240a0d4b;hpb=ee0508d4114e2b2291953a7d4c81a09b624b8821 diff --git a/apps/nseq.c b/apps/nseq.c index e87c6c77a7..e3c4dba547 100644 --- a/apps/nseq.c +++ b/apps/nseq.c @@ -1,5 +1,5 @@ /* nseq.c */ -/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL +/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project 1999. */ /* ==================================================================== @@ -57,22 +57,17 @@ */ #include -#include "pem.h" -#include "err.h" +#include #include "apps.h" +#include +#include #undef PROG #define PROG nseq_main -#ifdef NOPROTO -static int dump_cert_text(BIO *out, X509 *x); -#else -static int dump_cert_text(); -#endif +int MAIN(int, char **); -int MAIN(argc, argv) -int argc; -char **argv; +int MAIN(int argc, char **argv) { char **args, *infile = NULL, *outfile = NULL; BIO *in = NULL, *out = NULL; @@ -104,10 +99,10 @@ char **argv; BIO_printf (bio_err, "Netscape certificate sequence utility\n"); BIO_printf (bio_err, "Usage nseq [options]\n"); BIO_printf (bio_err, "where options are\n"); - BIO_printf (bio_err, "-in file input file\n"); - BIO_printf (bio_err, "-out file output file\n"); - BIO_printf (bio_err, "-toseq output NS Sequence file\n"); - EXIT(1); + BIO_printf (bio_err, "-in file input file\n"); + BIO_printf (bio_err, "-out file output file\n"); + BIO_printf (bio_err, "-toseq output NS Sequence file\n"); + OPENSSL_EXIT(1); } if (infile) { @@ -124,15 +119,22 @@ char **argv; "Can't open output file %s\n", outfile); goto end; } - } else out = BIO_new_fp(stdout, BIO_NOCLOSE); - + } else { + out = BIO_new_fp(stdout, BIO_NOCLOSE); +#ifdef OPENSSL_SYS_VMS + { + BIO *tmpbio = BIO_new(BIO_f_linebuffer()); + out = BIO_push(tmpbio, out); + } +#endif + } if (toseq) { seq = NETSCAPE_CERT_SEQUENCE_new(); - seq->certs = sk_new(NULL); - while((x509 = PEM_read_bio_X509(in, NULL, NULL))) - sk_push(seq->certs, (char *)x509); + seq->certs = sk_X509_new_null(); + while((x509 = PEM_read_bio_X509(in, NULL, NULL, NULL))) + sk_X509_push(seq->certs,x509); - if(!sk_num(seq->certs)) + if(!sk_X509_num(seq->certs)) { BIO_printf (bio_err, "Error reading certs file %s\n", infile); ERR_print_errors(bio_err); @@ -143,39 +145,23 @@ char **argv; goto end; } - if (!(seq = PEM_read_bio_NETSCAPE_CERT_SEQUENCE(in, NULL, NULL))) { + if (!(seq = PEM_read_bio_NETSCAPE_CERT_SEQUENCE(in, NULL, NULL, NULL))) { BIO_printf (bio_err, "Error reading sequence file %s\n", infile); ERR_print_errors(bio_err); goto end; } - for(i = 0; i < sk_num(seq->certs); i++) { - x509 = (X509 *) sk_value(seq->certs, i); + for(i = 0; i < sk_X509_num(seq->certs); i++) { + x509 = sk_X509_value(seq->certs, i); dump_cert_text(out, x509); PEM_write_bio_X509(out, x509); } ret = 0; end: BIO_free(in); - BIO_free(out); + BIO_free_all(out); NETSCAPE_CERT_SEQUENCE_free(seq); - EXIT(ret); -} - -static int dump_cert_text(out, x) -BIO *out; -X509 *x; -{ - char buf[256]; - X509_NAME_oneline(X509_get_subject_name(x),buf,256); - BIO_puts(out,"subject="); - BIO_puts(out,buf); - - X509_NAME_oneline(X509_get_issuer_name(x),buf,256); - BIO_puts(out,"\nissuer= "); - BIO_puts(out,buf); - BIO_puts(out,"\n"); - return 0; + OPENSSL_EXIT(ret); }