X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=apps%2Fnseq.c;h=dc71d45012f8002e01e533410515aacf40cb5046;hp=a36f29f5187eafd7bc2a592b904c828da6eff328;hb=1c3e4a366022c043ae87ff9715905e97582bf649;hpb=95dc05bc6d0dfe0f3f3681f5e27afbc3f7a35eea diff --git a/apps/nseq.c b/apps/nseq.c index a36f29f518..dc71d45012 100644 --- a/apps/nseq.c +++ b/apps/nseq.c @@ -58,18 +58,14 @@ #include #include -#include "pem.h" -#include "err.h" #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(int argc, char **argv) { @@ -103,10 +99,10 @@ int MAIN(int argc, 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) { @@ -123,15 +119,22 @@ int MAIN(int argc, 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); @@ -142,37 +145,23 @@ int MAIN(int argc, 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(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); }