Merge pull request #1751 from dwfreed/patch-1

proxy/protocol/base: Allow spoofing fixed source
This commit is contained in:
Thomas Kriechbaumer 2016-11-19 23:00:36 +01:00 committed by GitHub
commit b6e419d640
2 changed files with 6 additions and 3 deletions

View File

@ -109,12 +109,14 @@ class ServerConnectionMixin:
super().__init__() super().__init__()
self.server_conn = None self.server_conn = None
if self.config.options.spoof_source_address: if self.config.options.spoof_source_address and self.config.options.upstream_bind_address == '':
self.server_conn = connections.ServerConnection( self.server_conn = connections.ServerConnection(
server_address, (self.ctx.client_conn.address.host, 0), True) server_address, (self.ctx.client_conn.address.host, 0), True)
else: else:
self.server_conn = connections.ServerConnection( self.server_conn = connections.ServerConnection(
server_address, (self.config.options.upstream_bind_address, 0)) server_address, (self.config.options.upstream_bind_address, 0),
self.config.options.spoof_source_address
)
self.__check_self_connect() self.__check_self_connect()

View File

@ -485,7 +485,8 @@ def proxy_options(parser):
group.add_argument( group.add_argument(
"--spoof-source-address", "--spoof-source-address",
action="store_true", dest="spoof_source_address", action="store_true", dest="spoof_source_address",
help="Use the client's IP for server-side connections" help="Use the client's IP for server-side connections. "
"Combine with --upstream-bind-address to spoof a fixed source address."
) )
group.add_argument( group.add_argument(
"--upstream-bind-address", "--upstream-bind-address",