Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/webtorrent/webtorrent.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorFeross Aboukhadijeh <feross@feross.org>2013-10-28 06:19:22 +0400
committerFeross Aboukhadijeh <feross@feross.org>2013-10-28 06:19:22 +0400
commit418a742860a518d96924355f2da799ef705435bd (patch)
tree1ac1df7818e38e22cf16691fd2b0cc60cc842cde /lib
parent3513b891c7f2f7c667556198880ce6e35868b25b (diff)
DHT: only parse node/peer info when that key exists in response
Diffstat (limited to 'lib')
-rw-r--r--lib/bittorrent-dht/index.js20
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/bittorrent-dht/index.js b/lib/bittorrent-dht/index.js
index d83e761..1422e12 100644
--- a/lib/bittorrent-dht/index.js
+++ b/lib/bittorrent-dht/index.js
@@ -136,19 +136,23 @@ DHT.prototype._onData = function (data, host, port) {
return
}
- if (!message.t || (bops.from(message.t) !== self.requestId.toString())) {
- console.log(message.t)
- console.log(self.requestId)
- console.log('wrong message requestId')
+ if (!message.t || (bops.to(message.t) !== self.requestId.toString())) {
+ log(message.t)
+ log(self.requestId)
+ log('wrong message requestId')
return
}
var r = message && message.r
- var nodes = r && r.nodes || []
- var values = r && r.values || []
- parseNodeInfo(nodes).forEach(self._onNode.bind(self))
- parsePeerInfo(values).forEach(self._onPeer.bind(self))
+ if (r && bops.is(r.nodes)) {
+ log('nodes')
+ parseNodeInfo(r.nodes).forEach(self._onNode.bind(self))
+ }
+ if (r && bops.is(r.values)) {
+ log('peers')
+ parsePeerInfo(r.values).forEach(self._onPeer.bind(self))
+ }
}
DHT.prototype.query = function (addr) {