forked from premiere/premiere-libtorrent
merged RC_1_1 into master
This commit is contained in:
commit
e405f0e02f
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
1.1.1 release
|
1.1.1 release
|
||||||
|
|
||||||
|
* fix crash in session::get_ip_filter when not having set one
|
||||||
* fix filename escaping when repairing torrents with broken web seeds
|
* fix filename escaping when repairing torrents with broken web seeds
|
||||||
* fix bug where file_completed_alert would not be posted unless file_progress
|
* fix bug where file_completed_alert would not be posted unless file_progress
|
||||||
had been queries by the client
|
had been queries by the client
|
||||||
|
|
|
@ -72,7 +72,6 @@ protected:
|
||||||
|
|
||||||
data_callback m_data_callback;
|
data_callback m_data_callback;
|
||||||
item m_data;
|
item m_data;
|
||||||
std::string m_salt;
|
|
||||||
bool m_immutable;
|
bool m_immutable;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -300,6 +300,12 @@ namespace libtorrent
|
||||||
disconnect_if_redundant();
|
disconnect_if_redundant();
|
||||||
if (m_disconnecting) return;
|
if (m_disconnecting) return;
|
||||||
|
|
||||||
|
if (!m_sent_handshake) return;
|
||||||
|
// we're still waiting to fully handshake with this peer. At the end of
|
||||||
|
// the handshake we'll send the bitfield and dht port anyway. It's too
|
||||||
|
// early to do now
|
||||||
|
if (m_state < read_packet_size) return;
|
||||||
|
|
||||||
// connections that are still in the handshake
|
// connections that are still in the handshake
|
||||||
// will send their bitfield when the handshake
|
// will send their bitfield when the handshake
|
||||||
// is done
|
// is done
|
||||||
|
@ -307,13 +313,6 @@ namespace libtorrent
|
||||||
write_upload_only();
|
write_upload_only();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!m_sent_handshake) return;
|
|
||||||
|
|
||||||
// we're still waiting to fully handshake with this peer. At the end of
|
|
||||||
// the handshake we'll send the bitfield and dht port anyway. It's too
|
|
||||||
// early to do now
|
|
||||||
if (m_state < read_peer_id) return;
|
|
||||||
|
|
||||||
if (m_sent_bitfield) return;
|
if (m_sent_bitfield) return;
|
||||||
|
|
||||||
boost::shared_ptr<torrent> t = associated_torrent().lock();
|
boost::shared_ptr<torrent> t = associated_torrent().lock();
|
||||||
|
|
|
@ -78,7 +78,8 @@ void get_item::got_data(bdecode_node const& v,
|
||||||
// data can reach here, which means pk and sig must be valid.
|
// data can reach here, which means pk and sig must be valid.
|
||||||
if (!pk || !sig) return;
|
if (!pk || !sig) return;
|
||||||
|
|
||||||
std::pair<char const*, int> salt(m_salt.c_str(), int(m_salt.size()));
|
std::string temp_copy(m_data.salt());
|
||||||
|
std::pair<char const*, int> salt(temp_copy.c_str(), int(temp_copy.size()));
|
||||||
sha1_hash incoming_target = item_target_id(salt, pk);
|
sha1_hash incoming_target = item_target_id(salt, pk);
|
||||||
if (incoming_target != m_target) return;
|
if (incoming_target != m_target) return;
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,7 @@ lsd::lsd(io_service& ios, peer_callback_t const& cb
|
||||||
, m_log_cb(log)
|
, m_log_cb(log)
|
||||||
#endif
|
#endif
|
||||||
, m_broadcast_timer(ios)
|
, m_broadcast_timer(ios)
|
||||||
, m_cookie(random())
|
, m_cookie(random() & 0x7fffffff)
|
||||||
, m_disabled(false)
|
, m_disabled(false)
|
||||||
#if TORRENT_USE_IPV6
|
#if TORRENT_USE_IPV6
|
||||||
, m_disabled6(false)
|
, m_disabled6(false)
|
||||||
|
|
|
@ -1018,6 +1018,7 @@ namespace aux {
|
||||||
ip_filter const& session_impl::get_ip_filter()
|
ip_filter const& session_impl::get_ip_filter()
|
||||||
{
|
{
|
||||||
TORRENT_ASSERT(is_single_thread());
|
TORRENT_ASSERT(is_single_thread());
|
||||||
|
if (!m_ip_filter) m_ip_filter = boost::make_shared<ip_filter>();
|
||||||
return *m_ip_filter;
|
return *m_ip_filter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#include "test.hpp"
|
#include "test.hpp"
|
||||||
#include "libtorrent/socket_io.hpp"
|
#include "libtorrent/socket_io.hpp"
|
||||||
|
#include "libtorrent/session.hpp"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
|
@ -86,6 +87,18 @@ void test_rules_invariant(std::vector<ip_range<T> > const& r, ip_filter const& f
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TORRENT_TEST(session_get_ip_filter)
|
||||||
|
{
|
||||||
|
using namespace libtorrent;
|
||||||
|
session ses;
|
||||||
|
ip_filter const& ipf = ses.get_ip_filter();
|
||||||
|
#if TORRENT_USE_IPV6
|
||||||
|
TEST_EQUAL(boost::get<0>(ipf.export_filter()).size(), 1);
|
||||||
|
#else
|
||||||
|
TEST_EQUAL(ipf.export_filter().size(), 1);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
TORRENT_TEST(ip_filter)
|
TORRENT_TEST(ip_filter)
|
||||||
{
|
{
|
||||||
using namespace libtorrent;
|
using namespace libtorrent;
|
||||||
|
|
Loading…
Reference in New Issue