Code: Select all
GET /ann?uk=xxxxxxxxxx&info_hash=%d2%b5i%03%3ckj%e7%e6%e9%8eu%0fi%15K%b1%f8%ae%05&peer_id=-TR222X-qk4227aepazp&port=16881&uploaded=0&downloaded=0&left=0&numwant=0&key=300fcba3&compact=1&supportcrypto=1&event=stopped&ipv6=2001%3A470%3A923f%3A1%3A21e%3A8cff%3Afe75%3A30dannounce":"http://ix4.rutracker.net/ann?uk=xxxxxxxxxx","announceState":0,"downloadCount":0,"hasAnnounced":true,"hasScraped":true,"host":"http://ix4.rutracker.net:80","id":2,"isBackup":false,"lastAnnouncePeerCount":8,"lastAnnounceResult":"Could not connect to tracker","lastAnnounceStartTime":1304588128,"lastAnnounceSucceeded":true,"lastAnnounceTime":1304588129,"lastAnnounceTimedOut":false,"lastScrapeResult":"","lastScrapeStartTime":0,"lastScrapeSucceeded":true,"lastScrapeTime":1304588129,"lastScrapeTimedOut":0,"leecherCount":0,"nextAnnounceTime":0,"nextScrapeTime":1304589930,"scrape":"","scrapeState":1,"seederCount":0,"tier":2}],"uploadRatio":1.3943,"uploadedEver":6101209062},{"activityDate":1304535057,"downloadedEver":3461054,"errorString":"","eta":-1,"id":357,"leftUntilDone":0,"name":"The Bat!","peersGettingFromUs":0,"peersSendingToUs":0,"rateDownload":0,"rateUpload":0,"recheckProgress":0,"sizeWhenDone":61286940,"status":16,"totalSize":61286940,"trackerStats":[{"announce":"http://bt.example.com/ann?uk=xxxxxxxxxx","announceState":0,"downloadCount":-1,"hasAnnounced":true,"hasScraped":false,"host":"http://bt.example.com:80","id":0,"isBackup":false,"lastAnnouncePeerCount":0,r":3651819164},{60,,{ HTTP/1.1
(1) Part after &ipv6 -- it seems, that here is something missed, I don't believe, that "%3A30dannounce":" is Ok.
(2) "http://ix4.rutracker.net/ann" is part of OTHER torrent, this one doesn't contain this tracker, only "http://bt.example.com/ann..."
(3) All request us truncated, ",{60,,{ " doesn't look as proper end of request to me.
(4) This is, really, was "started" message! I've unpause torrent to capture this!
(5) Sometimes there is binary garbage after "ipv6=" part of request, in case of true "stopped" message.
It seems, that problem is here:
(announce-http.c:111)
Code: Select all
ipv6 = tr_globalIPv6( );
if( ipv6 ) {
char ipv6_readable[INET6_ADDRSTRLEN];
evutil_inet_ntop( AF_INET6, ipv6, ipv6_readable, INET6_ADDRSTRLEN );
evbuffer_add_printf( buf, "&ipv6=");
tr_http_escape( buf, ipv6_readable, -1, true );
}
return buf;
Code: Select all
ipv6 = tr_globalIPv6( );
if( ipv6 ) {
char ipv6_readable[INET6_ADDRSTRLEN];
inet_ntop( AF_INET6, ipv6, ipv6_readable, INET6_ADDRSTRLEN );
evbuffer_add_printf( buf, "&ipv6=");
tr_http_escape( buf, ipv6_readable, -1, TRUE );
}
return evbuffer_free_to_str( buf );