@@ -3,14 +3,13 @@ module.exports = Server
33var bencode = require ( 'bencode' )
44var bufferEqual = require ( 'buffer-equal' )
55var common = require ( './lib/common' )
6- var debug = require ( 'debug' ) ( 'bittorrent-tracker:server ' )
6+ var debug = require ( 'debug' ) ( 'bittorrent-tracker' )
77var dgram = require ( 'dgram' )
88var EventEmitter = require ( 'events' ) . EventEmitter
99var http = require ( 'http' )
1010var inherits = require ( 'inherits' )
1111var ipLib = require ( 'ip' )
1212var parallel = require ( 'run-parallel' )
13- var querystring = require ( 'querystring' )
1413var string2compact = require ( 'string2compact' )
1514
1615var NUM_ANNOUNCE_PEERS = 50
@@ -127,6 +126,7 @@ Server.prototype._onHttpRequest = function (req, res) {
127126 var warning
128127 var s = req . url . split ( '?' )
129128 var params = common . querystringParse ( s [ 1 ] )
129+ var response
130130 if ( s [ 0 ] === '/announce' ) {
131131 var infoHash = typeof params . info_hash === 'string' && params . info_hash
132132 var peerId = typeof params . peer_id === 'string' && common . binaryToUtf8 ( params . peer_id )
@@ -224,7 +224,7 @@ Server.prototype._onHttpRequest = function (req, res) {
224224 ? self . _getPeersCompact ( swarm , numWant )
225225 : self . _getPeers ( swarm , numWant )
226226
227- var response = {
227+ response = {
228228 complete : swarm . complete ,
229229 incomplete : swarm . incomplete ,
230230 peers : peers ,
@@ -247,7 +247,7 @@ Server.prototype._onHttpRequest = function (req, res) {
247247
248248 if ( ! Array . isArray ( params . info_hash ) ) return error ( 'invalid info_hash' )
249249
250- var response = {
250+ response = {
251251 files : { } ,
252252 flags : {
253253 min_request_interval : self . _intervalMs
@@ -309,21 +309,22 @@ Server.prototype._onUdpRequest = function (msg, rinfo) {
309309
310310 var socket = dgram . createSocket ( 'udp4' )
311311
312+ var infoHash , swarm
312313 if ( action === common . ACTIONS . CONNECT ) {
313314 send ( Buffer . concat ( [
314315 common . toUInt32 ( common . ACTIONS . CONNECT ) ,
315316 common . toUInt32 ( transactionId ) ,
316317 connectionId
317318 ] ) )
318319 } else if ( action === common . ACTIONS . ANNOUNCE ) {
319- var infoHash = msg . slice ( 16 , 36 ) . toString ( 'binary' ) // 20 bytes
320+ infoHash = msg . slice ( 16 , 36 ) . toString ( 'binary' ) // 20 bytes
320321 var peerId = msg . slice ( 36 , 56 ) . toString ( 'utf8' ) // 20 bytes
321- var downloaded = fromUInt64 ( msg . slice ( 56 , 64 ) )
322+ var downloaded = fromUInt64 ( msg . slice ( 56 , 64 ) ) // TODO: track this?
322323 var left = fromUInt64 ( msg . slice ( 64 , 72 ) )
323- var uploaded = fromUInt64 ( msg . slice ( 72 , 80 ) )
324+ var uploaded = fromUInt64 ( msg . slice ( 72 , 80 ) ) // TODO: track this?
324325 var event = msg . readUInt32BE ( 80 )
325326 var ip = msg . readUInt32BE ( 84 ) // optional
326- var key = msg . readUInt32BE ( 88 )
327+ var key = msg . readUInt32BE ( 88 ) // TODO: what is this for?
327328 var numWant = msg . readUInt32BE ( 92 ) // optional
328329 var port = msg . readUInt16BE ( 96 ) // optional
329330
@@ -339,13 +340,14 @@ Server.prototype._onUdpRequest = function (msg, rinfo) {
339340
340341 var addr = ip + ':' + port
341342
342- var swarm = self . _getSwarm ( infoHash )
343+ swarm = self . _getSwarm ( infoHash )
343344 var peer = swarm . peers [ addr ]
344345
345346 // never send more than MAX_ANNOUNCE_PEERS or else the UDP packet will get bigger than
346347 // 512 bytes which is not safe
347348 numWant = Math . min ( numWant || NUM_ANNOUNCE_PEERS , MAX_ANNOUNCE_PEERS )
348349
350+ var warning
349351 switch ( event ) {
350352 case common . EVENTS . started :
351353 if ( peer ) {
@@ -426,14 +428,14 @@ Server.prototype._onUdpRequest = function (msg, rinfo) {
426428 ] ) )
427429
428430 } else if ( action === common . ACTIONS . SCRAPE ) { // scrape message
429- var infoHash = msg . slice ( 16 , 36 ) . toString ( 'binary' ) // 20 bytes
431+ infoHash = msg . slice ( 16 , 36 ) . toString ( 'binary' ) // 20 bytes
430432
431433 // TODO: support multiple info_hash scrape
432434 if ( msg . length > 36 ) {
433435 error ( 'multiple info_hash scrape not supported' )
434436 }
435437
436- var swarm = self . _getSwarm ( infoHash )
438+ swarm = self . _getSwarm ( infoHash )
437439
438440 send ( Buffer . concat ( [
439441 common . toUInt32 ( common . ACTIONS . SCRAPE ) ,
@@ -465,7 +467,6 @@ Server.prototype._onUdpRequest = function (msg, rinfo) {
465467}
466468
467469Server . prototype . _getPeers = function ( swarm , numWant ) {
468- var self = this
469470 var peers = [ ]
470471 for ( var peerId in swarm . peers ) {
471472 var peer = swarm . peers [ peerId ]
@@ -481,7 +482,6 @@ Server.prototype._getPeers = function (swarm, numWant) {
481482}
482483
483484Server . prototype . _getPeersCompact = function ( swarm , numWant ) {
484- var self = this
485485 var peers = [ ]
486486
487487 for ( var peerId in swarm . peers ) {
0 commit comments