2007/609 Alpine: Mail User Agent

Darren J Moffat Darren.Moffat at Sun.COM
Mon Oct 22 05:03:06 PDT 2007


James Carlson wrote:
> Darren J Moffat writes:
>> The only way we can "fix" that is if OpenSSL stops breaking ABI (not 
>> just API) compatibility in what we would know as bug fix or patch releases.
> 
> I suspect there's a pretty big difference between depending on the
> OpenSSL published interfaces and depending on the unfiltered guts of
> the implementation.

The problem here though is that the applications using OpenSSL all do so 
for different reasons and at different layers.  Some just use the SSL 
API and do so nicely.  Others use the EVP layer of libcrypto.  There are 
even those that stick their dirty little fingers deep inside the 
structures of the lowest level APIs.

How do we deal with applications in a consolidation different to the one 
OpenSSL is in (currently ON) when the version of OpenSSL changes ?

> It'd be nice if we could at least get a stability commitment for the
> published interfaces, because OpenSSL -- not PKCS#11 -- is _the_
> de-facto standard for dealing with encryption mechanisms.  We're going
> to see many more of these, not fewer, and the idea of having contracts
> for each becomes less plausible with time.

I agree contracts isn't the way to deal with this, but it is the only 
mechanism we have for finding the OpenSSL consumers and contacting them 
when we know that a new version of OpenSSL will cause breakage.

>> They don't do this lightly but it does happen and has happened recently 
>> - this is one of the reasons that an upgrade of OpenSSL version takes so 
>> long.
> 
> For what it's worth, we also obsolete interfaces and then change or
> remove them.  I think the root question here is whether there's notice
> and if there's some way to avoid a broken build.  As long as that
> exists, I don't think the contract helps.

Given that the consumers are spread over (at least) three different 
consolidations of Solaris it isn't an easy task.

>> That is why the ARC contract system is being used it allows the team 
>> that looks after OpenSSL in ONNV to contact all the other consumers and 
>> work with them on version upgrades that may cause issues.
> 
> I'll add a contract if that's what you want to see here, though I
> think it's the wrong way forward.

It is what PSARC wanted when the original case to include OpenSSL was 
reviewed.  The contact is very explicit about which OpenSSL APIs we 
believe the OpenSSL community has some commitment to (the SSL and EVP 
APIs in particular).

Personally I don't mind either way, however without one there is no 
comeback to the OpenSSL team if they introduce an updated version of 
OpenSSL and the build of another project in another consolidation starts 
failing.  That is not to say they won't help debug the issue though.


-- 
Darren J Moffat



More information about the opensolaris-arc mailing list