> On Unix as well as on VMS and others, it's > often possible to upgrade a shareable library to a newer version > without breaking the programs using it.
Of course. > This requires the API to stay > the same except for added functions, and for types and structures to > never change (except for adding new types and new structures). But the flip side, which is what I was referring to, is when the framework tries to use those new functions. It needs to determine that the new functions aren't present in a legacy plug-in and somehow invalidate any calls to them. Perhaps the missing piece of the puzzle here is that the standard loader will catch missing symbols after loading shared libraries. Since this is handled by the system, we normally don't give it any thought. In contrast, with a plug-in the framework itself acts as the loader, and it must detect mising symbols in older shared libraries. Depending on the way it's hooked, it either has to resolve each symbol individually or a single structure and then check the version number. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]