[Python-checkins] r84236 - in python/branches/py3k: Lib/smtpd.py Misc/NEWS
giampaolo.rodola
python-checkins at python.org
Sat Aug 21 20:35:05 CEST 2010
Author: giampaolo.rodola
Date: Sat Aug 21 20:35:05 2010
New Revision: 84236
Log:
fix issue #9129: added proper error handling when accepting new connections in SMTPServer.handle_accept
Modified:
python/branches/py3k/Lib/smtpd.py
python/branches/py3k/Misc/NEWS
Modified: python/branches/py3k/Lib/smtpd.py
==============================================================================
--- python/branches/py3k/Lib/smtpd.py (original)
+++ python/branches/py3k/Lib/smtpd.py Sat Aug 21 20:35:05 2010
@@ -413,8 +413,21 @@
self.__class__.__name__, time.ctime(time.time()),
localaddr, remoteaddr), file=DEBUGSTREAM)
- def handle_accept(self):
- conn, addr = self.accept()
+ def handle_accept(self)
+ try:
+ conn, addr = self.accept()
+ except TypeError:
+ # sometimes accept() might return None
+ return
+ except socket.error, err:
+ # ECONNABORTED might be thrown
+ if err[0] != errno.ECONNABORTED:
+ raise
+ return
+ else:
+ # sometimes addr == None instead of (ip, port)
+ if addr == None:
+ return
print('Incoming connection from %s' % repr(addr), file=DEBUGSTREAM)
channel = self.channel_class(self, conn, addr)
Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS (original)
+++ python/branches/py3k/Misc/NEWS Sat Aug 21 20:35:05 2010
@@ -117,6 +117,9 @@
Library
-------
+- Issue #9129: smtpd.py module is vulnerable to DoS attacks due to missing
+ error handling when accepting new connections.
+
- Issue #843590: Make "macintosh" an alias to the "mac_roman" encoding.
- Create os.fsdecode(): decode from the filesystem encoding with
More information about the Python-checkins
mailing list