On 09/10/09 11:56 PM, Kurt Roeckx wrote:
On Tue, Sep 01, 2009 at 02:23:38PM +0200, Mark Phalan wrote:
In OpenSolaris we follow an interface stability classification system
which marks interfaces according to how stable they are believed to be.
You can see more information here if interested:
http://opensolaris.org/os/community/arc/policies/interface-taxonomy/
Currently OpenSSL APIs are classified as "External" which basically
means that no stability guarantees are made and ABI and API
compatibility may break at any time. In order to use these interfaces
within OpenSolaris a contract is required. The interfaces covered by the
contract believed to be fairly stable are:
Interface
---------
ASN1_
BN_
BIO_
CRYPTO_
EVP_
HMAC
OpenSSL_
OBJ_
PEM_
PKCS7
PKCS12_
RAND_
SMIME_
SSL_
X509_
We'd like to "promote" the above interfaces to a slightly higher level
of stability so that contracts for use are no longer required in
OpenSolaris. Is the above list of APIs fairly stable? within lettered
releases only? any missing APIs or APIs which probably shouldn't be
there? will 1.0 change things a lot?
Going from 0.9.8 to 1.0.0 they change the soname, so they clearly
want to indicate that it's not binary compatible. If it was compatible
there would be no need to change the soname.
Right. I understand that major version change implies ABI incompatibility.
This issue has been brought up a few times already, and it seems
to me that they want to go to a stable API/ABI but on the other
hand don't want to make any changes to get there.
Currently the ABI changes depending on compile time options.
This is something I can mostly control and maintain (thankfully).
New functionally ussually means that some struct needs to get
new members, and all those structs are public, and applications
make direct use of them. And compile time options will
add those members.
The API for those functions on the other hand might be more
stable, but I'm afraid you won't be able to use them
without knowing the members of the structs.
I understand this. I'd like to know if 0.9.8l will be ABI/API compat
with 0.9.8k - or at least that it is considered a bug if they are not
ABI/API compat. I'm unclear as to what restrictions a 0.9.9x release
would have regarding compatibility with the 0.9.8 series. I fully
understand that 1.0 will not be compatible with 0.9.x.
Thanks,
-M
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager majord...@openssl.org