mirror of
git://erdgeist.org/opentracker
synced 2025-04-03 03:47:16 +08:00
Those stupid "announce ?info_hash" torrents get really annoying. Fix it in announce and scrape.
This commit is contained in:
parent
1b0859411e
commit
271ff156ec
@ -372,6 +372,11 @@ LOG_TO_STDERR( "stats: %d.%d.%d.%d - mode: s24s old\n", h->ip[0], h->ip[1], h->i
|
|||||||
case 6: /* scrape ? */
|
case 6: /* scrape ? */
|
||||||
if( byte_diff( data, 6, "scrape") ) HTTPERROR_404;
|
if( byte_diff( data, 6, "scrape") ) HTTPERROR_404;
|
||||||
|
|
||||||
|
/* This is to hack around stupid clients that just replace
|
||||||
|
"announce ?info_hash" with "scrape ?info_hash".
|
||||||
|
We do not want to bomb them with full scrapes */
|
||||||
|
if( !byte_diff( c, 2, " ?" ) ) ++c;
|
||||||
|
|
||||||
SCRAPE_WORKAROUND:
|
SCRAPE_WORKAROUND:
|
||||||
|
|
||||||
scanon = 1;
|
scanon = 1;
|
||||||
@ -414,6 +419,9 @@ write( 2, "\n", 1 );
|
|||||||
case 8:
|
case 8:
|
||||||
if( byte_diff( data, 8, "announce" ) ) HTTPERROR_404;
|
if( byte_diff( data, 8, "announce" ) ) HTTPERROR_404;
|
||||||
|
|
||||||
|
/* This is to hack around stupid clients that send "announce ?info_hash" */
|
||||||
|
if( !byte_diff( c, 2, " ?" ) ) ++c;
|
||||||
|
|
||||||
ANNOUNCE_WORKAROUND:
|
ANNOUNCE_WORKAROUND:
|
||||||
|
|
||||||
OT_SETIP( &peer, ((struct http_data*)io_getcookie( s ) )->ip );
|
OT_SETIP( &peer, ((struct http_data*)io_getcookie( s ) )->ip );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user