Skip to content

Commit

Permalink
Announce INT64_MAX as size left if the value is unknown
Browse files Browse the repository at this point in the history
This helps with trakers like Amazon S3 where signed type is used but
negative values aren't accepted.

Fixes: #250
  • Loading branch information
mikedld committed May 1, 2017
1 parent ac4fa04 commit 6a74bd4
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 11 deletions.
12 changes: 2 additions & 10 deletions libtransmission/announcer-http.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ static char* announce_url_new(tr_session const* session, tr_announce_request con
"&port=%d"
"&uploaded=%" PRIu64
"&downloaded=%" PRIu64
"&left=%" PRIu64
"&numwant=%d"
"&key=%x"
"&compact=1"
Expand All @@ -85,19 +86,10 @@ static char* announce_url_new(tr_session const* session, tr_announce_request con
req->port,
req->up,
req->down,
req->leftUntilComplete,
req->numwant,
req->key);

if (req->leftUntilComplete != ~(uint64_t)0)
{
evbuffer_add_printf(buf, "&left=%" PRIu64, req->leftUntilComplete);
}
else
{
// Support trackers which don't react to huge numbers well (e.g. Amazon S3)
evbuffer_add_printf(buf, "&left=-1");
}

if (session->encryptionMode == TR_ENCRYPTION_REQUIRED)
{
evbuffer_add_printf(buf, "&requirecrypto=1");
Expand Down
2 changes: 1 addition & 1 deletion libtransmission/announcer.c
Original file line number Diff line number Diff line change
Expand Up @@ -945,7 +945,7 @@ static tr_announce_request* announce_request_new(tr_announcer const* announcer,
req->up = tier->byteCounts[TR_ANN_UP];
req->down = tier->byteCounts[TR_ANN_DOWN];
req->corrupt = tier->byteCounts[TR_ANN_CORRUPT];
req->leftUntilComplete = tr_torrentHasMetadata(tor) ? tor->info.totalSize - tr_torrentHaveTotal(tor) : ~(uint64_t)0;
req->leftUntilComplete = tr_torrentHasMetadata(tor) ? tor->info.totalSize - tr_torrentHaveTotal(tor) : INT64_MAX;
req->event = event;
req->numwant = event == TR_ANNOUNCE_EVENT_STOPPED ? 0 : NUMWANT;
req->key = announcer->key;
Expand Down

0 comments on commit 6a74bd4

Please sign in to comment.