Dear Daniel,

On Wed, Mar 20, 2024 at 3:06 PM Daniel P. Berrangé <berra...@redhat.com>
wrote:

> On Wed, Mar 20, 2024 at 02:35:21PM +0100, Dmitry Belyavskiy wrote:
> > Dear Daniel,
> >
> > On Wed, Mar 20, 2024 at 1:44 PM Daniel P. Berrangé <berra...@redhat.com>
> > wrote:
> >
> > > On Fri, Mar 08, 2024 at 08:37:19PM +0000, Aoife Moloney wrote:
> > > > Wiki - https://fedoraproject.org/wiki/Changes/OpensslNoEngine
> > > >
> > > > This is a proposed Change for Fedora Linux.
> > > > This document represents a proposed Change. As part of the Changes
> > > > process, proposals are publicly announced in order to receive
> > > > community feedback. This proposal will only be implemented if
> approved
> > > > by the Fedora Engineering Steering Committee.
> > > >
> > > > == Summary ==
> > > > We disable support of engines in OpenSSL
> > > >
> > > > == Owner ==
> > > > * Name: [[User:Dbelyavs| Dmitry Belyavskiy]]
> > > > * Email: dbely...@redhat.com
> > > >
> > > > == Detailed Description ==
> > > > We are going to build OpenSSL without engine support. Engines are not
> > > > FIPS compatible and corresponding API is deprecated since OpenSSL
> 3.0.
> > > > The engine functionality we are aware of (PKCS#11, TPM) is either
> > > > covered by providers or will be covered soon.
> > >
> > > "will be covered soon"
> > >
> > > ... so lets wait until that work is actually complete before
> > > removing this from openssl, otherwise there's a window of
> > > brokenness in Fedora where the old feature is removed and
> > > the new feature is not ready.
> > >
> >
> > I am not going to land this change until the tpm2 provider is landed in
> > Fedora.
>
> Lets explicitly note that as a blocking /  pre-requisite dependency
> for landing this change then.
>

Fair point, will do.


> > > Removing symbols is an ABI break, so would imply the need for
> > > an SONAME version bump. This is not normally something that
> > > downstreams should ever touch though - it is an upstream
> > > decision when to bump their SONAME version.
> > >
> > > Should we not preserve the ENGINE_* symbols, but turn
> > > their impl into either a no-op, or reporting a runtime
> > > error, as appropriate for each API.
> > >
> >
> > All 100+ symbols? I don't think providing non-working stubs would be a
> good
> > idea...
>
> Intentionally forking the upstream ABI is worse IMHO.
>
> Consider you've built your own app on Fedora 39 that uses these
> symbols, and now upgrade to F40. RPM will consider the dependency
> still satisfied, as the SONAME hasn't changed on libcrypto. The
> app throws linker errors at some point due to the missing symbols.
>
> Another alternative is to continue providing fully functional engine
> symbols, but remove the header files so in practice you can't compile
> something new that uses it. This is still forking the API, but at least
> has not forked the ELF ABI, so the upgrade doesn't explode.
>

I agree that this option is on the table.
-- 
Dmitry Belyavskiy
--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to