From fcf6beace5a10d00c9c7367f71e34873647325f4 Mon Sep 17 00:00:00 2001 From: Arvid Norberg Date: Tue, 30 Dec 2014 09:02:20 +0000 Subject: [PATCH] merged changes from RC_1_0 --- ChangeLog | 2 ++ src/settings_pack.cpp | 4 ++-- src/udp_tracker_connection.cpp | 6 ++++++ src/upnp.cpp | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4de5eb629..aaf61aeef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -42,6 +42,8 @@ * almost completely changed the storage interface (for custom storage) * added support for hashing pieces in multiple threads + * fix bug in tracker timeout logic + * switch UPnP post back to HTTP 1.1 * support conditional DHT get * OpenSSL build fixes * fix DHT scrape bug diff --git a/src/settings_pack.cpp b/src/settings_pack.cpp index 4a93e63bc..2ef5fd0e5 100644 --- a/src/settings_pack.cpp +++ b/src/settings_pack.cpp @@ -205,8 +205,8 @@ namespace libtorrent int_setting_entry_t int_settings[settings_pack::num_int_settings] = { - SET(tracker_completion_timeout, 60, 0), - SET(tracker_receive_timeout, 40, 0), + SET(tracker_completion_timeout, 30, 0), + SET(tracker_receive_timeout, 10, 0), SET(stop_tracker_timeout, 5, 0), SET(tracker_maximum_response_length, 1024*1024, 0), SET(piece_timeout, 20, 0), diff --git a/src/udp_tracker_connection.cpp b/src/udp_tracker_connection.cpp index 55234d7a0..aea0e0583 100644 --- a/src/udp_tracker_connection.cpp +++ b/src/udp_tracker_connection.cpp @@ -168,6 +168,12 @@ namespace libtorrent #endif get_io_service().post(boost::bind( &udp_tracker_connection::start_announce, shared_from_this())); + + session_settings const& settings = m_ses.settings(); + set_timeout(tracker_req().event == tracker_request::stopped + ? settings.stop_tracker_timeout + : settings.tracker_completion_timeout + , settings.tracker_receive_timeout); } void udp_tracker_connection::name_lookup(error_code const& error diff --git a/src/upnp.cpp b/src/upnp.cpp index 67d8eb18e..55fd9a82c 100644 --- a/src/upnp.cpp +++ b/src/upnp.cpp @@ -656,7 +656,7 @@ void upnp::post(upnp::rootdevice const& d, char const* soap TORRENT_ASSERT(d.upnp_connection); char header[2048]; - snprintf(header, sizeof(header), "POST %s HTTP/1.0\r\n" + snprintf(header, sizeof(header), "POST %s HTTP/1.1\r\n" "Host: %s:%u\r\n" "Content-Type: text/xml; charset=\"utf-8\"\r\n" "Content-Length: %d\r\n"