Parse OpenSSH versions with no SSH_EXTRAVERSION

If the Debian banner is not used, then there won't be a space after the
version number: it'll be followed directly by a comma.

Bug: https://crbug.com/gerrit/16903
Change-Id: I12b873f32afc9424f42b772399c346f96ca95a96
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/372875
Tested-by: Saagar Jha <saagarjha@google.com>
Reviewed-by: Mike Frysinger <vapier@google.com>
diff --git a/ssh.py b/ssh.py
index 1d7ebe3..bb89fa1 100644
--- a/ssh.py
+++ b/ssh.py
@@ -42,7 +42,7 @@
     """parse a ssh version string into a tuple"""
     if ver_str is None:
         ver_str = _run_ssh_version()
-    m = re.match(r"^OpenSSH_([0-9.]+)(p[0-9]+)?\s", ver_str)
+    m = re.match(r"^OpenSSH_([0-9.]+)(p[0-9]+)?[\s,]", ver_str)
     if m:
         return tuple(int(x) for x in m.group(1).split("."))
     else:
diff --git a/tests/test_ssh.py b/tests/test_ssh.py
index a9c1be7..d74f7fe 100644
--- a/tests/test_ssh.py
+++ b/tests/test_ssh.py
@@ -39,6 +39,8 @@
             "OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n  7 Dec 2017\n"
         )
         self.assertEqual(ver, (7, 6))
+        ver = ssh._parse_ssh_version("OpenSSH_9.0p1, LibreSSL 3.3.6\n")
+        self.assertEqual(ver, (9, 0))
 
     def test_version(self):
         """Check version() handling."""