Changed infoHash to always be hex

This commit is contained in:
Aram Drevekenin 2015-11-29 16:02:29 +02:00
parent da760b08f2
commit ab3482fc4f
4 changed files with 10 additions and 10 deletions

View File

@ -40,11 +40,11 @@ function Client (peerId, port, torrent, opts) {
self._peerIdHex = self._peerId.toString('hex') self._peerIdHex = self._peerId.toString('hex')
self._peerIdBinary = self._peerId.toString('binary') self._peerIdBinary = self._peerId.toString('binary')
self._infoHash = Buffer.isBuffer(torrent.infoHash) self._infoHashBuffer = Buffer.isBuffer(torrent.infoHash)
? torrent.infoHash ? torrent.infoHash
: new Buffer(torrent.infoHash, 'hex') : new Buffer(torrent.infoHash, 'hex')
self._infoHashHex = self._infoHash.toString('hex') self._infoHash = self._infoHashBuffer.toString('hex')
self._infoHashBinary = self._infoHash.toString('binary') self._infoHashBinary = self._infoHashBuffer.toString('binary')
self.torrentLength = torrent.length self.torrentLength = torrent.length
self.destroyed = false self.destroyed = false
@ -54,7 +54,7 @@ function Client (peerId, port, torrent, opts) {
self._rtcConfig = opts.rtcConfig self._rtcConfig = opts.rtcConfig
self._wrtc = opts.wrtc self._wrtc = opts.wrtc
debug('new client %s', self._infoHashHex) debug('new client %s', self._infoHash)
var webrtcSupport = !!self._wrtc || typeof window !== 'undefined' var webrtcSupport = !!self._wrtc || typeof window !== 'undefined'

View File

@ -68,7 +68,7 @@ HTTPTracker.prototype.scrape = function (opts) {
? opts.infoHash.map(function (infoHash) { ? opts.infoHash.map(function (infoHash) {
return infoHash.toString('binary') return infoHash.toString('binary')
}) })
: (opts.infoHash || self.client._infoHash).toString('binary') : (opts.infoHash || self.client._infoHashBuffer).toString('binary')
var params = { var params = {
info_hash: infoHashes info_hash: infoHashes
} }

View File

@ -146,7 +146,7 @@ UDPTracker.prototype._request = function (opts) {
} }
var infoHashes = (Array.isArray(opts.infoHash) && opts.infoHash.length > 0) var infoHashes = (Array.isArray(opts.infoHash) && opts.infoHash.length > 0)
? opts.infoHash.map(function (infoHash) { return infoHash.toString('hex') }) ? opts.infoHash.map(function (infoHash) { return infoHash.toString('hex') })
: (opts.infoHash || self.client._infoHash).toString('hex') : (opts.infoHash || self.client._infoHashBuffer).toString('hex')
for (var i = 0, len = (msg.length - 8) / 12; i < len; i += 1) { for (var i = 0, len = (msg.length - 8) / 12; i < len; i += 1) {
self.client.emit('scrape', { self.client.emit('scrape', {
@ -193,7 +193,7 @@ UDPTracker.prototype._request = function (opts) {
connectionId, connectionId,
common.toUInt32(common.ACTIONS.ANNOUNCE), common.toUInt32(common.ACTIONS.ANNOUNCE),
transactionId, transactionId,
self.client._infoHash, self.client._infoHashBuffer,
self.client._peerId, self.client._peerId,
toUInt64(opts.downloaded), toUInt64(opts.downloaded),
opts.left != null ? toUInt64(opts.left) : new Buffer('FFFFFFFFFFFFFFFF', 'hex'), opts.left != null ? toUInt64(opts.left) : new Buffer('FFFFFFFFFFFFFFFF', 'hex'),
@ -211,7 +211,7 @@ UDPTracker.prototype._request = function (opts) {
var infoHash = (Array.isArray(opts.infoHash) && opts.infoHash.length > 0) var infoHash = (Array.isArray(opts.infoHash) && opts.infoHash.length > 0)
? Buffer.concat(opts.infoHash) ? Buffer.concat(opts.infoHash)
: (opts.infoHash || self.client._infoHash) : (opts.infoHash || self.client._infoHashBuffer)
send(Buffer.concat([ send(Buffer.concat([
connectionId, connectionId,

View File

@ -137,7 +137,7 @@ WebSocketTracker.prototype._onSocketData = function (data) {
if (data.info_hash !== self.client._infoHashBinary) { if (data.info_hash !== self.client._infoHashBinary) {
debug( debug(
'ignoring websocket data from %s for %s (looking for %s: reused socket)', 'ignoring websocket data from %s for %s (looking for %s: reused socket)',
self.announceUrl, common.binaryToHex(data.info_hash), self.client._infoHashHex self.announceUrl, common.binaryToHex(data.info_hash), self.client._infoHash
) )
return return
} }
@ -149,7 +149,7 @@ WebSocketTracker.prototype._onSocketData = function (data) {
debug( debug(
'received %s from %s for %s', 'received %s from %s for %s',
JSON.stringify(data), self.announceUrl, self.client._infoHashHex JSON.stringify(data), self.announceUrl, self.client._infoHash
) )
var failure = data['failure reason'] var failure = data['failure reason']