Fix peer port change in session rpc (#3573)

Currently transmission keeps listening to the old port when you change
it so incoming peers can't connect.
This commit is contained in:
qu1ck
2022-08-03 08:07:45 -07:00
committed by GitHub
parent dab81c1af6
commit 9afbf58c4e
2 changed files with 4 additions and 1 deletions

View File

@@ -1943,7 +1943,7 @@ static char const* sessionSet(
if (tr_variantDictFindInt(args_in, TR_KEY_peer_port, &i)) if (tr_variantDictFindInt(args_in, TR_KEY_peer_port, &i))
{ {
session->setPeerPort(tr_port::fromHost(i)); tr_sessionSetPeerPort(session, i);
} }
if (tr_variantDictFindBool(args_in, TR_KEY_port_forwarding_enabled, &boolVal)) if (tr_variantDictFindBool(args_in, TR_KEY_port_forwarding_enabled, &boolVal))

View File

@@ -244,6 +244,9 @@ void tr_bindinfo::bindAndListenForIncomingPeers(tr_session* session)
if (socket_ != TR_BAD_SOCKET) if (socket_ != TR_BAD_SOCKET)
{ {
tr_logAddInfo(fmt::format(
_("Listening to incoming peer connections on {hostport}"),
fmt::arg("hostport", addr_.readable(session->private_peer_port))));
ev_ = event_new(session->event_base, socket_, EV_READ | EV_PERSIST, accept_incoming_peer, session); ev_ = event_new(session->event_base, socket_, EV_READ | EV_PERSIST, accept_incoming_peer, session);
event_add(ev_, nullptr); event_add(ev_, nullptr);
} }