From 9afbf58c4e6ce0dc238c58bb286d64add479ea44 Mon Sep 17 00:00:00 2001 From: qu1ck Date: Wed, 3 Aug 2022 08:07:45 -0700 Subject: [PATCH] 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. --- libtransmission/rpcimpl.cc | 2 +- libtransmission/session.cc | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libtransmission/rpcimpl.cc b/libtransmission/rpcimpl.cc index 43a4fb77e..63eba546d 100644 --- a/libtransmission/rpcimpl.cc +++ b/libtransmission/rpcimpl.cc @@ -1943,7 +1943,7 @@ static char const* sessionSet( 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)) diff --git a/libtransmission/session.cc b/libtransmission/session.cc index 57210c9df..0b6fc3ef2 100644 --- a/libtransmission/session.cc +++ b/libtransmission/session.cc @@ -244,6 +244,9 @@ void tr_bindinfo::bindAndListenForIncomingPeers(tr_session* session) 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); event_add(ev_, nullptr); }