new, proper, udp tracker extension

This commit is contained in:
Arvid Norberg 2012-09-18 02:03:24 +00:00
parent 49709d1e3f
commit fdb89b6d7b
1 changed files with 5 additions and 4 deletions

View File

@ -644,12 +644,13 @@ namespace libtorrent
boost::tie(ignore, ignore, ignore, ignore, request_string) = parse_url_components(req.url, ec);
if (ec) request_string.clear();
detail::write_uint16(request_string.empty() ? 0: 2, out); // extensions. 2 = request-string
if (!request_string.empty())
{
if (request_string.size() > 512) request_string.resize(512);
detail::write_uint16(request_string.size(), out);
int str_len = (std::min)(int(request_string.size()), 255);
request_string.resize(str_len);
detail::write_uint8(2, out);
detail::write_uint8(str_len, out);
detail::write_string(request_string, out);
}