Commit 1a14815b authored by Antoine Pitrou's avatar Antoine Pitrou

Issue #10280: NNTP.nntp_version should reflect the highest version

advertised by the server.
parent 0f834476
......@@ -361,7 +361,9 @@ class _NNTPBase:
else:
self._caps = caps
if 'VERSION' in caps:
self.nntp_version = int(caps['VERSION'][0])
# The server can advertise several supported versions,
# choose the highest.
self.nntp_version = max(map(int, caps['VERSION']))
def getwelcome(self):
"""Get the welcome message from the server
......
......@@ -558,7 +558,7 @@ class NNTPv2Handler(NNTPv1Handler):
def handle_CAPABILITIES(self):
self.push_lit("""\
101 Capability list:
VERSION 2
VERSION 2 3
IMPLEMENTATION INN 2.5.1
AUTHINFO USER
HDR
......@@ -935,7 +935,7 @@ class NNTPv2Tests(NNTPv1v2TestsMixin, MockedNNTPTestsMixin, unittest.TestCase):
def test_caps(self):
caps = self.server.getcapabilities()
self.assertEqual(caps, {
'VERSION': ['2'],
'VERSION': ['2', '3'],
'IMPLEMENTATION': ['INN', '2.5.1'],
'AUTHINFO': ['USER'],
'HDR': [],
......@@ -945,7 +945,7 @@ class NNTPv2Tests(NNTPv1v2TestsMixin, MockedNNTPTestsMixin, unittest.TestCase):
'POST': [],
'READER': [],
})
self.assertEqual(self.server.nntp_version, 2)
self.assertEqual(self.server.nntp_version, 3)
class MiscTests(unittest.TestCase):
......
......@@ -59,6 +59,9 @@ Core and Builtins
Library
-------
- Issue #10280: NNTP.nntp_version should reflect the highest version
advertised by the server.
- Issue #10184: Touch directories only once when extracting a tarfile.
- Issue #10199: New package, ``turtledemo`` now contains selected demo
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment