lbrycrd/src
Gregory Maxwell c769c4af11 Avoid counting failed connect attempts when probably offline.
If a node is offline failed outbound connection attempts will crank up
 the addrman counter and effectively blow away our state.

This change reduces the problem by only counting attempts made while
 the node believes it has outbound connections to at least two
 netgroups.

Connect and addnode connections are also not counted, as there is no
 reason to unequally penalize them for their more frequent
 connections -- though there should be no real effect from this
 unless their addnode configureation is later removed.

Wasteful repeated connection attempts while only a few connections are
 up are avoided via nLastTry.

This is still somewhat incomplete protection because our outbound
 peers could be down but not timed out or might all be on 'local'
 networks (although the requirement for multiple netgroups helps).
2016-05-26 12:56:27 +00:00
..
bench bench: Add crypto hash benchmarks 2016-05-11 19:47:25 +02:00
compat Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
config
consensus Add CHECKSEQUENCEVERIFY softfork through BIP9 2016-03-18 08:09:06 +00:00
crypto crypto: bytes counts are 64 bit 2016-04-15 16:44:23 +02:00
leveldb Update LevelDB 2015-11-04 23:46:47 +01:00
obj
obj-test
policy Merge #7812: Tiny refactor of IsRBFOptIn, avoid exception 2016-04-14 16:35:02 +02:00
primitives Merge #7763: Put hex-encoded version in UpdateTip 2016-03-31 13:24:50 +02:00
qt Merge #8061: [Wallet] Improve Wallet encapsulation 2016-05-25 18:08:06 +02:00
rpc Avoid counting failed connect attempts when probably offline. 2016-05-26 12:56:27 +00:00
script Merge #7907: Optimize and Cleanup CScript::FindAndDelete 2016-05-05 19:01:32 +02:00
secp256k1 Merge commit '5ad54630935d1f340666de7bc9ffef9b8a1df296' into HEAD 2015-11-24 09:22:18 +01:00
support Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
test Fix typo adddrman to addrman as requested in #8070 2016-05-18 20:14:26 -04:00
univalue Merge commit '982709199f1b4e9e35211c419a81938f9f1dd4ed' into bitcoin 2015-12-02 12:28:48 +01:00
wallet Merge #8061: [Wallet] Improve Wallet encapsulation 2016-05-25 18:08:06 +02:00
zmq [ZMQ] append a message sequence number to every ZMQ notification 2016-04-19 15:32:11 +02:00
.clang-format [trivial] clang-format: Set AlignAfterOpenBracket: false 2015-11-05 23:28:02 +01:00
addrman.cpp Avoid counting failed connect attempts when probably offline. 2016-05-26 12:56:27 +00:00
addrman.h Avoid counting failed connect attempts when probably offline. 2016-05-26 12:56:27 +00:00
amount.cpp [amount] Add support for negative fee rates 2016-04-08 19:59:53 +02:00
amount.h [amount] Add support for negative fee rates 2016-04-08 19:59:53 +02:00
arith_uint256.cpp
arith_uint256.h Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
base58.cpp CBase58Data::SetString: cleanse the full vector 2016-04-21 18:28:57 -07:00
base58.h add bip32 pubkey serialization 2016-04-14 20:56:33 +02:00
bitcoin-cli-res.rc Unify package name to as few places as possible without major changes 2015-12-14 02:11:10 +00:00
bitcoin-cli.cpp bitcoin-cli.cpp: Use symbolic constant for exit code 2016-05-02 22:33:04 +05:45
bitcoin-tx-res.rc
bitcoin-tx.cpp Merge branch 'master' into single_prodname 2016-02-03 05:41:13 +00:00
bitcoind-res.rc
bitcoind.cpp Merge branch 'master' into single_prodname 2016-02-03 05:41:13 +00:00
bloom.cpp More efficient bitsliced rolling Bloom filter 2016-04-28 14:56:32 +02:00
bloom.h More efficient bitsliced rolling Bloom filter 2016-04-28 14:56:32 +02:00
chain.cpp MOVEONLY: non-consensus: from pow to chain: 2016-01-12 13:43:14 +01:00
chain.h Merge #7815: Break circular dependency main ↔ txdb 2016-05-06 10:03:09 +02:00
chainparams.cpp [doc] Fix doxygen comments for members 2016-04-03 11:58:01 +02:00
chainparams.h Remove alert keys 2016-03-18 19:55:16 +00:00
chainparamsbase.cpp Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
chainparamsbase.h Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
chainparamsseeds.h net: Hardcoded seeds update January 2016 2016-01-25 16:14:14 +01:00
checkpoints.cpp Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
checkpoints.h Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
checkqueue.h Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
clientversion.cpp
clientversion.h Merge branch 'master' into single_prodname 2016-02-03 05:41:13 +00:00
coincontrol.h Use CCoinControl selection in CWallet::FundTransaction 2016-03-08 15:14:47 +00:00
coins.cpp Use SipHash-2-4 for CCoinsCache index 2016-05-17 20:04:46 +02:00
coins.h Use SipHash-2-4 for CCoinsCache index 2016-05-17 20:04:46 +02:00
compat.h don't run ThreadMessageHandler at lowered priority 2016-05-05 13:25:35 -07:00
compressor.cpp
compressor.h Fix OOM bug: UTXO entries with invalid script length 2016-04-25 14:42:07 +02:00
core_io.h Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
core_memusage.h Prevector type 2015-11-13 18:15:20 +01:00
core_read.cpp Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
core_write.cpp Fix formatting of NOPs for generated script tests 2016-04-05 14:54:37 +02:00
dbwrapper.cpp dbwrapper: Move HandleError to dbwrapper_private 2016-04-23 09:32:25 +02:00
dbwrapper.h dbwrapper: Move HandleError to dbwrapper_private 2016-04-23 09:32:25 +02:00
hash.cpp Add SipHash-2-4 primitives to hash 2016-05-17 20:04:42 +02:00
hash.h Add SipHash-2-4 primitives to hash 2016-05-17 20:04:42 +02:00
httprpc.cpp Make sure LogPrintf strings are line-terminated 2016-03-01 14:59:30 +01:00
httprpc.h
httpserver.cpp http: use std::move to move HTTPRequest into HTTPWorkItem 2016-05-05 08:27:12 +02:00
httpserver.h http: speed up shutdown 2015-11-13 11:10:48 +01:00
init.cpp Merge #8076: VerifyDB: don't check blocks that have been pruned 2016-05-25 16:28:22 +02:00
init.h [Wallet] refactor wallet/init interaction 2016-03-22 08:20:59 +01:00
key.cpp add bip32 pubkey serialization 2016-04-14 20:56:33 +02:00
key.h add bip32 pubkey serialization 2016-04-14 20:56:33 +02:00
keystore.cpp Fix for incorrect locking in GetPubKey() (keystore.cpp) 2016-04-20 16:04:28 +03:00
keystore.h Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
limitedmap.h Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
main.cpp VerifyDB: don't check blocks that have been pruned 2016-05-22 09:15:21 -04:00
main.h Make ProcessNewBlock dbp const and update comment 2016-05-17 00:40:55 +02:00
Makefile.am leveldb: integrate leveldb into our buildsystem 2016-04-19 14:37:15 -04:00
Makefile.bench.include bench: Add crypto hash benchmarks 2016-05-11 19:47:25 +02:00
Makefile.leveldb.include build: No need to check for leveldb atomics 2016-04-30 17:46:35 -04:00
Makefile.qt.include qt: Fix out-of-tree GUI builds 2016-04-22 09:21:09 +02:00
Makefile.qttest.include Build: Consensus: Move consensus files from common to its own module/package 2015-12-08 06:30:14 +01:00
Makefile.test.include Merge #7696: Fix de-serialization bug where AddrMan is left corrupted 2016-05-17 10:53:00 +02:00
memusage.h Prevector type 2015-11-13 18:15:20 +01:00
merkleblock.cpp Add importprunedfunds rpc call 2016-03-23 10:40:38 -04:00
merkleblock.h Add importprunedfunds rpc call 2016-03-23 10:40:38 -04:00
miner.cpp auto_ptr → unique_ptr 2016-04-28 13:43:32 +02:00
miner.h Remove internal miner 2016-02-10 18:29:13 -08:00
net.cpp Avoid counting failed connect attempts when probably offline. 2016-05-26 12:56:27 +00:00
net.h Avoid counting failed connect attempts when probably offline. 2016-05-26 12:56:27 +00:00
netbase.cpp Use Socks5ErrorString() to decode error responses from socks proxy. 2016-05-19 14:21:22 +09:00
netbase.h net: disable resolving from storage structures 2016-04-20 13:08:19 -04:00
noui.cpp
noui.h Bump copyright headers to 2014 2016-01-05 21:01:39 +01:00
pow.cpp Deprecating the remaining LogPrintf dependencies that were made obsolete in PR #7459. 2016-04-27 22:36:45 -04:00
pow.h Merge #7311: MOVEONLY: Move non-consensus functions out of pow 2016-02-02 14:16:16 +01:00
prevector.h prevector::swap: fix (unreached) data corruption 2016-04-16 08:05:11 -07:00
protocol.cpp Implement "feefilter" P2P message. 2016-03-21 10:46:25 -04:00
protocol.h Implement "feefilter" P2P message. 2016-03-21 10:46:25 -04:00
pubkey.cpp add bip32 pubkey serialization 2016-04-14 20:56:33 +02:00
pubkey.h add bip32 pubkey serialization 2016-04-14 20:56:33 +02:00
random.cpp Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
random.h
rest.cpp rpc: Register calls where they are defined 2016-03-31 10:48:32 +02:00
reverselock.h c++11: don't throw from the reverselock destructor 2016-01-05 17:17:29 -05:00
scheduler.cpp Notify other serviceQueue thread we are finished to prevent deadlocks. 2016-05-06 20:44:40 +02:00
scheduler.h
serialize.h Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
streams.h Fix OOM bug: UTXO entries with invalid script length 2016-04-25 14:42:07 +02:00
sync.cpp Clean up lockorder data of destroyed mutexes 2016-04-10 14:27:10 +02:00
sync.h Clean up lockorder data of destroyed mutexes 2016-04-10 14:27:10 +02:00
threadsafety.h Bump copyright headers to 2014 2016-01-05 21:01:39 +01:00
timedata.cpp P2P: add maxtimeadjustment command line option 2016-03-29 14:40:00 +00:00
timedata.h P2P: add maxtimeadjustment command line option 2016-03-29 14:40:00 +00:00
tinyformat.h tinyformat: force USE_VARIADIC_TEMPLATES 2016-05-04 11:37:10 +02:00
torcontrol.cpp net: disable resolving from storage structures 2016-04-20 13:08:19 -04:00
torcontrol.h torcontrol improvements and fixes 2015-11-12 17:58:15 +01:00
txdb.cpp Merge #7815: Break circular dependency main ↔ txdb 2016-05-06 10:03:09 +02:00
txdb.h Break circular dependency main ↔ txdb 2016-04-15 17:48:38 +02:00
txmempool.cpp Merge #7976: Remove obsolete reference to CValidationState from UpdateCoins. 2016-05-09 11:59:03 +02:00
txmempool.h Switch CTxMempool::mapTx to use a hash index for txids 2016-05-17 20:04:46 +02:00
ui_interface.cpp [ui] Move InitError, InitWarning, AmountErrMsg 2016-04-02 15:26:21 +02:00
ui_interface.h Report reindexing progress in GUI 2016-05-17 00:45:58 +02:00
uint256.cpp Use SipHash-2-4 for CCoinsCache index 2016-05-17 20:04:46 +02:00
uint256.h Use SipHash-2-4 for CCoinsCache index 2016-05-17 20:04:46 +02:00
undo.h Bump copyright headers to 2014 2016-01-05 21:01:39 +01:00
util.cpp Merge #8004: signal handling: fReopenDebugLog and fRequestShutdown should be type sig_atomic_t 2016-05-12 11:46:10 +02:00
util.h Merge #8004: signal handling: fReopenDebugLog and fRequestShutdown should be type sig_atomic_t 2016-05-12 11:46:10 +02:00
utilmoneystr.cpp Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
utilmoneystr.h Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
utilstrencodings.cpp Merge branch 'master' into single_prodname 2016-02-03 05:41:13 +00:00
utilstrencodings.h Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
utiltime.cpp [doc] Fix doxygen comments for members 2016-04-03 11:58:01 +02:00
utiltime.h Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
validationinterface.cpp include the chaintip *blockIndex in the SyncTransaction signal 2015-12-04 09:18:53 +01:00
validationinterface.h Merge #6480: include the chaintip blockindex in the SyncTransaction signal, add signal UpdateTip() 2016-02-04 17:03:09 +01:00
version.h Implement "feefilter" P2P message. 2016-03-21 10:46:25 -04:00
versionbits.cpp Fix typo: Optimizaton -> Optimization 2016-04-01 21:31:48 +02:00
versionbits.h BIP9 Implementation 2016-03-15 16:54:38 +01:00