I think there are a number of people who might wonder what the hell
I've been doing these last few days (thanks Geoff for reminding me an
explanation might be needed).

It all started with the Kerberos 5 code that was inserted, and the
reports about NO_KRB5, or rather the lack of it created some problems
when trying to build external applications with the latest snapshot.
Unless you actually had MIT Kerberos 5 installed...

Anyhow, there was a little discussion around this, and I mentioned
having some thoughts on how to fix up that kind of mess, and moving
things to e_os2.h so it could be used consistently.  Looking around a
bit at the exported header files, I found a number of checks on macros
like WIN16 (see bio.h), MPE (see ssl2.h) and others that are defined
when building OpenSSL but otherwise not.  So far, it seems to have
been harmless, but there's potential for damage or misleadings.  And,
at that, if an external application wanted the right NO_ macros to be
defined properly, it had to define OPENSSL_ALGORITHMS (or something
like that), even if it turns out to be only the OpenSSL headers
themselves that actually need them (NO_KRB5 being the current blatant
example).  IIRC, that scheme was put in place to protect other
applications that might use NO_FOO for it's own purposes.

My goals with this was that:

  - external application should get macros that OpenSSL headers or
    others depend on without having to take any extra steps.
  - whatever configuration macros that are defined should be unique to
    OpenSSL

The solution was to have all "exported" macros be prefixed with
OPENSSL_.

You will note that there are a number of macros I have not touched,
partly because I see that as another step, and partly because I'm not
entirely sure it's appropriate since they have already been defined
for a long time with no special protection.

-- 
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