forked from premiere/premiere-libtorrent
Quadruple handshake timeout for i2p
This commit is contained in:
parent
9fc4968dc4
commit
77ca1ac16f
|
@ -4706,10 +4706,14 @@ namespace libtorrent
|
||||||
}
|
}
|
||||||
|
|
||||||
// do not stall waiting for a handshake
|
// do not stall waiting for a handshake
|
||||||
|
int timeout = m_settings.get_int (settings_pack::handshake_timeout);
|
||||||
|
#if TORRENT_USE_I2P
|
||||||
|
timeout *= is_i2p(*m_socket) ? 4 : 1;
|
||||||
|
#endif
|
||||||
if (may_timeout
|
if (may_timeout
|
||||||
&& !m_connecting
|
&& !m_connecting
|
||||||
&& in_handshake()
|
&& in_handshake()
|
||||||
&& d > seconds(m_settings.get_int(settings_pack::handshake_timeout)))
|
&& d > seconds(timeout))
|
||||||
{
|
{
|
||||||
#ifndef TORRENT_DISABLE_LOGGING
|
#ifndef TORRENT_DISABLE_LOGGING
|
||||||
peer_log(peer_log_alert::info, "NO_HANDSHAKE", "waited %d seconds"
|
peer_log(peer_log_alert::info, "NO_HANDSHAKE", "waited %d seconds"
|
||||||
|
|
|
@ -3042,8 +3042,11 @@ retry:
|
||||||
if (!p->associated_torrent().expired()) continue;
|
if (!p->associated_torrent().expired()) continue;
|
||||||
|
|
||||||
// TODO: have a separate list for these connections, instead of having to loop through all of them
|
// TODO: have a separate list for these connections, instead of having to loop through all of them
|
||||||
if (m_last_tick - p->connected_time()
|
int timeout = m_settings.get_int(settings_pack::handshake_timeout);
|
||||||
> seconds(m_settings.get_int(settings_pack::handshake_timeout)))
|
#if TORRENT_USE_I2P
|
||||||
|
timeout *= is_i2p(*p->get_socket()) ? 4 : 1;
|
||||||
|
#endif
|
||||||
|
if (m_last_tick - p->connected_time () > seconds(timeout))
|
||||||
p->disconnect(errors::timed_out, op_bittorrent);
|
p->disconnect(errors::timed_out, op_bittorrent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue