Skip to content

Comments

Engine code removal#28548

Closed
mbroz wants to merge 7 commits intoopenssl:feature/engineremovalfrom
mbroz:engine-code-removal
Closed

Engine code removal#28548
mbroz wants to merge 7 commits intoopenssl:feature/engineremovalfrom
mbroz:engine-code-removal

Conversation

@mbroz
Copy link
Member

@mbroz mbroz commented Sep 15, 2025

This is a follow-up to #28384 that removes the rest of the Engine code.

[updated as it is required for follow-up header changes]

This PR

  • removes engines and crypto/engine directories
  • removes engine headers (engine.h) and related error codes
  • removes symbols from API and documentation
  • Fixes CI as some options disappeared
  • add a workaround to test that still requires headers
  • Add stub definitions
  • Add deprecated macro with own message (as I found no no better alternative)
  • Add stubs for other removed engine-related symbols

https://github.com/openssl/private/issues/840

Checklist
  • documentation is added or updated
  • tests are added or updated

@mbroz mbroz linked an issue Sep 15, 2025 that may be closed by this pull request
@github-actions github-actions bot added the severity: fips change The pull request changes FIPS provider sources label Sep 15, 2025
@mbroz mbroz added the severity: ABI change This pull request contains ABI changes label Sep 15, 2025
@beldmit
Copy link
Member

beldmit commented Sep 15, 2025

@mbroz could you please adjust code-style (the newly added failures)? LGTM otherwise

@mbroz mbroz force-pushed the engine-code-removal branch from 85fda4a to b8a897c Compare September 15, 2025 07:41
@mbroz
Copy link
Member Author

mbroz commented Sep 15, 2025

@mbroz could you please adjust code-style (the newly added failures)? LGTM otherwise

done, but it was just copy & paste #if from the existing code (to be removed later anyway :)
The rest are warnings from #28384

@t-j-h
Copy link
Member

t-j-h commented Sep 16, 2025

header files will need to remain - so that existing code that includes them doesn't break - i.e. the concept is for the implementation to be gone - but anything that doesn't actually meaningfully use engines actually still works unchanged

@beldmit
Copy link
Member

beldmit commented Sep 16, 2025

We provide empty engine.h in Red Hat to avoid compilation issues

@mbroz
Copy link
Member Author

mbroz commented Sep 16, 2025

header files will need to remain - so that existing code that includes them doesn't break - i.e. the concept is for the implementation to be gone - but anything that doesn't actually meaningfully use engines actually still works unchanged

The same can be said about error codes (generated openssl/engineerr.h) - someone can just use them in some code (even if never used). So we need to discuss how to do it. I think some trivial compilation changes (remove include line) would be acceptable, but I do not know the details. Full include removal was a nice test that our code is clean now, I can add an empty header file now.

@jogme jogme linked an issue Sep 16, 2025 that may be closed by this pull request
2 tasks
@jogme jogme linked an issue Sep 16, 2025 that may be closed by this pull request
2 tasks
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 1, 2025
…rors definitions.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 1, 2025
This add pragma setting for gcc an clang compilers.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 1, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 1, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 1, 2025
Note, that engine.h now does not contain any real forward declarations,
so it should be excluded from the symbols parsing.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 1, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 1, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 1, 2025
…rors definitions.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 1, 2025
This add pragma setting for gcc an clang compilers.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
Note, that engine.h now does not contain any real forward declarations,
so it should be excluded from the symbols parsing.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
…rors definitions.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
This add pragma setting for gcc an clang compilers.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 4, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 4, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 4, 2025
Note, that engine.h now does not contain any real forward declarations,
so it should be excluded from the symbols parsing.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 4, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 4, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 4, 2025
…rors definitions.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
nhorman pushed a commit to nhorman/openssl that referenced this pull request Dec 4, 2025
This add pragma setting for gcc an clang compilers.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
Note, that engine.h now does not contain any real forward declarations,
so it should be excluded from the symbols parsing.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
…rors definitions.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
mbroz added a commit to mbroz/openssl that referenced this pull request Dec 4, 2025
This add pragma setting for gcc an clang compilers.

Signed-off-by: Milan Broz <[email protected]>

Reviewed-by: Neil Horman <[email protected]>
Reviewed-by: Matt Caswell <[email protected]>
Reviewed-by: Tomas Mraz <[email protected]>
(Merged from openssl#28548)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approval: ready to merge The 24 hour grace period has passed, ready to merge branch: feature The issue or PR is relevant only to one of the feature branches. severity: fips change The pull request changes FIPS provider sources tests: exempted The PR is exempt from requirements for testing triaged: feature The issue/pr requests/adds a feature

Projects

None yet

10 participants