annotate roundup/version_check.py @ 7968:d7e79f8eb943

issue2551350 - Python changes for 3.12 with roundup 2.3.0 mailer.py Fix due to change in smtplib.SMTP.starttls() signature. As of 3.3 it can use an optional ssl context argument for certificates/keys. In 3.12 it dropped legacy support for specifing cert/key files as arguments and requires a context. I modified Andrew's original patch to initialize SSLContext with ssl.PROTOCOL_TLS_CLIENT. If there is a cert file specified, enable check_hostname - verify that the cert supplied by the server matches the hostname we supplied. If there is no cert file call load_default_certs() Also opened issue2551351 to look into more SMTP ssmtp tightening. We also should have an option in Roundup to use TLS/SSL (smtps) without using starttls. Note that this code is untested by the test suite due to the need to setup an SMTP server with STARTTLS support. issue2551351 has some notes on this.
author John Rouillard <rouilj@ieee.org>
date Wed, 15 May 2024 00:08:05 -0400
parents 9223ed67af05
children f72381d300a4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
449
141aacfdb34f Centralised the python version check code, bumped version to 2.1.1
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 #!/usr/bin/env python
2005
fc52d57c6c3e documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1090
diff changeset
2
5321
4566360871dc Raises python requirement to 2.7.
Bernhard Reiter <bernhard@intevation.de>
parents: 4682
diff changeset
3 # Roundup requires Python 2.7+ as mentioned in doc\installation.txt
5376
64b05e24dbd8 Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5321
diff changeset
4 from __future__ import print_function
6016
9223ed67af05 flake8 cleanup: move module import before statement.
John Rouillard <rouilj@ieee.org>
parents: 5376
diff changeset
5 import sys
449
141aacfdb34f Centralised the python version check code, bumped version to 2.1.1
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6
6016
9223ed67af05 flake8 cleanup: move module import before statement.
John Rouillard <rouilj@ieee.org>
parents: 5376
diff changeset
7 VERSION_NEEDED = (2, 7)
9223ed67af05 flake8 cleanup: move module import before statement.
John Rouillard <rouilj@ieee.org>
parents: 5376
diff changeset
8
4682
0c2cad65ebba version_check.py: Bump required Python version from 2.1.1+ to 2.5+
anatoly techtonik <techtonik@gmail.com>
parents: 4570
diff changeset
9 if sys.version_info < VERSION_NEEDED:
5376
64b05e24dbd8 Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5321
diff changeset
10 print("Content-Type: text/plain\n")
64b05e24dbd8 Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5321
diff changeset
11 print("Roundup requires Python %s.%s or newer." % VERSION_NEEDED)
449
141aacfdb34f Centralised the python version check code, bumped version to 2.1.1
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 sys.exit(0)

Roundup Issue Tracker: http://roundup-tracker.org/