I just found a very intricate little bug in a project I work with:
ASN1_UTCTIME_print() wouldn't be declared, even if I included bio.h
before asn1.h (in asn1.h, a check is done on the existence of
HEADER_BIO_H to declare that function, among others).  I traced it to
a home-grown header that included x509.h, which happens to include
asn1.h, of course without including bio.h first, since it wasn't
really needed for that particular home-grown header file.

I can't really understand the reasons behind checking on HEADER_BIO_H
in asn1.h, or for that matter, in bn.h, dh.h, dsa.h, err.h (which also
looks at HEADER_LHASH_H), evp.h, lhash.h, pem.h (which also looks at
HEADER_STACK_H), rsa.h, ssl.h (which looks at a whole bunch of others
as well), txt_db.h, x509.h (which also looks a a bunch of others)...

It's plain and simple, checking for HEADER_BIO_H and others the way
it's done can lead to a lot of confusion.  It would be much better to
check for something like NO_BIO and the like to be used by users who
actively choose not to use that particular feature.

-- 
Richard Levitte   \ Spannvägen 38, II \ [EMAIL PROTECTED]
Chairman@Stacken   \ S-168 35  BROMMA  \ T: +46-8-26 52 47
Redakteur@Stacken   \      SWEDEN       \ or +46-709-50 36 10
Procurator Odiosus Ex Infernis             -- [EMAIL PROTECTED]
Member of the OpenSSL development team: http://www.openssl.org/
Software Engineer, Celo Communications: http://www.celocom.com/

Unsolicited commercial email is subject to an archival fee of $400.
See <http://www.stacken.kth.se/~levitte/mail/> for more info.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to