Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Library contextify "everything" [master only] #8760

Closed
levitte opened this issue Apr 16, 2019 · 6 comments
Closed

Library contextify "everything" [master only] #8760

levitte opened this issue Apr 16, 2019 · 6 comments
Labels
triaged: feature The issue/pr requests/adds a feature
Milestone

Comments

@levitte
Copy link
Member

levitte commented Apr 16, 2019

I'm unsure if this should be regarded as a new feature or a bug fix... it rather seems it's a bit of both

While looking at configuration modules, it became clear that we have a disconnect between loading a configuration file (all values currently end up in the default library context) and the use of providers in a non-default library context. The EVP configuration module allows setting the default property query string, but that currently only ends up in the default library context, and if some application decides to use another library context (explicitly created with OPENSSL_CTX_new()) and then loads the config file, they will still see none of the configured property query string.

This would affect functions like CONF_modules_load, and OPENSSL_init_crypto will probably be affected as well (although it does take a settings parameter, so it's possible a library context can be passed that way... I haven't looked yet). This also means that all affected internal databases will have to move into the library context.

This will also affect the interactive mode of the openssl app, since it will become easy to just create a library context before executing each command, and clean it up on completion of each command, thereby fixing the issue #2795, #4679, #6292...

As part of this effort, we need to identify what databases should be affected by this, if not all.

@levitte levitte added this to the 3.0.0 milestone Apr 16, 2019
@levitte levitte added this to To do in 3.0 New Core + FIPS via automation Apr 16, 2019
@levitte levitte changed the title Library contextify everything [master only] Library contextify "everything" [master only] Apr 16, 2019
@richsalz
Copy link
Contributor

I believe that library contexts are not sufficiently thought through, and that for 3.0 you only have a global context. Keep the API's, but treat anything non-NULL as an error for this release.

@levitte
Copy link
Member Author

levitte commented Apr 16, 2019

I'm not sure what you mean with "not sufficient", care to elaborate?

@richsalz
Copy link
Contributor

This issue, for example? Ordering? The "init" problem?

@levitte
Copy link
Member Author

levitte commented Apr 16, 2019

#8764 talks a bit about ordering problems. We have that regardless of library context.

@richsalz
Copy link
Contributor

Shrug. I think this is premature but I know I'm in the minority here. Shrug.

@levitte levitte added the triaged: feature The issue/pr requests/adds a feature label Nov 19, 2019
@kroeckx kroeckx modified the milestones: 3.0.0, 3.0.0 beta1 Sep 16, 2020
@levitte
Copy link
Member Author

levitte commented Sep 22, 2020

This issue has aged

@levitte levitte closed this as completed Sep 22, 2020
3.0 New Core + FIPS automation moved this from To do to Done Sep 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triaged: feature The issue/pr requests/adds a feature
Projects
No open projects
Development

No branches or pull requests

3 participants