diff options
-rwxr-xr-x | Lib/smtplib.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Lib/smtplib.py b/Lib/smtplib.py index 6f37cee..2836165 100755 --- a/Lib/smtplib.py +++ b/Lib/smtplib.py @@ -398,7 +398,11 @@ class SMTP: resp=self.ehlo_resp.split('\n') del resp[0] for each in resp: - m=re.match(r'(?P<feature>[A-Za-z0-9][A-Za-z0-9\-]*)',each) + # RFC 1869 requires a space between ehlo keyword and parameters. + # It's actually stricter, in that only spaces are allowed between + # parameters, but were not going to check for that here. Note + # that the space isn't present if there are no parameters. + m=re.match(r'(?P<feature>[A-Za-z0-9][A-Za-z0-9\-]*) ?',each) if m: feature=m.group("feature").lower() params=m.string[m.end("feature"):].strip() |