aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-09-30Merge pull request #6680Wladimir J. van der Laan
d76a8ac use CBlockIndex* insted of uint256 for UpdatedBlockTip signal (Jonas Schnelli)
2015-09-30Merge pull request #6713Wladimir J. van der Laan
43edd51 SanitizeString: Allow hypen char (MarcoFalke)
2015-09-29Merge pull request #6730Wladimir J. van der Laan
a5b78c2 build: Remove dependency of bitcoin-cli on secp256k1 (Wladimir J. van der Laan)
2015-09-29qt: periodic translations updateWladimir J. van der Laan
2015-09-29Merge pull request #6728Wladimir J. van der Laan
9fea833 timedata: Prevent warning overkill (Wladimir J. van der Laan)
2015-09-28http: Force-exit event loop after predefined timeWladimir J. van der Laan
This makes sure that the event loop eventually terminates, even if an event (like an open timeout, or a hanging connection) happens to be holding it up.
2015-09-28http: Wait for worker threads to exitWladimir J. van der Laan
Add a WaitExit() call to http's WorkQueue to make it delete the work queue only when all worker threads stopped. This fixes a problem that was reproducable by pressing Ctrl-C during AppInit2: ``` /usr/include/boost/thread/pthread/condition_variable_fwd.hpp:81: boost::condition_variable::~condition_variable(): Assertion `!ret' failed. /usr/include/boost/thread/pthread/mutex.hpp:108: boost::mutex::~mutex(): Assertion `!posix::pthread_mutex_destroy(&m)' failed. ``` I was assuming that `threadGroup->join_all();` would always have been called when entering the Shutdown(). However this is not the case in bitcoind's AppInit2-non-zero-exit case "was left out intentionally here".
2015-09-28Make HTTP server shutdown more gracefulWladimir J. van der Laan
Shutting down the HTTP server currently breaks off all current requests. This can create a race condition with RPC `stop` command, where the calling process never receives confirmation. This change removes the listening sockets on shutdown so that no new requests can come in, but no longer breaks off requests in progress. Meant to fix #6717.
2015-09-28build: Remove dependency of bitcoin-cli on secp256k1Wladimir J. van der Laan
bitcoin-cli (in contrast to bitcoin-tx, which does signing ops) shouldn't need secp256k1, and indeed it doesn't.
2015-09-27timedata: Prevent warning overkillWladimir J. van der Laan
The "please check your computer's data and time" message when the clock deviates from the network currently generates an overkill of messages: orion@lethe:~/bitcoin$ src/bitcoind Warning: Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. In the log: 2015-09-27 16:24:13 *** Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. 2015-09-27 16:24:13 Warning: Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. Remove one level of 'Warning:' and reduce to one log message.
2015-09-25Merge pull request #5264Wladimir J. van der Laan
af3208b Resolve issue 3166. These changes decode valid SIGHASH types on signatures in assembly (asm) representations of scriptSig scripts. This squashed commit incorporates substantial helpful feedback from jtimon, laanwj, and sipa. (mruddy)
2015-09-24Merge pull request #6664Wladimir J. van der Laan
51ff777 [trivial] Fix rpc message "help generate" (MarcoFalke) 4c3cab1 [trivial] init cleanup (MarcoFalke)
2015-09-24Merge pull request #6715Wladimir J. van der Laan
60de0d5 Fix mempool package tracking edge case (Suhas Daftuar) 598b25d Add test showing bug in mempool packages (Suhas Daftuar)
2015-09-23Fix mempool package tracking edge caseSuhas Daftuar
CalculateMemPoolAncestors was always looping over a transaction's inputs to find in-mempool parents. When adding a new transaction, this is the correct behavior, but when removing a transaction, we want to use the ancestor set that would be calculated by walking mapLinks (which should in general be the same set, except during a reorg when the mempool is in an inconsistent state, and the mapLinks-based calculation would be the correct one).
2015-09-23Merge pull request #6550Wladimir J. van der Laan
3b33ec8 Avoid duplicate CheckBlock checks (Pieter Wuille) 391dff1 Do not store Merkle branches in the wallet. (Pieter Wuille)
2015-09-23Merge pull request #6653Wladimir J. van der Laan
4dee609 Rename rpcconsole.ui => debugwindow.ui (MarcoFalke) 0d0a2d6 [Qt] Raise debug window when requested (MarcoFalke)
2015-09-23Merge pull request #6645Wladimir J. van der Laan
77c6072 Enable wallet key imports without rescan in pruned mode. (Gregory Maxwell)
2015-09-23Merge pull request #6688Wladimir J. van der Laan
131c23d Fix locking in GetTransaction. (Alex Morcos)
2015-09-23Merge pull request #6148Wladimir J. van der Laan
ae6f957 Enable block relay when pruning (Suhas Daftuar) 0da6ae2 Do not inv old or missing blocks when pruning (Suhas Daftuar)
2015-09-23SanitizeString: Allow hypen charMarcoFalke
2015-09-23Merge pull request #6646Wladimir J. van der Laan
6ecaec3 [Trivial] [logging] Rm extraneous cleansubver in serveral debug messages. (Gregory Maxwell)
2015-09-23Rename rpcconsole.ui => debugwindow.uiMarcoFalke
2015-09-23[Qt] Raise debug window when requestedMarcoFalke
* Raise the debug window when hidden behind other windows * Switch to the debug window when on another virtual desktop * Show the debug window when minimized This change is a conceptual copy of 5ffaaba and 382e9e2
2015-09-22Avoid duplicate CheckBlock checksPieter Wuille
2015-09-22Do not store Merkle branches in the wallet.Pieter Wuille
Assume that when a wallet transaction has a valid block hash and transaction position in it, the transaction is actually there. We're already trusting wallet data in a much more fundamental way anyway. To prevent backward compatibility issues, a new record is used for storing the block locator in the wallet. Old wallets will see a wallet file synchronized up to the genesis block, and rescan automatically.
2015-09-22Merge pull request #6315Wladimir J. van der Laan
7aac6db [QT] dump banlist to disk in case of ban/unban over QT (Jonas Schnelli) 7f90ea7 [QA] adabt QT_NO_KEYWORDS for QT ban implementation (Jonas Schnelli) 07f70b2 [QA] fix netbase tests because of new CSubNet::ToString() output (Jonas Schnelli) 4ed0510 [Qt] call DumpBanlist() when baning unbaning nodes (Philip Kaufmann) be89292 [Qt] reenabling hotkeys for ban context menu, use different words (Jonas Schnelli) b1189cf [Qt] adapt QT ban option to banlist.dat changes (Jonas Schnelli) 65abe91 [Qt] add sorting for bantable (Philip Kaufmann) 51654de [Qt] bantable polish (Philip Kaufmann) cdd72cd [Qt] simplify ban list signal handling (Philip Kaufmann) 43c1f5b [Qt] remove unused timer-code from banlistmodel.cpp (Jonas Schnelli) e2b8028 net: Fix CIDR notation in ToString() (Wladimir J. van der Laan) 9e521c1 [Qt] polish ban table (Philip Kaufmann) 607809f net: use CIDR notation in CSubNet::ToString() (Jonas Schnelli) 53caec6 [Qt] bantable overhaul (Jonas Schnelli) f0bcbc4 [Qt] bantable fix timestamp 64bit issue (Jonas Schnelli) 6135309 [Qt] banlist, UI optimizing and better signal handling (Jonas Schnelli) 770ca79 [Qt] add context menu with unban option to ban table (Jonas Schnelli) 5f42132 [Qt] add ui signal for banlist changes (Jonas Schnelli) ad204df [Qt] add banlist table below peers table (Jonas Schnelli) 50f0908 [Qt] add ban functions to peers window (Jonas Schnelli)
2015-09-22Merge pull request #6647Wladimir J. van der Laan
1c1b1b3 [uacomment] Sanitize per BIP-0014 (MarcoFalke)
2015-09-22Merge pull request #6694Wladimir J. van der Laan
24cb7c7 [QT] fix thin space word wrap line brake issue (Jonas Schnelli)
2015-09-22Fix spelling of QtDiego Viola
2015-09-21Merge pull request #6668Wladimir J. van der Laan
9b1cdd7 [trivial] Remove obsolete pixmaps (MarcoFalke) d1acf93 [qt] [trivial] share/qt/make_spinner.py => src/qt/res/movies/makespinner.sh (MarcoFalke)
2015-09-21Merge pull request #6695Wladimir J. van der Laan
ddf98d1 Make RPC tests cope with server-side timeout between requests (Wladimir J. van der Laan) 2190ea6 rpc: Split option -rpctimeout into -rpcservertimeout and -rpcclienttimeout (Wladimir J. van der Laan) 8b2d6ed http: Disable libevent debug logging, if not explicitly enabled (Wladimir J. van der Laan) 5ce43da init: Ignore SIGPIPE (Wladimir J. van der Laan)
2015-09-21rpc: Split option -rpctimeout into -rpcservertimeout and -rpcclienttimeoutWladimir J. van der Laan
The two timeouts for the server and client, are essentially different: - In the case of the server it should be a lower value to avoid clients clogging up connection slots - In the case of the client it should be a high value to accomedate slow responses from the server, for example for slow queries or when the lock is contended Split the options into `-rpcservertimeout` and `-rpcclienttimeout` with respective defaults of 30 and 900.
2015-09-21http: Disable libevent debug logging, if not explicitly enabledWladimir J. van der Laan
Add a option "-debug=libevent" to enable libevent debugging for troubleshooting. Libevent logging is redirected to our own log.
2015-09-20[QT] dump banlist to disk in case of ban/unban over QTJonas Schnelli
2015-09-19Track transaction packages in CTxMemPoolEntrySuhas Daftuar
Associate with each CTxMemPoolEntry all the size/fees of descendant mempool transactions. Sort mempool by max(feerate of entry, feerate of descendants). Update statistics on-the-fly as transactions enter or leave the mempool. Also add ancestor and descendant limiting, so that transactions can be rejected if the number or size of unconfirmed ancestors exceeds a target, or if adding a transaction would cause some other mempool entry to have too many (or too large) a set of unconfirmed in- mempool descendants.
2015-09-19TxMemPool: Change mapTx to a boost::multi_index_containerAshley Holman
Indexes on: - Tx Hash - Fee Rate (fee-per-kb)
2015-09-18init: Ignore SIGPIPEWladimir J. van der Laan
Ignore SIGPIPE on all non-win32 OSes, otherwise an unexpectedly disconnecting RPC client will terminate the application. This problem was introduced with the libhttp-based RPC server. Fixes #6660.
2015-09-18[QT] fix thin space word wrap line brake issueJonas Schnelli
The thin space QT html hack results in cut-off chars/nums after a line break. Avoid word wrap line breaks by using a smaller font and a line break before each alternative value)
2015-09-17Fix locking in GetTransaction.Alex Morcos
GetTransaction needs to lock cs_main until ReadBlockFromDisk completes, the data inside CBlockIndex's can change since pruning. This lock was held by all calls to GetTransaction except rest_tx.
2015-09-16use CBlockIndex* insted of uint256 for UpdatedBlockTip signalJonas Schnelli
- removes mapBlockIndex find operation - theoretically allows removing the cs_main lock during zqm notification while introducing a new file position lock
2015-09-16[QA] adabt QT_NO_KEYWORDS for QT ban implementationJonas Schnelli
2015-09-16[QA] fix netbase tests because of new CSubNet::ToString() outputJonas Schnelli
2015-09-16[Qt] call DumpBanlist() when baning unbaning nodesPhilip Kaufmann
- this matches RPC call behaviour
2015-09-16[Qt] reenabling hotkeys for ban context menu, use different wordsJonas Schnelli
- 1 (h)our - 1 (d)ay - 1 (w)eek - 1 (y)ear
2015-09-16[Qt] adapt QT ban option to banlist.dat changesJonas Schnelli
2015-09-16[Qt] add sorting for bantablePhilip Kaufmann
2015-09-16[Qt] bantable polishPhilip Kaufmann
- add missing NULL pointer checks - add better comments and reorder some code in rpcconsole.cpp - remove unneeded leftovers in bantable.cpp - update bantable column sizes to prevent cutting of banned until
2015-09-16[Qt] simplify ban list signal handlingPhilip Kaufmann
- remove banListChanged signal from client model - directly call clientModel->getBanTableModel()->refresh() without the way over clientModel->updateBanlist() - also fix clearing peer detail window, when selecting (clicking) peers in the ban list
2015-09-16[Qt] remove unused timer-code from banlistmodel.cppJonas Schnelli
2015-09-16net: Fix CIDR notation in ToString()Wladimir J. van der Laan
Only use CIDR notation if the netmask can be represented as such.