Use real port for peer get offer request (#2213)

* Use real port number for peer in saved sent offer

* Fix get remote client port
This commit is contained in:
Jonathan Zernik 2022-05-11 22:30:52 -07:00 committed by GitHub
parent 0c0ce30006
commit 163837a7bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 3 deletions

View file

@ -77,8 +77,9 @@ def create_app(handler):
@app.route('/offer/<hash>')
def offer(hash):
client_host = request.remote_addr
client_port = request.environ.get('REMOTE_PORT') or 0
try:
offer = handler.handle_get_offer(hash, client_host)
offer = handler.handle_get_offer(hash, client_host, client_port)
except NotFoundError:
return "Not found", 404
return jsonify({

View file

@ -75,12 +75,12 @@ class SqueakPeerServerHandler(object):
raise NotFoundError()
return secret_key
def handle_get_offer(self, squeak_hash_str, client_host) -> Offer:
def handle_get_offer(self, squeak_hash_str, client_host, client_port) -> Offer:
squeak_hash = bytes.fromhex(squeak_hash_str)
client_addr = PeerAddress(
network=Network.IPV4,
host=client_host,
port=0,
port=client_port,
)
offer = self.squeak_controller.get_packaged_offer(
squeak_hash,