diff --git a/lib/ansible/module_utils/urls.py b/lib/ansible/module_utils/urls.py index 26af6f2d70..c0658d67a2 100644 --- a/lib/ansible/module_utils/urls.py +++ b/lib/ansible/module_utils/urls.py @@ -893,7 +893,8 @@ def open_url(url, data=None, headers=None, method=None, use_proxy=True, if HAS_SSLCONTEXT and not validate_certs: # In 2.7.9, the default context validates certificates context = SSLContext(ssl.PROTOCOL_SSLv23) - context.options |= ssl.OP_NO_SSLv2 + if ssl.OP_NO_SSLv2: + context.options |= ssl.OP_NO_SSLv2 context.options |= ssl.OP_NO_SSLv3 context.verify_mode = ssl.CERT_NONE context.check_hostname = False diff --git a/test/units/module_utils/urls/test_open_url.py b/test/units/module_utils/urls/test_open_url.py index 7d6aabb1db..9185b62a6f 100644 --- a/test/units/module_utils/urls/test_open_url.py +++ b/test/units/module_utils/urls/test_open_url.py @@ -217,7 +217,8 @@ def test_open_url_no_validate_certs(urlopen_mock, install_opener_mock): assert ssl_handler is not None context = ssl_handler._context assert context.protocol == ssl.PROTOCOL_SSLv23 - assert context.options & ssl.OP_NO_SSLv2 + if ssl.OP_NO_SSLv2: + assert context.options & ssl.OP_NO_SSLv2 assert context.options & ssl.OP_NO_SSLv3 assert context.verify_mode == ssl.CERT_NONE assert context.check_hostname is False