aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/protocol/base.py
diff options
context:
space:
mode:
authorSandor Nemes <sandor.nemes@gmail.com>2016-01-08 15:46:59 +0100
committerSandor Nemes <sandor.nemes@gmail.com>2016-01-08 18:55:13 +0100
commitfe77dd35c67a0dfbd3004fefe97c689f8cfd3291 (patch)
treebec6c002a4db4ac019d9dfe5cf735db3375378c4 /libmproxy/protocol/base.py
parent11215e46ecc5c3a4272893d4b06f71920ff126f5 (diff)
downloadmitmproxy-fe77dd35c67a0dfbd3004fefe97c689f8cfd3291.tar.gz
mitmproxy-fe77dd35c67a0dfbd3004fefe97c689f8cfd3291.tar.bz2
mitmproxy-fe77dd35c67a0dfbd3004fefe97c689f8cfd3291.zip
Fixed a problem with the bind address not being used as the source address on outgoing TCP packets
Diffstat (limited to 'libmproxy/protocol/base.py')
-rw-r--r--libmproxy/protocol/base.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/libmproxy/protocol/base.py b/libmproxy/protocol/base.py
index af6b1c3b..8a1bea91 100644
--- a/libmproxy/protocol/base.py
+++ b/libmproxy/protocol/base.py
@@ -109,9 +109,9 @@ class ServerConnectionMixin(object):
self.disconnect()
"""
- def __init__(self, server_address=None):
+ def __init__(self, server_address=None, source_address=None):
super(ServerConnectionMixin, self).__init__()
- self.server_conn = ServerConnection(server_address)
+ self.server_conn = ServerConnection(server_address, source_address)
self.__check_self_connect()
def __check_self_connect(self):
@@ -157,10 +157,11 @@ class ServerConnectionMixin(object):
"""
self.log("serverdisconnect", "debug", [repr(self.server_conn.address)])
address = self.server_conn.address
+ source_address = self.server_conn.source_address()[0]
self.server_conn.finish()
self.server_conn.close()
self.channel.tell("serverdisconnect", self.server_conn)
- self.server_conn = ServerConnection(address)
+ self.server_conn = ServerConnection(address, source_address)
def connect(self):
"""