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>2016-01-10 19:54:30 +0300
committerFeross Aboukhadijeh <feross@feross.org>2016-01-11 02:09:00 +0300
commitd8e32f18d3c2231778f4599901ad0e44f187c777 (patch)
tree26cb1dc0b1d930c39faead4775526f414e2dae2f /lib
parentdd464fd074f94110ba0589c6624d72c391b6bd91 (diff)
Check blocklist for WebRTC peers
Fix #566
Diffstat (limited to 'lib')
-rw-r--r--lib/torrent.js22
1 files changed, 12 insertions, 10 deletions
diff --git a/lib/torrent.js b/lib/torrent.js
index de859a2..f7cc21b 100644
--- a/lib/torrent.js
+++ b/lib/torrent.js
@@ -455,17 +455,19 @@ Torrent.prototype.addPeer = function (peer) {
self.emit('peer', peer)
}
- // TODO: extract IP address from peer object and check blocklist
- if (typeof peer === 'string' && self.client.blocked &&
- self.client.blocked.contains(addrToIPPort(peer)[0])) {
- self.numBlockedPeers += 1
- self.emit('blockedPeer', peer)
- return false
- } else {
- if (self.swarm) addPeer()
- else self.once('listening', addPeer)
- return true
+ if (self.client.blocked) {
+ var addr = typeof peer === 'string' ? peer : peer.remoteAddress
+
+ if (addr && self.client.blocked.contains(addrToIPPort(addr)[0])) {
+ self.numBlockedPeers += 1
+ self.emit('blockedPeer', peer)
+ return false
+ }
}
+
+ if (self.swarm) addPeer()
+ else self.once('listening', addPeer)
+ return true
}
/**