bitcoin/src
Ethan Heilman e68172ed9f Add test-before-evict discipline to addrman
Changes addrman to use the test-before-evict discipline in which an
address is to be evicted from the tried table is first tested and if
it is still online it is not evicted.

Adds tests to provide test coverage for this change.

This change was suggested as Countermeasure 3 in
Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman,
Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report
2015/263. March 2015.
2018-03-06 11:21:01 -05:00
..
bench test: Plug memory leaks and stack-use-after-scope 2018-02-22 14:53:14 -05:00
compat Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
config
consensus Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
crypto Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
leveldb Bump leveldb subtree 2018-02-16 08:59:28 -05:00
obj
obj-test
policy fee estimator: avoid sorting mempool on shutdown 2018-01-25 18:02:24 -05:00
primitives Merge #10498: Use static_cast instead of C-style casts for non-fundamental types 2018-02-07 16:15:28 -05:00
qt Merge #12287: Optimise lock behaviour for GuessVerificationProgress() 2018-02-25 09:13:43 +08:00
rpc Merge #12503: [RPC] createmultisig no longer takes addresses 2018-02-21 17:01:26 -05:00
script Fix a-vs-an typos 2018-02-11 10:48:15 +01:00
secp256k1 Bump secp256k1 subtree 2017-09-29 16:02:39 +02:00
support Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
test Add test-before-evict discipline to addrman 2018-03-06 11:21:01 -05:00
univalue univalue: Bump subtree 2018-02-10 09:55:54 -05:00
wallet Merge #12287: Optimise lock behaviour for GuessVerificationProgress() 2018-02-25 09:13:43 +08:00
zmq Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
.clang-format Merge #10193: scripted-diff: Remove #include <boost/foreach.hpp> 2017-07-04 18:05:18 +02:00
addrdb.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
addrdb.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
addrman.cpp Add test-before-evict discipline to addrman 2018-03-06 11:21:01 -05:00
addrman.h Add test-before-evict discipline to addrman 2018-03-06 11:21:01 -05:00
amount.h Consensus: Policy: MOVEONLY: Move CFeeRate out of the consensus module 2017-05-03 18:00:13 +02:00
arith_uint256.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
arith_uint256.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
base58.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
base58.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
bech32.cpp scripted-diff: Replace #include "" with #include <> (ryanofsky) 2017-11-16 08:23:01 +13:00
bech32.h Import Bech32 C++ reference code & tests 2017-09-28 16:02:16 -07:00
bitcoin-cli-res.rc
bitcoin-cli.cpp Merge #12050: [trivial] Implements a virtual destructor on the BaseRequestHandler class. 2018-02-06 18:05:34 +01:00
bitcoin-tx-res.rc
bitcoin-tx.cpp Properly alphabetize output of CLI --help option. 2018-02-01 23:19:41 -08:00
bitcoind-res.rc
bitcoind.cpp Move scheduler/threadGroup into common-init instead of per-app 2018-01-25 11:35:34 -05:00
blockencodings.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
blockencodings.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
bloom.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
bloom.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
chain.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
chain.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
chainparams.cpp Fix typos 2018-01-28 13:21:25 +01:00
chainparams.h Merge #11512: Use GetDesireableServiceFlags in seeds, dnsseeds, fixing static seed adding 2018-01-24 13:07:05 +01:00
chainparamsbase.cpp Refactor: One CBaseChainParams should be enough 2018-02-08 22:06:43 +01:00
chainparamsbase.h Refactor: One CBaseChainParams should be enough 2018-02-08 22:06:43 +01:00
chainparamsseeds.h Fix a-vs-an typos 2018-02-11 10:48:15 +01:00
checkpoints.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
checkpoints.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
checkqueue.h [Refactor] Remove unused fQuit var from checkqueue.h 2018-01-07 20:44:21 +00:00
clientversion.cpp Merge #11966: clientversion: Use full commit hash for commit-based version descriptions 2018-02-13 10:58:41 +01:00
clientversion.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
coins.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
coins.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
compat.h Trivial: Fix #include sys/fcntl.h to just fcntl.h (without sys/) 2018-01-12 11:22:54 +00:00
compressor.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
compressor.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
core_io.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
core_memusage.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
core_read.cpp Merge #10498: Use static_cast instead of C-style casts for non-fundamental types 2018-02-07 16:15:28 -05:00
core_write.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
cuckoocache.h Fix header guards using reserved identifiers 2017-08-26 02:56:53 +03:00
dbwrapper.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
dbwrapper.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
fs.cpp scripted-diff: Replace #include "" with #include <> (ryanofsky) 2017-11-16 08:23:01 +13:00
fs.h [Trivial] Add BITCOIN_FS_H endif footer in fs.h 2017-05-19 02:01:28 -07:00
hash.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
hash.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
httprpc.cpp Use the character based overload for std::string::find. 2018-01-11 21:40:51 +01:00
httprpc.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
httpserver.cpp Merge #12366: http: Join worker threads before deleting work queue 2018-02-08 09:21:49 +01:00
httpserver.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
indirectmap.h prepend license statement to indirectmap 2016-07-27 16:27:07 -07:00
init.cpp init: Remove translation for -blockmaxsize option help 2018-02-20 10:48:38 +01:00
init.h Move scheduler/threadGroup into common-init instead of per-app 2018-01-25 11:35:34 -05:00
key.cpp Use ptrdiff_t type to more precisely indicate usage and avoid compiler warnings. 2018-02-05 02:25:28 -08:00
key.h Make CKey::Load references const 2018-01-23 13:16:56 -05:00
keystore.cpp Merge #11403: SegWit wallet support 2018-01-10 20:55:41 -10:00
keystore.h Merge #11403: SegWit wallet support 2018-01-10 20:55:41 -10:00
limitedmap.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
Makefile.am Split signrawtransaction into wallet and non-wallet 2018-02-17 11:42:00 -05:00
Makefile.bench.include Create getaddressinfo RPC and deprecate parts of validateaddress 2018-02-16 12:09:32 -05:00
Makefile.leveldb.include build: verify that the assembler can handle crc32 functions 2017-07-13 12:49:05 -04:00
Makefile.qt.include Merge #11621: [build] Add temp_bitcoin_locale_qrc to CLEAN_QT to fix make distcheck 2017-11-17 14:04:02 +01:00
Makefile.qttest.include Remove redundant testutil files 2017-09-05 15:02:17 +12:00
Makefile.test.include Merge #11748: [Tests] Adding unit tests for GetDifficulty in blockchain.cpp. 2017-12-23 11:22:18 +01:00
memusage.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
merkleblock.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
merkleblock.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
miner.cpp Use mempool's ancestor sort in transaction selection 2018-01-13 15:57:30 -05:00
miner.h Use mempool's ancestor sort in transaction selection 2018-01-13 15:57:30 -05:00
net.cpp Add test-before-evict discipline to addrman 2018-03-06 11:21:01 -05:00
net.h boost: remove useless threadGroup parameter from Discover 2018-02-08 14:35:28 -05:00
net_processing.cpp Fix ignoring tx data requests when fPauseSend is set on a peer 2018-02-08 18:06:21 -05:00
net_processing.h net: Move misbehaving logging to net logging category 2018-01-24 12:18:29 +01:00
netaddress.cpp Merge #10498: Use static_cast instead of C-style casts for non-fundamental types 2018-02-07 16:15:28 -05:00
netaddress.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
netbase.cpp Merge #10498: Use static_cast instead of C-style casts for non-fundamental types 2018-02-07 16:15:28 -05:00
netbase.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
netmessagemaker.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
noui.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
noui.h
pow.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
pow.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
prevector.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
protocol.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
protocol.h Merge #10498: Use static_cast instead of C-style casts for non-fundamental types 2018-02-07 16:15:28 -05:00
pubkey.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
pubkey.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
random.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
random.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
rest.cpp scripted-diff: Use UniValue.pushKV instead of push_back(Pair()) 2018-02-10 10:05:07 -05:00
reverse_iterator.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
reverselock.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
scheduler.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
scheduler.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
serialize.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
streams.h Fix typos 2018-01-28 13:21:25 +01:00
sync.cpp Fix typos 2018-01-28 13:21:25 +01:00
sync.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
threadinterrupt.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
threadinterrupt.h net: add CThreadInterrupt and InterruptibleSleep 2017-01-03 17:53:09 -05:00
threadsafety.h
timedata.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
timedata.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
tinyformat.h [Util] Update tinyformat.h 2017-10-29 21:12:12 +08:00
torcontrol.cpp boost: drop boost threads from torcontrol 2018-02-08 14:35:29 -05:00
torcontrol.h boost: drop boost threads from torcontrol 2018-02-08 14:35:29 -05:00
txdb.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
txdb.h Merge #10498: Use static_cast instead of C-style casts for non-fundamental types 2018-02-07 16:15:28 -05:00
txmempool.cpp Remove unused mempool index 2018-01-09 08:59:21 -05:00
txmempool.h Avoid leaking prioritization information when relaying transactions 2018-01-25 18:02:24 -05:00
ui_interface.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
ui_interface.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
uint256.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
uint256.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
undo.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
util.cpp test: Add unit test for LockDirectory 2018-02-15 16:25:13 +01:00
util.h test: Add unit test for LockDirectory 2018-02-15 16:25:13 +01:00
utilmoneystr.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
utilmoneystr.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
utilstrencodings.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
utilstrencodings.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
utiltime.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
utiltime.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
validation.cpp Merge #12287: Optimise lock behaviour for GuessVerificationProgress() 2018-02-25 09:13:43 +08:00
validation.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
validationinterface.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
validationinterface.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
version.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
versionbits.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
versionbits.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
warnings.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
warnings.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00