-
Notifications
You must be signed in to change notification settings - Fork 24
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
Undocumented dependency on specific OpenSSL version #144
Comments
Ah, I think I see that the version-agnostic behavior is new in v2 of the openssl package and that there are open PRs to update to that version. So it looks like that will get better soon but in the meantime some docs would be nice. |
Hey, that's right, currently That said, there is a compile time switch that will produce a panic like you mentioned. And +1 to documentation, it's becoming clear the need for project docs in general. I can open a new issue for docs tomorrow and link this as a sub task. Feel free to leave this open until it's complete if you like! |
True, but glibc has a pretty good compatibility story with symbol versioning. Personally I'm OK with the glibc requirement - we don't care about portability to non-glibc distributions and already have other dependencies on dlopen. But this is a good reminder that I'm not sure we've tested this issue recently.
Thanks, that's helpful (if a bit confusingly named - there's also |
golang-fips/openssl
is flexible in its support for OpenSSL versions; the version available at runtime does not have to match the version available at build time (https://github.com/golang-fips/openssl#portable-openssl).golang-fips/go
does not have this property;_goboringcrypto_DLOPEN_OPENSSL
loads only the version of the library that was available at build time (go/patches/001-initial-openssl-for-fips.patch
Line 3470 in 7f64529
Is it possible for this repo to use the same tricks as
golang-fips/openssl
to be version-agnostic? If not, could the failure to load the expected openssl version be a panic instead of silently falling back to the wrong crypto implementations? At the very least this hidden dependency should be documented.FYI I ran into this moving a binary between Red Hat's
ubi9
(which uses OpenSSL 3.0) andubi8
(which uses OpenSSL 1.1).The text was updated successfully, but these errors were encountered: