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

move common/crypto impl to extensions for openssl #7344

Merged
merged 15 commits into from
Sep 16, 2019

Conversation

bdecoste
Copy link
Contributor

Signed-off-by: William DeCoste bdecoste@gmail.com

For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md

Description: Move common/crypto impl (i.e. utility.cc) to extensions to make it clear that the impl is ssl-impl specific (e.g. boringgsl vs openssl) and easier to plug in an openssl impl.
Risk Level: Low
Testing: Passes all standard tests
Docs Changes: None
Release Notes: None
[Optional Fixes #Issue]
[Optional Deprecated:]

@bdecoste bdecoste force-pushed the move_common_crypto_impl branch 2 times, most recently from 049793d to 01e63a2 Compare June 20, 2019 22:35
@bdecoste bdecoste force-pushed the move_common_crypto_impl branch 2 times, most recently from d1a8d73 to 76f476d Compare June 20, 2019 22:47
source/extensions/common/crypto/BUILD Outdated Show resolved Hide resolved
CODEOWNERS Outdated Show resolved Hide resolved
source/common/crypto/utility.h Outdated Show resolved Hide resolved
@stale
Copy link

stale bot commented Jul 1, 2019

This pull request has been automatically marked as stale because it has not had activity in the last 7 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions!

@stale stale bot added the stale stalebot believes this issue/PR has not been touched recently label Jul 1, 2019
@bdecoste
Copy link
Contributor Author

bdecoste commented Jul 3, 2019

Working on an update per the review

@stale stale bot removed the stale stalebot believes this issue/PR has not been touched recently label Jul 3, 2019
@bdecoste bdecoste force-pushed the move_common_crypto_impl branch 5 times, most recently from 53909c8 to e1e138f Compare July 3, 2019 22:21
@bdecoste
Copy link
Contributor Author

bdecoste commented Jul 8, 2019

@lizan @PiotrSikora would you mind doing a re-review? Thanks

source/common/crypto/utility.h Outdated Show resolved Hide resolved
@lizan lizan added the waiting label Jul 15, 2019
@bdecoste bdecoste force-pushed the move_common_crypto_impl branch 5 times, most recently from 42c68cd to dfab7b9 Compare July 18, 2019 22:11
Signed-off-by: William DeCoste <bdecoste@gmail.com>
Signed-off-by: William DeCoste <bdecoste@gmail.com>
Signed-off-by: William DeCoste <bdecoste@gmail.com>
Signed-off-by: William DeCoste <bdecoste@gmail.com>
Signed-off-by: William DeCoste <bdecoste@gmail.com>
Signed-off-by: William DeCoste <bdecoste@gmail.com>
Signed-off-by: William DeCoste <bdecoste@gmail.com>
Signed-off-by: William DeCoste <bdecoste@gmail.com>
Signed-off-by: William DeCoste <bdecoste@gmail.com>
Signed-off-by: William DeCoste <bdecoste@gmail.com>
Signed-off-by: William DeCoste <bdecoste@gmail.com>
Signed-off-by: William DeCoste <bdecoste@gmail.com>
venilnoronha
venilnoronha previously approved these changes Sep 12, 2019
Copy link
Member

@venilnoronha venilnoronha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this!

Signed-off-by: William DeCoste <bdecoste@gmail.com>
Copy link
Member

@lizan lizan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, Thanks for the patience.

@lizan lizan merged commit 6ec15ce into envoyproxy:master Sep 16, 2019
@bdecoste
Copy link
Contributor Author

@lizan Thanks!

danzh2010 pushed a commit to danzh2010/envoy that referenced this pull request Sep 24, 2019
Description: Move common/crypto impl (i.e. utility.cc) to extensions to make it clear that the impl is ssl-impl specific (e.g. boringgsl vs openssl) and easier to plug in an openssl impl. 
Risk Level: Low
Testing: Passes all standard tests
Docs Changes: None
Release Notes: None

Signed-off-by: William DeCoste <bdecoste@gmail.com>
danzh2010 pushed a commit to danzh2010/envoy that referenced this pull request Oct 4, 2019
Description: Move common/crypto impl (i.e. utility.cc) to extensions to make it clear that the impl is ssl-impl specific (e.g. boringgsl vs openssl) and easier to plug in an openssl impl. 
Risk Level: Low
Testing: Passes all standard tests
Docs Changes: None
Release Notes: None

Signed-off-by: William DeCoste <bdecoste@gmail.com>
danzh2010 pushed a commit to danzh2010/envoy that referenced this pull request Oct 4, 2019
Description: Move common/crypto impl (i.e. utility.cc) to extensions to make it clear that the impl is ssl-impl specific (e.g. boringgsl vs openssl) and easier to plug in an openssl impl. 
Risk Level: Low
Testing: Passes all standard tests
Docs Changes: None
Release Notes: None

Signed-off-by: William DeCoste <bdecoste@gmail.com>
@moderation
Copy link
Contributor

@bdecoste I think the answer is yes, but am I able to comment out the line https://github.com/envoyproxy/envoy/blob/master/source/extensions/extensions_build_config.bzl#L107 following the instructions at https://github.com/envoyproxy/envoy/tree/master/bazel#disabling-extensions when using the default boringssl configuration and have the build work? Put another way, is this line /extension only relevant when trying to build with openssl?

@venilnoronha
Copy link
Member

@moderation that was added in #8745. It's needed for both BoringSSL and non-BoringSSL builds. See https://github.com/envoyproxy/envoy-openssl also.

@mattklein123
Copy link
Member

@venilnoronha @moderation @lizan FWIW I'm not thrilled that "extension" was added. IMO it should be the default that utility is enabled for the normal build and openssl should have some other way of turning off.

@moderation
Copy link
Contributor

Still confused too. If it is needed for both BoringSSL and non-BoringSSL it sounds mandatory and shouldn't have an option to compile it out.

@alyssawilk
Copy link
Contributor

coming back to this w.r.t #9953 I think we either need to make this a proper extension, and link it in and out, or move it back to code and just have openssl folks overwrite it.
I tried just removing deps and we have core code (source/common/config/remote_data_fetcher.cc) which depends on a utility singleton (UtilitySingleton) which is in extensions.

@bdecoste are you folks up for doing the work to make it a regular extension, or if I move the code back (but keep it a separate library) is that OK by you?

@rojkov
Copy link
Member

rojkov commented Sep 23, 2021

It seems we don't have resources to maintain boringssl optional, so it's ok to move the code back to core.

/cc @dmitri-d

@dmitri-d
Copy link
Contributor

if I move the code back (but keep it a separate library) is that OK by you?

Yeah, I think that's the way to go -- There are a lot of changes in the core to support OpenSSL anyway, I don't think it makes sense to maintain a few utility calls as an extension...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants