diff options
author | Suhas Daftuar <sdaftuar@gmail.com> | 2020-06-29 14:59:55 -0400 |
---|---|---|
committer | Suhas Daftuar <sdaftuar@gmail.com> | 2020-07-19 02:10:42 -0400 |
commit | 0e20cfedb704c1f76bb727e2009867d3d503a03d (patch) | |
tree | 661ba75427210b2ff5367360bb53c07f15e9b5c3 | |
parent | cacd85209e20fc0fd08f86eed23b6ef93484ffcf (diff) |
Disconnect peers sending wtxidrelay message after VERACK
-rw-r--r-- | src/net_processing.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 7822e9c0ad..c6eeeabbcc 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -2506,6 +2506,12 @@ void ProcessMessage( // Feature negotiation of wtxidrelay should happen between VERSION and // VERACK, to avoid relay problems from switching after a connection is up if (msg_type == NetMsgType::WTXIDRELAY) { + if (pfrom.fSuccessfullyConnected) { + // Disconnect peers that send wtxidrelay message after VERACK; this + // must be negotiated between VERSION and VERACK. + pfrom.fDisconnect = true; + return; + } if (pfrom.nVersion >= WTXID_RELAY_VERSION) { LOCK(cs_main); if (!State(pfrom.GetId())->m_wtxid_relay) { |