From a621b7eedb4a9120a0ef9bc90db05c8539916536 Mon Sep 17 00:00:00 2001 From: Mitchell Livingston Date: Fri, 3 Apr 2009 03:40:37 +0000 Subject: [PATCH] attempt to add random-port functionality to the rpc code --- doc/rpc-spec.txt | 1 + libtransmission/rpcimpl.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/rpc-spec.txt b/doc/rpc-spec.txt index e3637ed77..1f896d9fb 100644 --- a/doc/rpc-spec.txt +++ b/doc/rpc-spec.txt @@ -369,6 +369,7 @@ "peer-limit-per-torrent" | number maximum global number of peers "pex-enabled" | 'boolean' true means allow pex in public torrents "peer-port" | number port number + "peer-port-random-enabled" | 'boolean' true means pick a random peer port on launch "port-forwarding-enabled" | 'boolean' true means enabled "rpc-version" | number the current RPC API version "rpc-version-minimum" | number the minimum RPC API version supported diff --git a/libtransmission/rpcimpl.c b/libtransmission/rpcimpl.c index 2a2d67673..03f03cb5f 100644 --- a/libtransmission/rpcimpl.c +++ b/libtransmission/rpcimpl.c @@ -970,7 +970,9 @@ sessionSet( tr_session * session, tr_sessionSetPeerLimitPerTorrent( session, i ); if( tr_bencDictFindBool( args_in, TR_PREFS_KEY_PEX_ENABLED, &boolVal ) ) tr_sessionSetPexEnabled( session, boolVal ); - if( tr_bencDictFindInt( args_in, TR_PREFS_KEY_PEER_PORT, &i ) ) + if( tr_bencDictFindBool( args_in, TR_PREFS_KEY_PEER_PORT_RANDOM_ENABLED, &boolVal ) && boolVal ) + tr_sessionSetPeerPortRandom( session ); + else if( tr_bencDictFindInt( args_in, TR_PREFS_KEY_PEER_PORT, &i ) ) tr_sessionSetPeerPort( session, i ); if( tr_bencDictFindBool( args_in, TR_PREFS_KEY_PORT_FORWARDING, &boolVal ) ) tr_sessionSetPortForwardingEnabled( session, boolVal );