From: Damien Miller <[EMAIL PROTECTED]> djm> On Thu, 24 Jan 2002, Richard Levitte - VMS Whacker wrote: djm> djm> > My first attepmt was to do the whole thing with cpp macros. However, djm> > after giving it some thought, that could cause a number of problems; djm> > one is that macros have zero type safety. You can give those macros djm> > exactly whatever without the compiler reacting, since a lot of casts djm> > would be made in their expansion. djm> djm> If there is a one-to-one mapping of arguments between the new and old djm> functions, and the macros merely rearrange the order (and change the djm> names) then type safety shouldn't be a problem.
Take a look, there are type casts in the wrappers, so it's not merely a rearrangement of the order. djm> > The other problem is applications djm> > that link either with libdes or with openssl's libcrypto. The latter djm> > will very suddenly fail. djm> djm> How? These apps would need to be recompiled anyway - that way they would djm> pick up the macros. If we retain the old symbols in the library, which is currently expected, they don't need to recompile. Re*linking* would be sufficient to satisfy the linkers idea of what the program needs. djm> > But, this isn't the end of the story. On some architectures, there djm> > are binary incompatibilities between openssl's libcrypto and libdes. djm> djm> Aren't these what you are trying to avoid in the first place? djm> The libdes shipped with MIT krbIV is an ongoing source of frustration for djm> the portable OpenSSH developers. Yes, you're right, that's what we try to avoid. However, we've already had complaints about not providing the old symbols by default, so guess how people will react if they are missing in the library as well. This mess is our own fault in a way. We changed the des API from the libdes form, and thereby created a number of source-level incompatibilities, which leads to clashes when people need to interchange libdes and libcrypto in a fairly elegant way. -- Richard Levitte \ Spannvägen 38, II \ [EMAIL PROTECTED] Redakteur@Stacken \ S-168 35 BROMMA \ T: +46-8-26 52 47 \ SWEDEN \ or +46-733-72 88 11 Procurator Odiosus Ex Infernis -- [EMAIL PROTECTED] Member of the OpenSSL development team: http://www.openssl.org/ Software Engineer, GemPlus: http://www.gemplus.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]