On Tue, Jul 20, 1999 at 10:02:05AM +1000, Damien Miller wrote:

>>> Backward compatibility is an important issue.  Think "dynamic
>>> library".

>> The funny thing here is that if we just add the parameters, then on
>> systems with "standard" calling convention old programs should run
>> without any problems with newly compiled shared libraries: The new
>> library functions will expect one parameter that is not actually there
>> and will take whatever happens to be on the stack and pass it to the
>> callback function as a "pointer argument"; the callback function in
>> turn just ignores this extra (garbage) argument.

> Except for the extra field in ssl_ctx - that would have to be moved to
> the end or it will break alignment.

Programs that access that structure directly cannot reasonably expect
binary compatability across library versions.  Clean programs handle
SSL_CTX's only as pointers.  A problem is just that, in case the
application is written in C, you may not always notice that what you
use is really a macro and not a function.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to