Issue #10287: nntplib now queries the server's CAPABILITIES again after authenticating (since the result may change, according to RFC 4643).
Patch by Hynek Schlawack.
diff --git a/Lib/nntplib.py b/Lib/nntplib.py
index bf66734..6b0150d 100644
--- a/Lib/nntplib.py
+++ b/Lib/nntplib.py
@@ -364,7 +364,7 @@
self.nntp_implementation = None
try:
resp, caps = self.capabilities()
- except NNTPPermanentError:
+ except (NNTPPermanentError, NNTPTemporaryError):
# Server doesn't support capabilities
self._caps = {}
else:
@@ -941,6 +941,9 @@
resp = self._shortcmd('authinfo pass ' + password)
if not resp.startswith('281'):
raise NNTPPermanentError(resp)
+ # Capabilities might have changed after login
+ self._caps = None
+ self.getcapabilities()
# Attempt to send mode reader if it was requested after login.
if self.readermode_afterauth:
self._setreadermode()