Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion easybuild/easyblocks/o/openssl_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
import os
import re

from urllib.parse import urlparse

from easybuild.tools import LooseVersion

from easybuild.easyblocks.generic.bundle import Bundle
Expand Down Expand Up @@ -376,6 +378,15 @@ def sanity_check_step(self):
'dirs': ssl_dirs,
}

# use proxy to connect if https_proxy environment variable is defined
proxy_arg = ''
if os.environ.get('https_proxy'):
# only use host & port from https_proxy env var, that is, strip
# any protocol prefix and trailing slashes
proxy_parsed = urlparse(os.environ.get('https_proxy'))
if proxy_parsed.netloc:
proxy_arg = ' -proxy %s' % proxy_parsed.netloc

if LooseVersion(self.version) >= LooseVersion('3') and self.version.count('.') == 0:
ssl_ver_comp_chars = 1
else:
Expand All @@ -384,7 +395,8 @@ def sanity_check_step(self):
custom_commands = [
# make sure that version mentioned in output of 'openssl version' matches version we are using
"ssl_ver=$(openssl version); [ ${ssl_ver:8:%s} == '%s' ]" % (ssl_ver_comp_chars, self.majmin_version),
"echo | openssl s_client -connect github.com:443 -verify 9 | grep 'Verify return code: 0 (ok)'",
("echo | openssl s_client%s -connect github.com:443 -verify 9 "
"| grep 'Verify return code: 0 (ok)'" % proxy_arg),
]

super(Bundle, self).sanity_check_step(custom_paths=custom_paths, custom_commands=custom_commands)
Expand Down