mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-27 02:24:18 +00:00
Catch an amazingly subtle SSL connection corruption bug.
Closing a set of pseudo-file descriptors in the wrong order caused junk data to be written to the SSL stream. An apparent bug in OpenSSL then lets this corrupt the _next_ SSL connection.
This commit is contained in:
parent
ed64b0e796
commit
eb88cea3c7
@ -209,9 +209,9 @@ class BaseHandler:
|
||||
try:
|
||||
if not getattr(self.wfile, "closed", False):
|
||||
self.wfile.flush()
|
||||
self.close()
|
||||
self.wfile.close()
|
||||
self.rfile.close()
|
||||
self.close()
|
||||
except socket.error:
|
||||
# Remote has disconnected
|
||||
pass
|
||||
@ -245,10 +245,10 @@ class BaseHandler:
|
||||
self.connection.shutdown()
|
||||
else:
|
||||
self.connection.shutdown(socket.SHUT_RDWR)
|
||||
self.connection.close()
|
||||
except (socket.error, SSL.Error):
|
||||
except (socket.error, SSL.Error), v:
|
||||
# Socket probably already closed
|
||||
pass
|
||||
self.connection.close()
|
||||
|
||||
|
||||
class TCPServer:
|
||||
|
Loading…
Reference in New Issue
Block a user