From d71c6bc5a409f4bf04165fd5bf41d85b868c6aac Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Tue, 5 Oct 1999 13:10:21 +0000 Subject: [PATCH] Fix for bug in pkcs12 program and typo in ASN1_tag2str(). --- CHANGES | 5 +++++ apps/asn1pars.c | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index f0e812cae7..9d8eb60aa2 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,11 @@ Changes between 0.9.4 and 0.9.5 [xx XXX 1999] + *) New -noout option to asn1parse. This causes no output to be produced + its main use is when combined with -strparse and -out to extract data + from a file (which may not be in ASN.1 format). + [Steve Henson] + *) Fix for pkcs12 program. It was hashing an invalid certificate pointer when producing the local key id. [Richard Levitte ] diff --git a/apps/asn1pars.c b/apps/asn1pars.c index 1b272b2977..e4a9d18ae8 100644 --- a/apps/asn1pars.c +++ b/apps/asn1pars.c @@ -86,7 +86,7 @@ int MAIN(int argc, char **argv) unsigned int length=0; long num,tmplen; BIO *in=NULL,*out=NULL,*b64=NULL, *derout = NULL; - int informat,indent=0; + int informat,indent=0, noout = 0; char *infile=NULL,*str=NULL,*prog,*oidfile=NULL, *derfile=NULL; unsigned char *tmpbuf; BUF_MEM *buf=NULL; @@ -130,6 +130,7 @@ int MAIN(int argc, char **argv) { indent=1; } + else if (strcmp(*argv,"-noout") == 0) noout = 1; else if (strcmp(*argv,"-oid") == 0) { if (--argc < 1) goto bad; @@ -168,6 +169,8 @@ bad: BIO_printf(bio_err,"where options are\n"); BIO_printf(bio_err," -inform arg input format - one of DER TXT PEM\n"); BIO_printf(bio_err," -in arg input file\n"); + BIO_printf(bio_err," -out arg output file\n"); + BIO_printf(bio_err," -noout arg don't produce any output\n"); BIO_printf(bio_err," -offset arg offset into file\n"); BIO_printf(bio_err," -length arg lenth of section in file\n"); BIO_printf(bio_err," -i indent entries\n"); @@ -287,7 +290,8 @@ bad: goto end; } } - if (!ASN1_parse(out,(unsigned char *)&(str[offset]),length,indent)) + if (!noout && + !ASN1_parse(out,(unsigned char *)&(str[offset]),length,indent)) { ERR_print_errors(bio_err); goto end; -- 2.25.1