diff options
Diffstat (limited to 'lang/python26/files')
-rw-r--r-- | lang/python26/files/patch-CVE-2010-3493 | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/lang/python26/files/patch-CVE-2010-3493 b/lang/python26/files/patch-CVE-2010-3493 deleted file mode 100644 index b8553d99339e..000000000000 --- a/lang/python26/files/patch-CVE-2010-3493 +++ /dev/null @@ -1,41 +0,0 @@ ---- Lib/smtpd.py.orig 2011-03-05 13:51:22.000000000 +0000 -+++ Lib/smtpd.py 2011-03-05 13:52:42.000000000 +0000 -@@ -121,7 +121,15 @@ - self.__rcpttos = [] - self.__data = '' - self.__fqdn = socket.getfqdn() -- self.__peer = conn.getpeername() -+ try: -+ self.__peer = conn.getpeername() -+ except socket.error as err: -+ # a race condition may occur if the other end is closing -+ # before we can get the peername -+ self.close() -+ if err.args[0] != errno.ENOTCONN: -+ raise -+ return - print >> DEBUGSTREAM, 'Peer:', repr(self.__peer) - self.push('220 %s %s' % (self.__fqdn, __version__)) - self.set_terminator('\r\n') -@@ -291,7 +299,20 @@ - localaddr, remoteaddr) - - def handle_accept(self): -- conn, addr = self.accept() -+ try: -+ conn, addr = self.accept() -+ except TypeError: -+ # sometimes accept() might return None -+ return -+ except socket.error as err: -+ # ECONNABORTED might be thrown -+ if err.args[0] != errno.ECONNABORTED: -+ raise -+ return -+ else: -+ # sometimes addr == None instead of (ip, port) -+ if addr == None: -+ return - print >> DEBUGSTREAM, 'Incoming connection from %s' % repr(addr) - channel = SMTPChannel(self, conn, addr) - |