dash/src/evo
Alexander Block b18f8cb77c
Implement MNAUTH and allow unlimited inbound MN connections (#2790)
* Sort evo/* source files in Makefile.am

* Keep track of proRegTxHash in CConnman::masternodeQuorumNodes map

We will later need the proRegTxHash

* Fix serialization of std::tuple with const rvalue elements

Having serialization and deserialization in the same specialized template
results in compilation failures due to the "if(for_read)" branch.

* Implement MNAUTH message

This allows masternodes to authenticate themself.

* Protect fresh incoming connections for a second from eviction

Give fresh connections some time to do the VERSION/VERACK handshake and
an optional MNAUTH when it's a masternode. When an MNAUTH happened, the
incoming connection is then forever protected against eviction.

If a timeout of 1 second occurs or the first message after VERACK is not
MNAUTH, the node is not protected anymore and becomes eligable for
eviction.

* Avoid connecting to masternodes if an incoming connection is from the same one

Now that incoming connections from MNs authenticate them self, we can avoid
connecting to the same MNs through intra-quorum connections.

* Apply review suggestions
2019-03-22 11:52:37 +01:00
..
cbtx.cpp Remove temporary code which forked testnet at block 274000 2018-12-13 13:55:46 +01:00
cbtx.h Clang evo folder and activemasternode.* (#2418) 2018-11-06 11:54:23 +03:00
deterministicmns.cpp Add collateraladdress into masternode/protx list rpc output (#2740) 2019-03-06 08:01:03 +01:00
deterministicmns.h ProcessSpecialTxsInBlock should respect fJustCheck (#2653) 2019-01-29 15:57:30 +01:00
evodb.cpp Implement 2-stage commit for CEvoDB to avoid inconsistencies after crashes (#2744) 2019-03-06 22:45:39 +03:00
evodb.h Implement 2-stage commit for CEvoDB to avoid inconsistencies after crashes (#2744) 2019-03-06 22:45:39 +03:00
mnauth.cpp Implement MNAUTH and allow unlimited inbound MN connections (#2790) 2019-03-22 11:52:37 +01:00
mnauth.h Implement MNAUTH and allow unlimited inbound MN connections (#2790) 2019-03-22 11:52:37 +01:00
providertx.cpp Fix confusion between dip3 activation and enforcement (#2651) 2019-01-29 15:54:38 +01:00
providertx.h Clang evo folder and activemasternode.* (#2418) 2018-11-06 11:54:23 +03:00
simplifiedmns.cpp Fix incorrect usage of begin() when genesis block is requested in "protx diff" (#2699) 2019-02-12 22:52:06 +03:00
simplifiedmns.h Implement BuildSimplifiedDiff in CDeterministicMNList 2018-11-15 10:42:39 +01:00
specialtx.cpp ProcessSpecialTxsInBlock should respect fJustCheck (#2653) 2019-01-29 15:57:30 +01:00
specialtx.h ProcessSpecialTxsInBlock should respect fJustCheck (#2653) 2019-01-29 15:57:30 +01:00