diff --git a/Tools/ssl/multissltests.py b/Tools/ssl/multissltests.py index dc47c5ce12c..24d70ac6e40 100755 --- a/Tools/ssl/multissltests.py +++ b/Tools/ssl/multissltests.py @@ -33,6 +33,7 @@ from urllib.error import HTTPError except ImportError: from urllib2 import urlopen, HTTPError +import re import shutil import string import subprocess @@ -448,11 +449,14 @@ def _post_install_300(self): @property def short_version(self): """Short version for OpenSSL download URL""" - short_version = self.version.rstrip(string.ascii_letters) - if short_version.startswith("0.9"): - short_version = "0.9.x" - return short_version - + mo = re.search(r"^(\d+)\.(\d+)\.(\d+)", self.version) + parsed = tuple(int(m) for m in mo.groups()) + if parsed < (1, 0, 0): + return "0.9.x" + if parsed >= (3, 0, 0): + # OpenSSL 3.0.0 -> /old/3.0/ + parsed = parsed[:2] + return ".".join(str(i) for i in parsed) class BuildLibreSSL(AbstractBuilder): library = "LibreSSL"