[openssl.org #917] BUG/PATCH: apps/crl.c always returns an error when using noout-option.

2004-11-10 Thread Stephen Henson via RT

Fix applied, thanks for the report.

Steve.
__
OpenSSL Project http://www.openssl.org
Development Mailing List   [EMAIL PROTECTED]
Automated List Manager   [EMAIL PROTECTED]


Re: [openssl.org #917] BUG/PATCH: apps/crl.c always returns an error when using noout-option.

2004-08-05 Thread Peter Poeml
On Thu, Jul 15, 2004 at 03:46:52PM +0200, Michael Konietzka via RT wrote:
 BUG: apps/crl.c always returns an error when using noout-option.
 Version: 0.9.7c, 0.9.7d, maybe more.
 OS: Linux, but bug is OS-independent
 
 When using the crl-command within the openssl-application the
 crl-command alwas returns with a ret-value!=0 when using noout-option which
 apps/openssl.c analyze as an error in crl though the crl-command didn't failed.
 
  [EMAIL PROTECTED] 006 $ openssl crl -out
  /usr/pki/operating/006/ca/OpenCA/var/tmp/28466_cnv-2.tmp -in
  /usr/pki/operating/006/ca/OpenCA/var/tmp/28466_data.tmp
  -text -noout -inform PEM
  [EMAIL PROTECTED] 006 $
  [EMAIL PROTECTED] 006 $ openssl
  OpenSSL crl -out
  /usr/pki/operating/006/ca/OpenCA/var/tmp/28466_cnv-2.tmp -in
  /usr/pki/operating/006/ca/OpenCA/var/tmp/28466_data.tmp
  -text -noout -inform PEM
  error in crl 

A co-worker of mine discovered the problem as well:

| This makes some scripting a bit difficult:
| 
| * openssl crl ... -noout -text returns 1 on success (!!!)
| * openssl crl ... -textreturns 0 on success
| * openssl crl ... -outform DER|PEM liefert 0 on success
| 
| Attached you'll find a short patch, which fixes this behaviour. As the
| subfunction always returns 1, it would also be possible to always return 0, but
| maybe the subfunction will change some time.

I've attached his patch.

Peter

-- 
Thought is limitation. Free your mind.
diff -Nur openssl-0.9.7d.orig/apps/crl.c openssl-0.9.7d/apps/crl.c
--- openssl-0.9.7d.orig/apps/crl.c  2004-07-20 11:13:28.428102578 +0200
+++ openssl-0.9.7d/apps/crl.c   2004-07-20 12:30:43.729848489 +0200
@@ -353,7 +353,13 @@
}
}
 
-   if (text) X509_CRL_print(out, x);
+   if (text) {
+  ret=X509_CRL_print(out, x);
+  /* stupid hack for stupid functions 
+   * X509_CRL_print seems to always return 1*/
+  if(ret == 1) 
+ ret=0;
+   }
 
if (noout) goto end;
 


pgp191g24i9tX.pgp
Description: PGP signature