-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Preload on windows libcrypto and libssl, if required #8949
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
Conversation
Will this cause attempt to load the OpenSSL 1.1.1 DLLs to be loaded in an environment with OpenSSL 1.0.2 installed? |
yes, the goal is to load crypto/ssl on Windows before some other module
attempts to load it from different place. and to force the use of 1_1.
…On Wed, Jul 17, 2019 at 4:13 PM Jonathan J. Helmus ***@***.***> wrote:
Will this cause attempt to load the OpenSSL 1.1.1 DLLs to be loaded in an
environment with OpenSSL 1.0.2 installed?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#8949?email_source=notifications&email_token=ALJLMJDELZ3QG2J44ENNC6LP74SJRA5CNFSM4IEQMCN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2EKUSA#issuecomment-512272968>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ALJLMJE3RKZB4RJUTTL6BN3P74SJRANCNFSM4IEQMCNQ>
.
|
I don't think "forcing 1_1" is the right way to look at this. The correct behavior is to preload whatever matches conda - whatever is in the root env with conda. We need to be smart enough to figure out which is the correct one to preload. It may be 1.1, or it may be 1.0. |
Ok, fair. I will add code to probe for exiting version in Library/bin
folder before attempting to probe or pre-load.
…On Wed, Jul 17, 2019 at 4:36 PM Mike Sarahan ***@***.***> wrote:
I don't think "forcing 1_1" is the right way to look at this. The correct
behavior is to preload whatever matches conda - whatever is in the root env
with conda. We need to be smart enough to figure out which is the correct
one to preload. It may be 1.1, or it may be 1.0.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#8949?email_source=notifications&email_token=ALJLMJB7Q3MJN342GMMOF6LP74U7RA5CNFSM4IEQMC
8000
N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2ENF4I#issuecomment-512283377>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ALJLMJE7O3AD2SSZQPDIWOLP74U7RANCNFSM4IEQMCNQ>
.
|
# if version 1.1 is not found, try to load 1.0 | ||
if not exists(libssl_path2 + ".dll"): | ||
# print("prior not exits? %s\n" % libssl_path2+".dll") | ||
libssl_version = '-1_0' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unfortunately, I don't think this is sufficient. The openssl 1.0 DLL names were totally different. Probably best to look at one of the 1.0.2 package contents, but I remember something like libeay32.dll and libssleay32.dll?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, you are right. Just searching for difference of names for x64 and the 32-bit variant
libcrypto_path = find_library(so_name) | ||
if not libcrypto_path: | ||
libcrypto_path = os.path.join(sys.prefix, 'Library', 'bin', so_name) | ||
# print("Attempt to load %s lib\n" % libssl_path) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please clean up or replace these with log.debug calls
This PR causes conda to load any random OpenSSL it finds on PATH, even ones that do not match the architecture (and even openssl 1.0 when 1.1 is needed). We will be removing it soon. |
Hi there, thank you for your contribution to Conda! This pull request has been automatically locked since it has not had recent activity after it was closed. Please open a new issue or pull request if needed. |
No description provided.