1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2026-02-04 07:51:50 +00:00

discard Python 2 ssl handling (#11078)

* discard Python 2 ssl handling

* add changelog frag

* Apply suggestion

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
Alexei Znamensky 2025-11-11 09:12:17 +13:00 committed by GitHub
parent e8bdf46627
commit dcb580c41d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 10 additions and 41 deletions

View file

@ -0,0 +1,4 @@
minor_changes:
- cobbler_sync - remove conditional code handling SSL for unsupported versions of Python (https://github.com/ansible-collections/community.general/pull/11078).
- cobbler_system - remove conditional code handling SSL for unsupported versions of Python (https://github.com/ansible-collections/community.general/pull/11078).
- jenkins_job_info - remove conditional code handling SSL for unsupported versions of Python (https://github.com/ansible-collections/community.general/pull/11078).

View file

@ -110,22 +110,10 @@ def main():
start = now() start = now()
ssl_context = None ssl_context = None if validate_certs or not use_ssl else ssl._create_unverified_context()
if not validate_certs:
try:
ssl_context = ssl._create_unverified_context()
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = ssl._create_unverified_context
url = "{proto}://{host}:{port}/cobbler_api".format(**module.params) url = "{proto}://{host}:{port}/cobbler_api".format(**module.params)
if ssl_context: conn = xmlrpc_client.ServerProxy(url, context=ssl_context)
conn = xmlrpc_client.ServerProxy(url, context=ssl_context)
else:
conn = xmlrpc_client.Server(url)
try: try:
token = conn.login(username, password) token = conn.login(username, password)

View file

@ -232,22 +232,10 @@ def main():
start = now() start = now()
ssl_context = None ssl_context = None if validate_certs or not use_ssl else ssl._create_unverified_context()
if not validate_certs:
try:
ssl_context = ssl._create_unverified_context()
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = ssl._create_unverified_context
url = "{proto}://{host}:{port}/cobbler_api".format(**module.params) url = "{proto}://{host}:{port}/cobbler_api".format(**module.params)
if ssl_context: conn = xmlrpc_client.ServerProxy(url, context=ssl_context)
conn = xmlrpc_client.ServerProxy(url, context=ssl_context)
else:
conn = xmlrpc_client.Server(url)
try: try:
token = conn.login(username, password) token = conn.login(username, password)

View file

@ -160,13 +160,8 @@ def get_jenkins_connection(module):
token = module.params.get("token") token = module.params.get("token")
validate_certs = module.params.get("validate_certs") validate_certs = module.params.get("validate_certs")
if not validate_certs and hasattr(ssl, "SSLContext"): if not validate_certs:
ssl._create_default_https_context = ssl._create_unverified_context ssl._create_default_https_context = ssl._create_unverified_context
if validate_certs and not hasattr(ssl, "SSLContext"):
module.fail_json(
msg="Module does not support changing verification mode with python < 2.7.9."
" Either update Python or use validate_certs=false."
)
if username and (password or token): if username and (password or token):
return jenkins.Jenkins(url, username, password or token) return jenkins.Jenkins(url, username, password or token)

View file

@ -41,13 +41,7 @@ keyfile = basename + '.key'
if len(sys.argv) > 3: if len(sys.argv) > 3:
keyfile = sys.argv[3] keyfile = sys.argv[3]
try: ssl_ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
ssl_ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
except AttributeError:
ssl_ctx = None
if HAS_TLS:
print('Python ssl library does not support SSLContext, hence starttls and TLS are not supported.')
import smtpd
if HAS_TLS and ssl_ctx is not None: if HAS_TLS and ssl_ctx is not None:
print('Using %s and %s' % (certfile, keyfile)) print('Using %s and %s' % (certfile, keyfile))