diff options
author | Florent Xicluna <florent.xicluna@gmail.com> | 2011-10-20 21:21:58 (GMT) |
---|---|---|
committer | Florent Xicluna <florent.xicluna@gmail.com> | 2011-10-20 21:21:58 (GMT) |
commit | 47fb192ddafa48e3408c054c4ac1b1dc976164db (patch) | |
tree | 54d3cf8cb55552a7723b3cceb673e5f904b73a6d | |
parent | 5e30fa5f56387279455c5ce62b10cd262cf4bcca (diff) | |
download | cpython-47fb192ddafa48e3408c054c4ac1b1dc976164db.zip cpython-47fb192ddafa48e3408c054c4ac1b1dc976164db.tar.gz cpython-47fb192ddafa48e3408c054c4ac1b1dc976164db.tar.bz2 |
Issue #9168: now smtpd is able to bind privileged port.
-rwxr-xr-x | Lib/smtpd.py | 20 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
2 files changed, 12 insertions, 10 deletions
diff --git a/Lib/smtpd.py b/Lib/smtpd.py index e0544e4..b4d208b 100755 --- a/Lib/smtpd.py +++ b/Lib/smtpd.py @@ -524,6 +524,16 @@ def parseargs(): if __name__ == '__main__': options = parseargs() # Become nobody + classname = options.classname + if "." in classname: + lastdot = classname.rfind(".") + mod = __import__(classname[:lastdot], globals(), locals(), [""]) + classname = classname[lastdot+1:] + else: + import __main__ as mod + class_ = getattr(mod, classname) + proxy = class_((options.localhost, options.localport), + (options.remotehost, options.remoteport)) if options.setuid: try: import pwd @@ -539,16 +549,6 @@ if __name__ == '__main__': print >> sys.stderr, \ 'Cannot setuid "nobody"; try running with -n option.' sys.exit(1) - classname = options.classname - if "." in classname: - lastdot = classname.rfind(".") - mod = __import__(classname[:lastdot], globals(), locals(), [""]) - classname = classname[lastdot+1:] - else: - import __main__ as mod - class_ = getattr(mod, classname) - proxy = class_((options.localhost, options.localport), - (options.remotehost, options.remoteport)) try: asyncore.loop() except KeyboardInterrupt: @@ -66,6 +66,8 @@ Core and Builtins Library ------- +- Issue #9168: now smtpd is able to bind privileged port. + - Issue #12529: fix cgi.parse_header issue on strings with double-quotes and semicolons together. Patch by Ben Darnell and Petri Lehtinen. |