diff options
| author | Amiti Uttarwar <[email protected]> | 2020-08-10 18:30:04 -0700 |
|---|---|---|
| committer | Amiti Uttarwar <[email protected]> | 2020-09-21 19:01:29 -0700 |
| commit | 49c10a9ca40967d28ae16dfea9cccc6f3a6624a1 (patch) | |
| tree | 46b2eb17cde91c46c4d17c56ab6251fa46d9744f | |
| parent | Merge #17785: p2p: Unify Send and Receive protocol versions (diff) | |
| download | discoin-49c10a9ca40967d28ae16dfea9cccc6f3a6624a1.tar.xz discoin-49c10a9ca40967d28ae16dfea9cccc6f3a6624a1.zip | |
[log] Add connection type to log statement
In addition to adding more specificity to the log statement about the type of
connection, this change also consolidates two statements into one. Previously,
the second one should have never been hit, since block-relay connections would
match the "!IsInboundConn()" condition and return early.
| -rw-r--r-- | src/net.cpp | 20 | ||||
| -rw-r--r-- | src/net.h | 2 | ||||
| -rw-r--r-- | src/net_processing.cpp | 6 |
3 files changed, 23 insertions, 5 deletions
diff --git a/src/net.cpp b/src/net.cpp index e7d3a146f..15675a68a 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -488,6 +488,26 @@ void CConnman::AddWhitelistPermissionFlags(NetPermissionFlags& flags, const CNet } } +std::string CNode::ConnectionTypeAsString() const +{ + switch (m_conn_type) { + case ConnectionType::INBOUND: + return "inbound"; + case ConnectionType::MANUAL: + return "manual"; + case ConnectionType::FEELER: + return "feeler"; + case ConnectionType::OUTBOUND_FULL_RELAY: + return "outbound-full-relay"; + case ConnectionType::BLOCK_RELAY: + return "block-relay-only"; + case ConnectionType::ADDR_FETCH: + return "addr-fetch"; + } // no default case, so the compiler can warn about missing cases + + assert(false); +} + std::string CNode::GetAddrName() const { LOCK(cs_addrName); return addrName; @@ -1145,6 +1145,8 @@ public: std::string GetAddrName() const; //! Sets the addrName only if it was not previously set void MaybeSetAddrName(const std::string& addrNameIn); + + std::string ConnectionTypeAsString() const; }; /** Return a timestamp in the future (in microseconds) for exponentially distributed events. */ diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 690b59476..859b67755 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -3521,11 +3521,7 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat // Making nodes which are behind NAT and can only make outgoing connections ignore // the getaddr message mitigates the attack. if (!pfrom.IsInboundConn()) { - LogPrint(BCLog::NET, "Ignoring \"getaddr\" from outbound connection. peer=%d\n", pfrom.GetId()); - return; - } - if (!pfrom.RelayAddrsWithConn()) { - LogPrint(BCLog::NET, "Ignoring \"getaddr\" from block-relay-only connection. peer=%d\n", pfrom.GetId()); + LogPrint(BCLog::NET, "Ignoring \"getaddr\" from %s connection. peer=%d\n", pfrom.ConnectionTypeAsString(), pfrom.GetId()); return; } |