Browse Source

Avoid noting nodes with obviously bad listen ports.

cl-refactor
Gav Wood 10 years ago
parent
commit
e27922258d
  1. 9
      libp2p/Host.cpp
  2. 2
      libp2p/Host.h

9
libp2p/Host.cpp

@ -343,11 +343,18 @@ void Host::populateAddresses()
#endif #endif
} }
shared_ptr<Node> Host::noteNode(NodeId _id, bi::tcp::endpoint const& _a, Origin _o, bool _ready, NodeId _oldId) shared_ptr<Node> Host::noteNode(NodeId _id, bi::tcp::endpoint _a, Origin _o, bool _ready, NodeId _oldId)
{ {
RecursiveGuard l(x_peers); RecursiveGuard l(x_peers);
if (_a.port() < 30300 && _a.port() > 30303) if (_a.port() < 30300 && _a.port() > 30303)
cwarn << "Wierd port being recorded!"; cwarn << "Wierd port being recorded!";
if (_a.port() >= 49152)
{
cwarn << "Private port being recorded - setting to 0";
_a = bi::tcp::endpoint(_a.address(), 0);
}
cnote << "Node:" << _id.abridged() << _a << (_ready ? "ready" : "used") << _oldId.abridged() << (m_nodes.count(_id) ? "[have]" : "[NEW]"); cnote << "Node:" << _id.abridged() << _a << (_ready ? "ready" : "used") << _oldId.abridged() << (m_nodes.count(_id) ? "[have]" : "[NEW]");
if (!_a.port()) if (!_a.port())
{ {

2
libp2p/Host.h

@ -200,7 +200,7 @@ private:
/// This won't touch alter the blockchain. /// This won't touch alter the blockchain.
virtual void doWork(); virtual void doWork();
std::shared_ptr<Node> noteNode(NodeId _id, bi::tcp::endpoint const& _a, Origin _o, bool _ready, NodeId _oldId = h256()); std::shared_ptr<Node> noteNode(NodeId _id, bi::tcp::endpoint _a, Origin _o, bool _ready, NodeId _oldId = h256());
Nodes potentialPeers(RangeMask<unsigned> const& _known); Nodes potentialPeers(RangeMask<unsigned> const& _known);
std::string m_clientVersion; ///< Our version string. std::string m_clientVersion; ///< Our version string.

Loading…
Cancel
Save