mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-12 08:16:16 -07:00
Add UPnP lease duration advanced option
This is a new setting added that is pending addition to libtorrent 1.2.6. This setting is important because some routers do not support expiration times on port-maps and do not return an error either, silently failing. The previous default of permanent leases is retained.
This commit is contained in:
parent
8e553adc92
commit
6b4925d222
6 changed files with 52 additions and 2 deletions
|
@ -402,6 +402,7 @@ Session::Session(QObject *parent)
|
|||
, m_slowTorrentsInactivityTimer(BITTORRENT_SESSION_KEY("SlowTorrentsInactivityTimer"), 60)
|
||||
, m_outgoingPortsMin(BITTORRENT_SESSION_KEY("OutgoingPortsMin"), 0)
|
||||
, m_outgoingPortsMax(BITTORRENT_SESSION_KEY("OutgoingPortsMax"), 0)
|
||||
, m_UPnPLeaseDuration(BITTORRENT_SESSION_KEY("UPnPLeaseDuration"), 0)
|
||||
, m_ignoreLimitsOnLAN(BITTORRENT_SESSION_KEY("IgnoreLimitsOnLAN"), false)
|
||||
, m_includeOverheadInLimits(BITTORRENT_SESSION_KEY("IncludeOverheadInLimits"), false)
|
||||
, m_announceIP(BITTORRENT_SESSION_KEY("AnnounceIP"))
|
||||
|
@ -1367,6 +1368,10 @@ void Session::loadLTSettings(lt::settings_pack &settingsPack)
|
|||
settingsPack.set_int(lt::settings_pack::outgoing_port, outgoingPortsMin());
|
||||
settingsPack.set_int(lt::settings_pack::num_outgoing_ports, outgoingPortsMax() - outgoingPortsMin() + 1);
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 10206)
|
||||
settingsPack.set_int(lt::settings_pack::upnp_lease_duration, UPnPLeaseDuration());
|
||||
#endif
|
||||
|
||||
// Include overhead in transfer limits
|
||||
settingsPack.set_bool(lt::settings_pack::rate_limit_ip_overhead, includeOverheadInLimits());
|
||||
// IP address to announce to trackers
|
||||
|
@ -3554,6 +3559,19 @@ void Session::setOutgoingPortsMax(const int max)
|
|||
}
|
||||
}
|
||||
|
||||
int Session::UPnPLeaseDuration() const
|
||||
{
|
||||
return m_UPnPLeaseDuration;
|
||||
}
|
||||
|
||||
void Session::setUPnPLeaseDuration(const int duration)
|
||||
{
|
||||
if (duration != m_UPnPLeaseDuration) {
|
||||
m_UPnPLeaseDuration = duration;
|
||||
configureDeferred();
|
||||
}
|
||||
}
|
||||
|
||||
bool Session::ignoreLimitsOnLAN() const
|
||||
{
|
||||
return m_ignoreLimitsOnLAN;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue