New submission from Giampaolo Rodola' <g.rod...@gmail.com>: http://code.google.com/p/pyftpdlib/issues/detail?id=143 This comes from a user who sent me a report via e-mail. Unfortunately I don't have an OSX box to test against.
Code which should replicate the problem is this: import socket, struct s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack('ii', 1, 0)) s.connect(('localhost', 21)) s.close() ...while this is a fix I think it should work: Index: Lib/asyncore.py =================================================================== --- Lib/asyncore.py (revisione 86084) +++ Lib/asyncore.py (copia locale) @@ -242,7 +242,7 @@ try: self.addr = sock.getpeername() except socket.error, err: - if err.args[0] == ENOTCONN: + if err.args[0] in (ENOTCONN, EINVAL): # To handle the case where we got an unconnected # socket. self.connected = False Nosying ixokai as I know he has an OSX box to test against. Setting "high" priority and type == "security" as asyncore-based servers are likely to crash because of this. It might even make sense to backport the fix in Python 2.6 because of the security implications. ---------- components: Library (Lib) keywords: patch messages: 120620 nosy: giampaolo.rodola, ixokai priority: high severity: normal stage: patch review status: open title: asyncore doesn't properly handle EINVAL on OSX type: security versions: Python 2.6, Python 2.7, Python 3.1, Python 3.2 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue10340> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com