diff options
author | Maximilian Hils <git@maximilianhils.com> | 2015-09-11 12:13:39 +0200 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2015-09-11 12:13:39 +0200 |
commit | 7c186a4edbb0c6bc1f471d0db62dfc60008160a2 (patch) | |
tree | 89fb7e5b14cdfe9a0b61da828ddac8f355a3cdd0 /libmproxy/protocol/rawtcp.py | |
parent | b62498e125191beca3b49841eb5f1fb9a93a868a (diff) | |
parent | dd414e485212e3cab612a66d5d858c1a766ace04 (diff) | |
download | mitmproxy-7c186a4edbb0c6bc1f471d0db62dfc60008160a2.tar.gz mitmproxy-7c186a4edbb0c6bc1f471d0db62dfc60008160a2.tar.bz2 mitmproxy-7c186a4edbb0c6bc1f471d0db62dfc60008160a2.zip |
Merge branch 'master' into contentviews
Diffstat (limited to 'libmproxy/protocol/rawtcp.py')
-rw-r--r-- | libmproxy/protocol/rawtcp.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libmproxy/protocol/rawtcp.py b/libmproxy/protocol/rawtcp.py index 86468773..9b155412 100644 --- a/libmproxy/protocol/rawtcp.py +++ b/libmproxy/protocol/rawtcp.py @@ -1,10 +1,12 @@ from __future__ import (absolute_import, print_function, division) import socket import select +import six +import sys from OpenSSL import SSL -from netlib.tcp import NetLibError +from netlib.tcp import NetLibError, ssl_read_select from netlib.utils import cleanBin from ..exceptions import ProtocolException from .base import Layer @@ -28,7 +30,7 @@ class RawTCPLayer(Layer): try: while True: - r, _, _ = select.select(conns, [], [], 10) + r = ssl_read_select(conns, 10) for conn in r: dst = server if conn == client else client @@ -63,4 +65,8 @@ class RawTCPLayer(Layer): ) except (socket.error, NetLibError, SSL.Error) as e: - raise ProtocolException("TCP connection closed unexpectedly: {}".format(repr(e)), e) + six.reraise( + ProtocolException, + ProtocolException("TCP connection closed unexpectedly: {}".format(repr(e))), + sys.exc_info()[2] + ) |