neobytes/src
Gregory Maxwell aaf55d25c6
Add a -rpckeepalive and disable RPC use of HTTP persistent connections.
It turns out that some miners have been staying with old versions of
 Bitcoin Core because their software  behaves poorly with persistent
 connections and the Bitcoin Core thread and connection limits.

What happens is that underlying  HTTP libraries leave connections open
 invisibly to their users and then the user runs into the default four
 thread limit.  This looks like Bitcoin Core is unresponsive to RPC.

There are many things that should be improved in Bitcoin Core's behavior
 here, e.g. supporting more concurrent connections, not tying up threads
 for idle connections, disconnecting kept-alive  connections when limits
 are reached, etc. All are fairly big, risky changes.

Disabling keep-alive is a simple workaround. It's often not easy to turn
 off the keep-alive support in the client where it may be buried in some
 platform library.

If you are one of the few who really needs persistent connections you
 probably know that you want them and can find a switch; while if you
 don't and the misbehavior is hitting you it is hard to discover the
 source of your problems is keepalive related.  Given that it is best
 to default to off until they're handled better.

Github-Merge: #5655
Rebased-From: 16a5c18cea 56c1093dae 1dd8ee72af
2015-01-15 09:38:24 +01:00
..
compat Check for strnlen and provide it if it is not found. 2014-11-24 10:28:24 +01:00
config
crypto Header define style cleanups 2014-11-20 17:22:06 +01:00
json
leveldb Merge src/leveldb changes for LevelDB 1.18. 2014-10-16 12:23:50 -07:00
obj
obj-test
primitives Move CMerkleBlock and CPartialMerkleTree to their own file 2014-12-05 01:57:40 -08:00
qt [Qt] update a translation string and argument counts 2015-01-02 11:20:51 +01:00
script Fix CScriptID(const CScript& in) in empty script case 2014-12-27 04:09:41 +01:00
secp256k1 Do not use libgmp automatically in libsecp256k1 2014-12-23 14:20:28 +01:00
test tests: run sanity checks in tests too 2015-01-08 12:08:14 +01:00
univalue Fix all header defines 2014-11-03 16:16:40 +01:00
.clang-format
addrman.cpp Merge pull request #5119 2014-10-27 04:16:48 -07:00
addrman.h Fix all header defines 2014-11-03 16:16:40 +01:00
alert.cpp minor code style cleanup after recent merges 2014-11-04 14:36:46 +01:00
alert.h Fix all header defines 2014-11-03 16:16:40 +01:00
allocators.cpp Apply clang-format on some infrequently-updated files 2014-09-19 19:21:46 +02:00
allocators.h boost: split stream classes out of serialize.h 2014-10-22 15:21:06 -04:00
amount.cpp MOVEONLY: Move CFeeRate and Amount constants to amount.o 2014-10-27 13:54:37 +01:00
amount.h MOVEONLY: Move CFeeRate and Amount constants to amount.o 2014-10-27 13:54:37 +01:00
base58.cpp Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
base58.h Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
bitcoin-cli-res.rc
bitcoin-cli.cpp Disable SSLv3 (in favor of TLS) for the RPC client and server. 2014-12-06 07:08:02 -08:00
bitcoin-tx.cpp bitcoin-tx: Fix JSON validation of prevtxs 2015-01-06 17:32:31 +01:00
bitcoind-res.rc
bitcoind.cpp Process help and version arguments before datadir. 2014-11-22 20:46:11 +01:00
bloom.cpp MOVEONLY: core/ -> primitives/ 2014-12-03 10:52:58 +00:00
bloom.h Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
chain.cpp Update comments in chain to be doxygen compatible 2014-10-25 16:46:54 +08:00
chain.h MOVEONLY: core/ -> primitives/ 2014-12-03 10:52:58 +00:00
chainparams.cpp Remove bitnodes.io from dnsseeds. 2014-12-31 10:43:22 +01:00
chainparams.h MOVEONLY: core/ -> primitives/ 2014-12-03 10:52:58 +00:00
chainparamsbase.cpp Update comments in chainparams to be doxygen compatible 2014-10-25 17:24:16 +08:00
chainparamsbase.h Fix all header defines 2014-11-03 16:16:40 +01:00
chainparamsseeds.h Update seed IPs, based on bitcoin.sipa.be crawler data 2015-01-06 11:02:50 +01:00
checkpoints.cpp Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
checkpoints.h Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
checkqueue.h Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
clientversion.cpp Update comments in version to be doxygen compatible 2014-10-31 08:20:17 +08:00
clientversion.h Bump project-wide COPYRIGHT_YEAR to 2015 2015-01-02 11:04:57 +01:00
coincontrol.h MOVEONLY: core/ -> primitives/ 2014-12-03 10:52:58 +00:00
coins.cpp Bugfix: only track UTXO modification after lookup 2015-01-07 13:11:54 +01:00
coins.h Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
compat.h Include missing config/bitcoin-config.h. 2014-11-26 08:19:07 +01:00
compressor.cpp boost: moveonly: split CPubKey and friends to new files 2014-10-31 01:19:37 -04:00
compressor.h MOVEONLY: core/ -> primitives/ 2014-12-03 10:52:58 +00:00
core_io.h Bugfix: prioritisetransaction: Do some basic sanity checking on txid 2014-12-31 10:53:26 +01:00
core_read.cpp Bugfix: prioritisetransaction: Do some basic sanity checking on txid 2014-12-31 10:53:26 +01:00
core_write.cpp Merge pull request #5207 2014-12-05 11:24:39 +01:00
crypter.cpp script: move CScriptID to standard.h and add a ctor for creating them from CScripts 2014-10-17 13:44:14 -04:00
crypter.h Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
db.cpp Apply clang-format on some infrequently-updated files 2014-09-19 19:21:46 +02:00
db.h Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
eccryptoverify.cpp minor code style cleanup after recent merges 2014-11-04 14:36:46 +01:00
eccryptoverify.h minor code style cleanup after recent merges 2014-11-04 14:36:46 +01:00
ecwrapper.cpp Improve robustness of DER recoding code 2015-01-12 09:12:12 +01:00
ecwrapper.h Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
hash.cpp Split up crypto/sha2 2014-11-20 17:22:02 +01:00
hash.h Split up crypto/sha2 2014-11-20 17:22:02 +01:00
init.cpp Add a -rpckeepalive and disable RPC use of HTTP persistent connections. 2015-01-15 09:38:24 +01:00
init.h Make comments in main an init doxygen compatible 2014-12-02 15:50:58 +08:00
key.cpp Merge pull request #5227 2014-12-01 14:57:58 +01:00
key.h Merge pull request #5227 2014-12-01 14:57:58 +01:00
keystore.cpp Update comments in keystore to be doxygen compatible 2014-10-28 12:06:59 +08:00
keystore.h boost: moveonly: split CPubKey and friends to new files 2014-10-31 01:19:37 -04:00
leveldbwrapper.cpp minor code style cleanup after recent merges 2014-11-04 14:36:46 +01:00
leveldbwrapper.h Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
limitedmap.h remove code below asserts in limitedmap.h (fixes a ToDo) 2014-09-22 09:35:40 +02:00
main.cpp Introduce 10 minute block download timeout 2015-01-12 11:28:23 +01:00
main.h remove max orphan blocks config parameter since it is no longer functional 2014-12-22 15:03:50 +01:00
Makefile.am Use EXTRA_LIBRARIES instead of noinst_LIBRARIES so we can avoid building unused code 2015-01-06 20:00:25 +00:00
Makefile.qt.include Use EXTRA_LIBRARIES instead of noinst_LIBRARIES so we can avoid building unused code 2015-01-06 20:00:25 +00:00
Makefile.qttest.include build: make a distinction between static app ldflags and static lib ldflags 2014-11-19 22:08:27 -05:00
Makefile.test.include tests: run sanity checks in tests too 2015-01-08 12:08:14 +01:00
merkleblock.cpp Move CMerkleBlock and CPartialMerkleTree to their own file 2014-12-05 01:57:40 -08:00
merkleblock.h Move CMerkleBlock and CPartialMerkleTree to their own file 2014-12-05 01:57:40 -08:00
miner.cpp MOVEONLY: core/ -> primitives/ 2014-12-03 10:52:58 +00:00
miner.h MOVEONLY: Move void UpdateTime() from pow.o to miner.o (plus fix include main.h -> chain.h) 2014-10-29 21:00:05 +01:00
mruset.h Apply clang-format on some infrequently-updated files 2014-09-19 19:21:46 +02:00
net.cpp Merge pull request #5408 2014-12-05 11:39:18 +01:00
net.h Limit the number of new addressses to accumulate 2014-12-04 13:19:16 +01:00
netbase.cpp Regard connection failures as attempt for addrman 2014-12-02 17:54:16 +01:00
netbase.h Regard connection failures as attempt for addrman 2014-12-02 17:54:16 +01:00
noui.cpp Add a SECURE style flag for ThreadSafeMessageBox, which indicates that the message contains sensitive information. This keeps the message from being output to the debug log by bitcoind. Fixes a possible security risk when starting bitcoind in server mode without the 'rpcpassword' option configured, resulting in the "suggested" password being output to the debug log. 2014-10-17 00:33:31 -07:00
noui.h add missing header end comments 2014-08-28 22:25:21 +02:00
pow.cpp MOVEONLY: core/ -> primitives/ 2014-12-03 10:52:58 +00:00
pow.h CBlockIndex::GetBlockWork() + GetProofIncrement(nBits) -> GetBlockProof(CBlockIndex) 2014-10-29 21:01:07 +01:00
protocol.cpp script: add a slew of includes all around and drop includes from script.h 2014-10-17 13:44:57 -04:00
protocol.h Fix all header defines 2014-11-03 16:16:40 +01:00
pubkey.cpp Split up crypto/sha2 2014-11-20 17:22:02 +01:00
pubkey.h minor code style cleanup after recent merges 2014-11-04 14:36:46 +01:00
random.cpp Make sure that GetRandomBytes never fails 2014-11-07 13:49:25 +01:00
random.h Fix typo in doxygen comment. 2014-11-25 08:18:33 +01:00
rest.cpp [REST] /rest/block response with full tx details 2014-12-09 16:05:50 +01:00
rpcblockchain.cpp [REST] JSON output: remove block infos from tx details if it is nested in block 2014-12-09 16:05:51 +01:00
rpcclient.cpp Update comments in src/rpc* to be doxygen compatible 2014-11-20 10:19:39 +08:00
rpcclient.h Update comments in src/rpc* to be doxygen compatible 2014-11-20 10:19:39 +08:00
rpcdump.cpp Add sanity check after key generation 2014-11-23 10:47:39 +01:00
rpcmining.cpp Bugfix: prioritisetransaction: Do some basic sanity checking on txid 2014-12-31 10:53:26 +01:00
rpcmisc.cpp Update comments in src/rpc* to be doxygen compatible 2014-11-20 10:19:39 +08:00
rpcnet.cpp Update comments in src/rpc* to be doxygen compatible 2014-11-20 10:19:39 +08:00
rpcprotocol.cpp Update comments in src/rpc* to be doxygen compatible 2014-11-20 10:19:39 +08:00
rpcprotocol.h [REST] give an appropriate response in warmup phase 2014-11-26 13:51:02 +01:00
rpcrawtransaction.cpp signrawtransaction: validate private key. 2014-12-12 11:56:28 +01:00
rpcserver.cpp Add a -rpckeepalive and disable RPC use of HTTP persistent connections. 2015-01-15 09:38:24 +01:00
rpcserver.h Add 'invalidateblock' and 'reconsiderblock' RPC commands. 2014-11-26 16:36:25 +01:00
rpcwallet.cpp Use RPC_INVALID_PARAMETER instead of RPC_WALLET_ERROR for invalid amount. 2014-12-05 17:22:06 +01:00
serialize.h Update serialize comments to be doxygen compatible 2014-10-31 13:07:05 +08:00
streams.h boost: split stream classes out of serialize.h 2014-10-22 15:21:06 -04:00
sync.cpp Apply clang-format on some infrequently-updated files 2014-09-19 19:21:46 +02:00
sync.h Apply clang-format on some infrequently-updated files 2014-09-19 19:21:46 +02:00
threadsafety.h Apply clang-format on some infrequently-updated files 2014-09-19 19:21:46 +02:00
timedata.cpp Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
timedata.h Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
tinyformat.h Move *Version() functions to version.h/cpp 2014-08-26 13:25:21 +02:00
txdb.cpp MOVEONLY: Separate CTransaction and dependencies from core 2014-10-27 13:54:37 +01:00
txdb.h Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
txmempool.cpp Apply AreSane() checks to the fees from the network. 2014-12-23 12:30:14 +01:00
txmempool.h Remove txn which are invalidated by coinbase maturity during reorg 2014-12-08 14:05:42 -08:00
ui_interface.h Add a SECURE style flag for ThreadSafeMessageBox, which indicates that the message contains sensitive information. This keeps the message from being output to the debug log by bitcoind. Fixes a possible security risk when starting bitcoind in server mode without the 'rpcpassword' option configured, resulting in the "suggested" password being output to the debug log. 2014-10-17 00:33:31 -07:00
uint256.cpp Apply clang-format on some infrequently-updated files 2014-09-19 19:21:46 +02:00
uint256.h Convert remaining comments in /src to doxygen format 2014-11-21 14:44:21 +01:00
undo.h MOVEONLY: core/ -> primitives/ 2014-12-03 10:52:58 +00:00
util.cpp Update comments in util to be doxygen compatible 2014-11-17 11:04:01 +08:00
util.h Squashed 'src/secp256k1/' changes from ad2028f..b0210a9 2014-12-04 19:17:07 +01:00
utilmoneystr.cpp MOVEONLY: core/ -> primitives/ 2014-12-03 10:52:58 +00:00
utilmoneystr.h Update comments in util to be doxygen compatible 2014-11-17 11:04:01 +08:00
utilstrencodings.cpp Format paragraphs properly - count the space between words. 2014-12-06 21:26:52 +01:00
utilstrencodings.h Update comments in util to be doxygen compatible 2014-11-17 11:04:01 +08:00
utiltime.cpp Update comments in util to be doxygen compatible 2014-11-17 11:04:01 +08:00
utiltime.h Update comments in util to be doxygen compatible 2014-11-17 11:04:01 +08:00
version.h Update comments in version to be doxygen compatible 2014-10-31 08:20:17 +08:00
wallet_ismine.cpp boost: moveonly: split CPubKey and friends to new files 2014-10-31 01:19:37 -04:00
wallet_ismine.h Fix all header defines 2014-11-03 16:16:40 +01:00
wallet.cpp Enforce minRelayTxFee on wallet created tx and add a maxtxfee option. 2014-12-23 12:12:40 +01:00
wallet.h Enforce minRelayTxFee on wallet created tx and add a maxtxfee option. 2014-12-23 12:12:40 +01:00
walletdb.cpp boost: drop dependency on tuple in serialization 2014-10-15 15:13:19 -04:00
walletdb.h [Wallet] Watch-only fixes 2014-10-03 04:29:51 +02:00