Use a randomized port number for the first run

This commit is contained in:
Chocobo1 2019-04-22 11:02:31 +08:00
parent 1eeac90a29
commit c19f8f6b5e
No known key found for this signature in database
GPG key ID: 210D9C873253A68C

View file

@ -337,7 +337,7 @@ Session::Session(QObject *parent)
, m_isAltGlobalSpeedLimitEnabled(BITTORRENT_SESSION_KEY("UseAlternativeGlobalSpeedLimit"), false)
, m_isBandwidthSchedulerEnabled(BITTORRENT_SESSION_KEY("BandwidthSchedulerEnabled"), false)
, m_saveResumeDataInterval(BITTORRENT_SESSION_KEY("SaveResumeDataInterval"), 60)
, m_port(BITTORRENT_SESSION_KEY("Port"), 8999)
, m_port(BITTORRENT_SESSION_KEY("Port"), -1)
, m_useRandomPort(BITTORRENT_SESSION_KEY("UseRandomPort"), false)
, m_networkInterface(BITTORRENT_SESSION_KEY("Interface"))
, m_networkInterfaceName(BITTORRENT_SESSION_KEY("InterfaceName"))
@ -375,6 +375,9 @@ Session::Session(QObject *parent)
, m_extraLimit(0)
, m_recentErroredTorrentsTimer(new QTimer(this))
{
if (useRandomPort() || (port() < 0))
m_port = Utils::Random::rand(1024, 65535);
initResumeFolder();
m_recentErroredTorrentsTimer->setSingleShot(true);
@ -2537,15 +2540,12 @@ void Session::setSaveResumeDataInterval(const uint value)
int Session::port() const
{
static int randomPort = Utils::Random::rand(1024, 65535);
if (useRandomPort())
return randomPort;
return m_port;
}
void Session::setPort(const int port)
{
if (port != this->port()) {
if (port != m_port) {
m_port = port;
configureListeningInterface();
}