merged RC_1_1 into master
This commit is contained in:
commit
85b6d98454
|
@ -79,6 +79,7 @@
|
||||||
|
|
||||||
1.1.5 release
|
1.1.5 release
|
||||||
|
|
||||||
|
* fix infinite loop when parsing certain invalid magnet links
|
||||||
* fix parsing of torrents with certain invalid filenames
|
* fix parsing of torrents with certain invalid filenames
|
||||||
* fix leak of torrent_peer objecs (entries in peer_list)
|
* fix leak of torrent_peer objecs (entries in peer_list)
|
||||||
* fix leak of peer_class objects (when setting per-torrent rate limits)
|
* fix leak of peer_class objects (when setting per-torrent rate limits)
|
||||||
|
|
|
@ -191,9 +191,11 @@ namespace libtorrent {
|
||||||
|
|
||||||
error_code e;
|
error_code e;
|
||||||
std::string tracker = unescape_string(url, e);
|
std::string tracker = unescape_string(url, e);
|
||||||
if (e) continue;
|
if (!e)
|
||||||
p.trackers.push_back(std::move(tracker));
|
{
|
||||||
p.tracker_tiers.push_back(tier++);
|
p.trackers.push_back(std::move(tracker));
|
||||||
|
p.tracker_tiers.push_back(tier++);
|
||||||
|
}
|
||||||
pos = find(uri, "&tr=", pos);
|
pos = find(uri, "&tr=", pos);
|
||||||
if (pos == std::string::npos) break;
|
if (pos == std::string::npos) break;
|
||||||
pos += 4;
|
pos += 4;
|
||||||
|
@ -207,8 +209,7 @@ namespace libtorrent {
|
||||||
{
|
{
|
||||||
error_code e;
|
error_code e;
|
||||||
std::string webseed = unescape_string(url, e);
|
std::string webseed = unescape_string(url, e);
|
||||||
if (e) continue;
|
if (!e) p.url_seeds.push_back(std::move(webseed));
|
||||||
p.url_seeds.push_back(std::move(webseed));
|
|
||||||
pos = find(uri, "&ws=", pos);
|
pos = find(uri, "&ws=", pos);
|
||||||
if (pos == std::string::npos) break;
|
if (pos == std::string::npos) break;
|
||||||
pos += 4;
|
pos += 4;
|
||||||
|
|
|
@ -463,3 +463,23 @@ TORRENT_TEST(trailing_whitespace)
|
||||||
TEST_CHECK(h.is_valid());
|
TEST_CHECK(h.is_valid());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TORRENT_TEST(invalid_tracker_escaping)
|
||||||
|
{
|
||||||
|
add_torrent_params p;
|
||||||
|
p.save_path = ".";
|
||||||
|
error_code ec;
|
||||||
|
parse_magnet_uri("magnet:?tr=udp%3A%2F%2Ftracker.openjnt.com%\xf7"
|
||||||
|
"A80&tr=udp%3A%2F%2Ftracker.pub.ciltbcom%3A80&tr=udp%3A%2F%2Ftracker.ccc.de%3A80&xt=urn:btih:a38d02c287893842a39737aa866e00828aA80&xt=urn:buntu+11.04+%28Final%29"
|
||||||
|
, p, ec);
|
||||||
|
TEST_CHECK(ec);
|
||||||
|
}
|
||||||
|
|
||||||
|
TORRENT_TEST(invalid_web_seed_escaping)
|
||||||
|
{
|
||||||
|
add_torrent_params p;
|
||||||
|
p.save_path = ".";
|
||||||
|
error_code ec;
|
||||||
|
parse_magnet_uri("magnet:?ws=udp%3A%2F%2Ftracker.openjnt.com%\xf7" "A80", p, ec);
|
||||||
|
TEST_CHECK(ec);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue