lbrycrd/src
Gregory Maxwell 0297be61ac Allow connections from misbehavior banned peers.
This allows incoming connections from peers which are only banned
 due to an automatic misbehavior ban if doing so won't fill inbound.

These peers are preferred for eviction when inbound fills, but may
 still be kept if they fall into the protected classes.  This
 eviction preference lasts the entire life of the connection even
 if the ban expires.

If they misbehave again they'll still get disconnected.

The main purpose of banning on misbehavior is to prevent our
 connections from being wasted on unhelpful peers such as ones
 running incompatible consensus rules.  For inbound peers this
 can be better accomplished with eviction preferences.

A secondary purpose was to reduce resource waste from repeated
 abuse but virtually any attacker can get a nearly unlimited
 supply of addresses, so disconnection is about the best we can
 do.
2019-01-22 21:10:48 +00:00
..
bench Merge #14955: Switch all RNG code to the built-in PRNG 2019-01-21 19:46:45 +01:00
compat Merge #13665: [build] Add risc-v support to gitian 2018-08-16 20:33:50 +02:00
config
consensus Update copyright headers to 2018 2018-12-29 10:15:01 +01:00
crypto Abstract out seeding/extracting entropy into RNGState::MixExtract 2019-01-16 16:31:37 -08:00
index Merge #14085: index: Fix for indexers skipping genesis block. 2019-01-09 14:48:11 +01:00
interfaces net: move BanMan to its own files 2019-01-16 13:54:18 -05:00
leveldb Merge leveldb subtree 2018-08-09 11:31:45 -04:00
obj
obj-test
policy Add locking annotations to feeStats, shortStats and longStats 2018-12-03 00:14:33 +01:00
primitives Made expicit constructor CTransaction(const CMutableTransaction &tx). 2018-12-17 21:02:42 -08:00
qt Merge #14955: Switch all RNG code to the built-in PRNG 2019-01-21 19:46:45 +01:00
rpc Merge #14906: refactor: Make explicit CMutableTransaction -> CTransaction conversion. 2019-01-21 20:28:56 +01:00
script Minimal changes to comply with explicit CMutableTransaction -> CTranaction conversion. 2018-12-17 21:02:42 -08:00
secp256k1
support Fix out-of-bounds write in case of failing mmap(...) in PosixLockedPageAllocator::AllocateLocked 2019-01-06 17:45:53 +01:00
test Merge #14955: Switch all RNG code to the built-in PRNG 2019-01-21 19:46:45 +01:00
univalue Update univalue subtree 2018-09-07 08:21:14 -04:00
util Merge #14955: Switch all RNG code to the built-in PRNG 2019-01-21 19:46:45 +01:00
wallet Merge #14906: refactor: Make explicit CMutableTransaction -> CTransaction conversion. 2019-01-21 20:28:56 +01:00
zmq zmq: log outbound message high water mark when reusing socket 2019-01-19 22:06:14 +08:00
.clang-format Fix inconsistent namespace formatting guidelines 2018-04-13 15:37:20 -04:00
addrdb.cpp banman: pass the banfile path in 2019-01-16 13:54:18 -05:00
addrdb.h banman: Add, use CBanEntry ctor that takes ban reason 2019-01-16 13:54:18 -05:00
addrman.cpp Make addrman use its local RNG exclusively 2018-12-12 14:22:12 -08:00
addrman.h Use C++11 default member initializers 2019-01-05 16:16:37 +01:00
amount.h Update copyright headers to 2018 2018-12-29 10:15:01 +01:00
arith_uint256.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
arith_uint256.h Use std::numeric_limits<UNSIGNED>::max()) instead of (UNSIGNED)-1 2018-12-04 19:55:04 +02:00
attributes.h Add NODISCARD to all {Decode,Parse}[...](...) functions returning bool. Sort includes. 2018-11-05 17:03:11 +01:00
banman.cpp Allow connections from misbehavior banned peers. 2019-01-22 21:10:48 +00:00
banman.h Allow connections from misbehavior banned peers. 2019-01-22 21:10:48 +00:00
base58.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
base58.h Add NODISCARD to all {Decode,Parse}[...](...) functions returning bool. Sort includes. 2018-11-05 17:03:11 +01:00
bech32.cpp Make objects in range declarations immutable by default. Avoid unnecessary copying of objects in range declarations. 2018-08-27 18:19:33 +02:00
bech32.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
bitcoin-cli-res.rc
bitcoin-cli.cpp Merge #14480: refactor: Drop boost::this_thread::interruption_point and boost::thread_interrupted in main thread 2018-12-07 15:40:50 +01:00
bitcoin-tx-res.rc
bitcoin-tx.cpp Minimal changes to comply with explicit CMutableTransaction -> CTranaction conversion. 2018-12-17 21:02:42 -08:00
bitcoind-res.rc
bitcoind.cpp Merge #14521: qt, docs: Fix bitcoin-qt -version output formatting 2018-11-23 10:17:46 +01:00
blockencodings.cpp Extract CSipHasher to it's own file in crypto/ directory. 2018-11-05 09:25:15 -08:00
blockencodings.h disallow oversized CBlockHeaderAndShortTxIDs 2018-11-13 12:41:41 -08:00
blockfilter.cpp blockfilter: Remove default clause in switch statement. 2018-12-21 23:53:29 -06:00
blockfilter.h blockfilter: Additional constructors for BlockFilter. 2018-11-06 09:12:54 -08:00
bloom.cpp Merge #13429: Return the script type from Solver 2018-08-25 17:41:00 +02:00
bloom.h Removes unsed CBloomFilter constructor. 2018-08-13 01:24:55 +02:00
chain.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
chain.h Don't label transactions "Open" while catching up 2019-01-03 00:10:24 +02:00
chainparams.cpp Merge #14970: [net] add dnsseed.emzy.de to DNS seeds 2019-01-21 19:16:45 +01:00
chainparams.h implements different disk sizes for different networks on intro 2018-10-07 13:11:36 +01:00
chainparamsbase.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
chainparamsbase.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
chainparamsseeds.h net: Update hardcoded seeds 2018-08-13 13:57:15 +02:00
checkpoints.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
checkpoints.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
checkqueue.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
clientversion.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
clientversion.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
coins.cpp Extract CSipHasher to it's own file in crypto/ directory. 2018-11-05 09:25:15 -08:00
coins.h Extract CSipHasher to it's own file in crypto/ directory. 2018-11-05 09:25:15 -08:00
compat.h Implement poll() on systems which support it properly. 2018-12-03 14:25:51 -05:00
compressor.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
compressor.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
core_io.h Add NODISCARD to all {Decode,Parse}[...](...) functions returning bool. Sort includes. 2018-11-05 17:03:11 +01:00
core_memusage.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
core_read.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
core_write.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
cuckoocache.h Make objects in range declarations immutable by default. Avoid unnecessary copying of objects in range declarations. 2018-08-27 18:19:33 +02:00
dbwrapper.cpp Fix typos reported by codespell 2018-09-04 13:11:26 +02:00
dbwrapper.h scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
dummywallet.cpp Remove direct node->wallet calls in init.cpp 2018-11-06 11:44:40 -04:00
fs.cpp utils: Fix broken Windows filelock 2018-10-19 02:29:25 +08:00
fs.h Update copyright headers to 2018 2018-12-29 10:15:01 +01:00
hash.cpp Extract CSipHasher to it's own file in crypto/ directory. 2018-11-05 09:25:15 -08:00
hash.h Merge #13258: uint256: Remove unnecessary crypto/common.h dependency 2018-11-30 18:48:58 +01:00
httprpc.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
httprpc.h Cleanup StartRest() 2018-08-11 09:34:47 +03:00
httpserver.cpp Use C++11 default member initializers 2019-01-05 16:16:37 +01:00
httpserver.h convert C-style (void) parameter lists to C++ style () 2018-09-13 10:36:41 -07:00
indirectmap.h
init.cpp net: move BanMan to its own files 2019-01-16 13:54:18 -05:00
init.h Pass chain and client variables where needed 2018-11-06 11:44:40 -04:00
key.cpp Pass export privkey DER compression flag correctly 2018-09-13 09:58:26 +02:00
key.h convert C-style (void) parameter lists to C++ style () 2018-09-13 10:36:41 -07:00
key_io.cpp Update copyright headers to 2018 2018-12-29 10:15:01 +01:00
key_io.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
keystore.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
keystore.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
limitedmap.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
logging.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
logging.h logging: Replace LogPrint macros with regular functions 2018-09-12 11:28:01 -04:00
Makefile.am net: move BanMan to its own files 2019-01-16 13:54:18 -05:00
Makefile.bench.include Add Benchmark to test input de-duplication worst case 2018-11-25 10:53:20 +09:00
Makefile.leveldb.include
Makefile.qt.include gui: Add WalletController 2019-01-18 00:34:47 +00:00
Makefile.qttest.include Add BitcoinApplication & RPCConsole tests 2019-01-04 06:31:07 -05:00
Makefile.test.include Remove duplicate libconsensus linking in test make 2018-11-29 05:30:58 -06:00
memusage.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
merkleblock.cpp Replace use of BEGIN and END macros on uint256 2019-01-10 01:58:33 +01:00
merkleblock.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
miner.cpp [mining] segwit option must be set in GBT 2018-12-10 16:42:14 -05:00
miner.h [mining] segwit option must be set in GBT 2018-12-10 16:42:14 -05:00
net.cpp Allow connections from misbehavior banned peers. 2019-01-22 21:10:48 +00:00
net.h Allow connections from misbehavior banned peers. 2019-01-22 21:10:48 +00:00
net_processing.cpp net: move BanMan to its own files 2019-01-16 13:54:18 -05:00
net_processing.h banman: create and split out banman 2019-01-16 13:54:18 -05:00
netaddress.cpp Merge #14728: fix uninitialized read when stringifying an addrLocal 2018-11-23 09:53:20 +01:00
netaddress.h Merge #14728: fix uninitialized read when stringifying an addrLocal 2018-11-23 09:53:20 +01:00
netbase.cpp Implement poll() on systems which support it properly. 2018-12-03 14:25:51 -05:00
netbase.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
netmessagemaker.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
noui.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
noui.h Update copyright headers to 2018 2018-12-29 10:15:01 +01:00
outputtype.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
outputtype.h Add NODISCARD to all {Decode,Parse}[...](...) functions returning bool. Sort includes. 2018-11-05 17:03:11 +01:00
pow.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
pow.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
prevector.h Implement prevector::fill once 2018-11-14 12:19:28 -05:00
protocol.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
protocol.h Use C++11 default member initializers 2019-01-05 16:16:37 +01:00
pubkey.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
pubkey.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
random.cpp Document RNG design in random.h 2019-01-16 16:35:54 -08:00
random.h Document RNG design in random.h 2019-01-16 16:35:54 -08:00
rest.cpp Merge #12151: rpc: Remove cs_main lock from blockToJSON and blockheaderToJSON 2019-01-04 12:31:07 +01:00
reverse_iterator.h scripted-diff: Remove trailing whitespaces 2018-07-24 20:46:23 +01:00
reverselock.h
scheduler.cpp Switch all RNG code to the built-in PRNG. 2019-01-16 16:34:56 -08:00
scheduler.h scripted-diff: Replace boost::bind with std::bind 2018-10-20 02:29:59 +08:00
serialize.h Drop minor GetSerializeSize template 2018-09-11 00:58:13 -04:00
shutdown.cpp Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
shutdown.h Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
span.h Add more methods to Span class 2018-07-27 11:52:18 -07:00
streams.h Merge #14357: streams: Fix broken streams_vector_reader test. Remove unused seek(size_t). 2019-01-05 15:06:43 +01:00
sync.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
sync.h sync: Add RecursiveMutex type alias 2018-12-14 16:26:13 -05:00
threadinterrupt.cpp Merge #11640: Make LOCK, LOCK2, TRY_LOCK work with CWaitableCriticalSection 2018-08-31 16:00:38 +02:00
threadinterrupt.h Update copyright headers to 2018 2018-12-29 10:15:01 +01:00
threadsafety.h Pass chain locked variables where needed 2018-11-06 11:44:40 -04:00
timedata.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
timedata.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
tinyformat.h Fix typos 2018-03-21 08:34:44 +02:00
torcontrol.cpp Drop IsLimited in favor of IsReachable 2019-01-13 22:50:36 -08:00
torcontrol.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
txdb.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
txdb.h Merge #13780: 0.17: Pre-branch maintenance 2018-08-08 13:55:27 +02:00
txmempool.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
txmempool.h validation: Add cs_main locking annotations 2018-12-22 15:23:03 +01:00
ui_interface.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
ui_interface.h Make macro compatible with MSVC 2018-08-14 09:19:47 +00:00
uint256.cpp util: Make ToLower and ToUpper take a char 2019-01-10 02:51:14 +01:00
uint256.h uint256: Remove unnecessary crypto/common.h use 2018-09-18 14:27:05 +09:00
undo.h Extract CSipHasher to it's own file in crypto/ directory. 2018-11-05 09:25:15 -08:00
validation.cpp Merge #14963: mempool, validation: Explain cs_main locking semantics 2019-01-15 13:42:05 -05:00
validation.h Merge #13258: uint256: Remove unnecessary crypto/common.h dependency 2018-11-30 18:48:58 +01:00
validationinterface.cpp Merge #13743: refactor: Replace boost::bind with std::bind 2018-12-29 14:14:26 +01:00
validationinterface.h Add compile time checking for all cs_main runtime locking assertions 2018-08-26 00:25:28 +02:00
version.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
versionbits.cpp MOVEONLY: Move versionbits info out of versionbits.o 2018-09-23 22:55:11 +02:00
versionbits.h MOVEONLY: Move versionbits info out of versionbits.o 2018-09-23 22:55:11 +02:00
versionbitsinfo.cpp MOVEONLY: Move versionbits info out of versionbits.o 2018-09-23 22:55:11 +02:00
versionbitsinfo.h MOVEONLY: Move versionbits info out of versionbits.o 2018-09-23 22:55:11 +02:00
walletinitinterface.h Remove direct node->wallet calls in init.cpp 2018-11-06 11:44:40 -04:00
warnings.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
warnings.h Merge #13780: 0.17: Pre-branch maintenance 2018-08-08 13:55:27 +02:00