diff options
author | Sandor Nemes <snemes@users.noreply.github.com> | 2016-01-17 21:24:47 +0100 |
---|---|---|
committer | Sandor Nemes <snemes@users.noreply.github.com> | 2016-01-17 21:24:47 +0100 |
commit | 192f0339674d1b276a0866eddcebb9c93036ae2b (patch) | |
tree | bbf4faa75bb330d7d013e17d54f6e5b33ffcbb78 /libmproxy/protocol | |
parent | 2753af0ec72e542d5a4dc3e5e200bd1638b2b095 (diff) | |
parent | 0f54f2990c0a32960ec5c82c620f79c68ad5f4b6 (diff) | |
download | mitmproxy-192f0339674d1b276a0866eddcebb9c93036ae2b.tar.gz mitmproxy-192f0339674d1b276a0866eddcebb9c93036ae2b.tar.bz2 mitmproxy-192f0339674d1b276a0866eddcebb9c93036ae2b.zip |
Merge branch 'master' into master
Diffstat (limited to 'libmproxy/protocol')
-rw-r--r-- | libmproxy/protocol/rawtcp.py | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/libmproxy/protocol/rawtcp.py b/libmproxy/protocol/rawtcp.py index 5f08fd17..ccd3c7ec 100644 --- a/libmproxy/protocol/rawtcp.py +++ b/libmproxy/protocol/rawtcp.py @@ -13,6 +13,15 @@ from ..exceptions import ProtocolException from .base import Layer +class TcpMessage(object): + def __init__(self, client_conn, server_conn, sender, receiver, message): + self.client_conn = client_conn + self.server_conn = server_conn + self.sender = sender + self.receiver = receiver + self.message = message + + class RawTCPLayer(Layer): chunk_size = 4096 @@ -50,7 +59,13 @@ class RawTCPLayer(Layer): return continue - dst.sendall(buf[:size]) + tcp_message = TcpMessage( + self.client_conn, self.server_conn, + self.client_conn if dst == server else self.server_conn, + self.server_conn if dst == server else self.client_conn, + buf[:size].tobytes()) + self.channel.ask("tcp_message", tcp_message) + dst.sendall(tcp_message.message) if self.logging: # log messages are prepended with the client address, @@ -59,7 +74,7 @@ class RawTCPLayer(Layer): direction = "-> tcp -> {}".format(repr(self.server_conn.address)) else: direction = "<- tcp <- {}".format(repr(self.server_conn.address)) - data = clean_bin(buf[:size].tobytes()) + data = clean_bin(tcp_message.message) self.log( "{}\r\n{}".format(direction, data), "info" |