aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-10-27support: Add LockedPoolWladimir J. van der Laan
Add a pool for locked memory chunks, replacing LockedPageManager. This is something I've been wanting to do for a long time. The current approach of locking objects where they happen to be on the stack or heap in-place causes a lot of mlock/munlock system call overhead, slowing down any handling of keys. Also locked memory is a limited resource on many operating systems (and using a lot of it bogs down the system), so the previous approach of locking every page that may contain any key information (but also other information) is wasteful.
2016-10-26Return useful error message on ATMP failureinstagibbs
2016-10-26rpc: Remove invalid explanation from wallet fee messageWladimir J. van der Laan
2016-10-25Send tip change notification from invalidateblockRussell Yanofsky
This change is needed to prevent sync_blocks timeouts in the mempool_reorg test after the sync_blocks update in the upcoming commit "[qa] Change sync_blocks to pick smarter maxheight". This change was initially suggested by Suhas Daftuar <sdaftuar@chaincode.com> in https://github.com/bitcoin/bitcoin/pull/8680#r78209060
2016-10-25Explicitly pass const CChainParams& to LoadBlockIndexDB()Geoffrey Tsui
2016-10-25Merge #8515: A few mempool removal optimizationsWladimir J. van der Laan
0334430 Add some missing includes (Pieter Wuille) 4100499 Return shared_ptr<CTransaction> from mempool removes (Pieter Wuille) 51f2783 Make removed and conflicted arguments optional to remove (Pieter Wuille) f48211b Bypass removeRecursive in removeForReorg (Pieter Wuille)
2016-10-25Merge #9008: [net] Remove assert(nMaxInbound > 0)Wladimir J. van der Laan
fa1c3c2 [net] Remove assert(nMaxInbound > 0) (MarcoFalke)
2016-10-25Merge #9002: Make connect=0 disable automatic outbound connections.Wladimir J. van der Laan
515e264 Make connect=0 disable automatic outbound connections. (Gregory Maxwell)
2016-10-25Make connect=0 disable automatic outbound connections.Gregory Maxwell
Otherwise it just responds to this obvious bit of configuration by trying to connect to "0" in a loop.
2016-10-24[net] Remove assert(nMaxInbound > 0)MarcoFalke
nMaxInbound might very well be 0 or -1, if the user prefers to keep a small number of maxconnections. Note: nMaxInbound of -1 means that the user set maxconnections to 8 or less, but we still want to keep an additional slot for the feeler connection.
2016-10-24Qt: New network_disabled iconLuke Dashjr
2016-10-24RPC/Net: Use boolean consistently for networkactive, and remove from getinfoLuke Dashjr
2016-10-24Overhaul network activity toggleJonas Schnelli
- Rename RPC command "togglenetwork" to "setnetworkactive (true|false)" - Add simple test case - GUI toggle added to connections icon in statusbar
2016-10-24Qt: Add GUI feedback and control of network activity state.Jon Lund Steffensen
Add getNetworkActive()/setNetworkActive() method to client model. Send network active status through NotifyNetworkActiveChanged. Indicate in tool tip of gui status bar network indicator whether network activity is disabled. Indicate in debug window whether network activity is disabled and add button to allow user to toggle network activity state.
2016-10-24RPC: Add "togglenetwork" method to toggle network activity temporarilyJon Lund Steffensen
RPC command "togglenetwork" toggles network and returns new state after command. RPC command "getinfo" returns "networkactive" field in output.
2016-10-24Allow network activity to be temporarily suspended.Jon Lund Steffensen
Added the function SetNetworkActive() which when called with argument set to false disconnects all nodes and sets the flag fNetworkActive to false. As long as this flag is false no new connections are attempted and no incoming connections are accepted. Network activity is reenabled by calling the function with argument true.
2016-10-24Merge #8995: Add missing cs_main lock to ::GETBLOCKTXN processingWladimir J. van der Laan
dfe7906 Add missing cs_main lock to ::GETBLOCKTXN processing (Matt Corallo)
2016-10-21Add some missing includesPieter Wuille
2016-10-21Return shared_ptr<CTransaction> from mempool removesPieter Wuille
2016-10-21Make removed and conflicted arguments optional to removePieter Wuille
2016-10-21Bypass removeRecursive in removeForReorgPieter Wuille
2016-10-21Fix doxygen comment: the transaction is returned in txOutPavel Janík
2016-10-21Merge #8982: Eliminating Inconsistencies in Textual OutputMarcoFalke
3a286ab Eliminating Inconsistencies in Textual Output (S. Matthew English)
2016-10-21Add missing cs_main lock to ::GETBLOCKTXN processingMatt Corallo
Note that this is not a major issue as, in order for the missing lock to cause issues, you have to receive a GETBLOCKTXN message while reindexing, adding a block header via RPC, etc, which results in either a table rehash or an insert into the bucket which you are currently looking at.
2016-10-21Merge #8968: Don't hold cs_main when calling ProcessNewBlock from a cmpctblockWladimir J. van der Laan
72ca7d9 Don't hold cs_main when calling ProcessNewBlock from a cmpctblock (Matt Corallo)
2016-10-21Merge #8975: Chainparams: Trivial: In AppInit2(), s/Params()/chainparams/Wladimir J. van der Laan
6f2f639 Chainparams: Trivial: In AppInit2(), s/Params()/chainparams/ (Jorge Timón)
2016-10-21Merge #8990: moveonly: move `coincontrol` to `src/wallet`Wladimir J. van der Laan
1ae5839 moveonly: move `coincontrol` to `src/wallet` (Wladimir J. van der Laan)
2016-10-21Merge #8985: Use pindexBestHeader instead of setBlockIndexCandidates for ↵Jonas Schnelli
NotifyHeaderTip() 3154d6e [Qt] use NotifyHeaderTip's height and date for the progress update (Jonas Schnelli) 0a261b6 Use pindexBestHeader instead of setBlockIndexCandidates for NotifyHeaderTip() (Jonas Schnelli)
2016-10-21moveonly: move `coincontrol` to `src/wallet`Wladimir J. van der Laan
2016-10-20libconsensus: Add input validation of flagsWladimir J. van der Laan
Makes it an error to use flags that have not been defined on the libconsensus API. There has been some confusion as to what pass to libconsensus, and (combined with mention in the release notes) this should clear it up. Using undocumented flags is a risk because their meaning, and what combinations are allowed, changes from release to release. E.g. it is no longer possible to pass (CLEANSTACK | P2SH) without running into an assertion after the segwit changes.
2016-10-20[Qt] use NotifyHeaderTip's height and date for the progress updateJonas Schnelli
2016-10-20Use pindexBestHeader instead of setBlockIndexCandidates for NotifyHeaderTip()Jonas Schnelli
2016-10-20Eliminating Inconsistencies in Textual OutputS. Matthew English
There were discrepancies between usage of "block chain" and "blockchain", I've changed them to the latter. The reason for this was that Wikipedia when describing this data structure writes "A blockchain — *originally block chain*", so it seemed the more appropriate term.
2016-10-20Do not shadow local variablePavel Janík
2016-10-20RPC: importmulti: Avoid using boost::variant::operator!=, which is only in ↵Luke Dashjr
newer boost versions
2016-10-20[Wallet] Refactor wallet/init interaction (Reaccept wtx, flush thread)Jonas Schnelli
2016-10-20Merge #7551: Add importmulti RPC callWladimir J. van der Laan
215caba Add consistency check to RPC call importmulti (Pedro Branco) cb08fdb Add importmulti rpc call (Pedro Branco)
2016-10-19Chainparams: Trivial: In AppInit2(), s/Params()/chainparams/Jorge Timón
2016-10-19Merge #8928: Fix init segfault where InitLoadWallet() calls ATMP before genesisWladimir J. van der Laan
37aefff Fix init segfault where InitLoadWallet() calls ATMP before genesis (Matt Corallo)
2016-10-19Merge #8927: Add script tests for FindAndDelete in pre-segwit and segwit scriptsWladimir J. van der Laan
acf853d Add script tests for FindAndDelete in pre-segwit and segwit scripts (Johnson Lau)
2016-10-19Merge #8774: Qt refactors to better abstract wallet accessJonas Schnelli
178cd88 Qt/splash: Specifically keep track of which wallet(s) we are connected to for later disconnecting (Luke Dashjr) 1880aeb Qt: Get the private key for signing messages via WalletModel (Luke Dashjr)
2016-10-19Merge #7948: RPC: augment getblockchaininfo bip9_softforks dataWladimir J. van der Laan
fc14609 RPC: augment getblockchaininfo bip9_softforks data (mruddy)
2016-10-19Add consistency check to RPC call importmultiPedro Branco
2016-10-19wallet: Get rid of LockObject and UnlockObject calls in key.hWladimir J. van der Laan
Replace these with vectors allocated from the secure allocator. This avoids mlock syscall churn on stack pages, as well as makes it possible to get rid of these functions. Please review this commit and the previous one carefully that no `sizeof(vectortype)` remains in the memcpys and memcmps usage (ick!), and `.data()` or `&vec[x]` is used as appropriate instead of &vec.
2016-10-19wallet: Change CCrypter to use vectors with secure allocatorWladimir J. van der Laan
Change CCrypter to use vectors with secure allocator instead of buffers on in the object itself which will end up on the stack. This avoids having to call LockedPageManager to lock stack memory pages to prevent the memory from being swapped to disk. This is wasteful.
2016-10-19Add importmulti rpc callPedro Branco
2016-10-19RPC: augment getblockchaininfo bip9_softforks datamruddy
2016-10-19[RPC] pass HTTP basic authentication username to the JSONRequest objectJonas Schnelli
2016-10-19[RPC] Give RPC commands more information about the RPC requestJonas Schnelli
2016-10-19rpc: Change JSONRPCRequest to JSONRPCRequestObjWladimir J. van der Laan
This is more consistent with `JSONRPCReplyObj`.