aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-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`.
2016-10-19Merge #8972: [Qt] make warnings label selectable (jonasschnelli)Wladimir J. van der Laan
ef0c9ee [Qt] make warnings label selectable (Jonas Schnelli)
2016-10-19Merge #8951: RPC/Mining: getblocktemplate: Update and fix formatting of helpWladimir J. van der Laan
59daa58 RPC/Mining: getblocktemplate: Update and fix formatting of help (Luke Dashjr)
2016-10-19[Qt] make warnings label selectableJonas Schnelli
2016-10-19RPC/Mining: getblocktemplate: Update and fix formatting of helpLuke Dashjr
2016-10-19Merge #8949: Be more agressive in getting connections to peers with relevant ↵Wladimir J. van der Laan
services. 4630479 Make dnsseed's definition of acute need include relevant services. (Gregory Maxwell) 9583477 Be more aggressive in connecting to peers with relevant services. (Gregory Maxwell)
2016-10-19Merge #8936: Report NodeId in misbehaving debugWladimir J. van der Laan
a1919ad Report NodeId in misbehaving debug (R E Broadley)
2016-10-19Make dnsseed's definition of acute need include relevant services.Gregory Maxwell
We normally prefer to connect to peers offering the relevant services. If we're not connected to enough peers with relevant services, we probably don't know about them and could use dnsseed's help.
2016-10-18Merge #8865: Decouple peer-processing-logic from block-connection-logicWladimir J. van der Laan
a9aec5c Use BlockChecked signal to send reject messages from mapBlockSource (Matt Corallo) 7565e03 Remove SyncWithWallets wrapper function (Matt Corallo) 12ee1fe Always call UpdatedBlockTip, even if blocks were only disconnected (Matt Corallo) f5efa28 Remove CConnman parameter from ProcessNewBlock/ActivateBestChain (Matt Corallo) fef1010 Use CValidationInterface from chain logic to notify peer logic (Matt Corallo) aefcb7b Move net-processing logic definitions together in main.h (Matt Corallo) 0278fb5 Remove duplicate nBlocksEstimate cmp (we already checked IsIBD()) (Matt Corallo) 87e7d72 Make validationinterface.UpdatedBlockTip more verbose (Matt Corallo)
2016-10-18Merge #8873: Add microbenchmarks to profile more code paths.Wladimir J. van der Laan
18dacf9 Add microbenchmarks to profile more code paths. (Russell Yanofsky)
2016-10-18Add microbenchmarks to profile more code paths.Russell Yanofsky
The new benchmarks exercise script validation, CCoinsDBView caching, mempool eviction, and wallet coin selection code. All of the benchmarks added here are extremely simple and don't necessarily mirror common real world conditions or interesting performance edge cases. Details about how specific benchmarks can be improved are noted in comments. Github-Issue: #7883
2016-10-18Merge #6996: Add preciousblock RPCWladimir J. van der Laan
5805ac8 Add preciousblock tests (Pieter Wuille) 5127c4f Add preciousblock RPC (Pieter Wuille)
2016-10-18Merge #8637: Compact Block Tweaks (rebase of #8235)Wladimir J. van der Laan
3ac6de0 Align constant names for maximum compact block / blocktxn depth (Pieter Wuille) b2e93a3 Add cmpctblock to debug help list (instagibbs) fe998e9 More agressively filter compact block requests (Matt Corallo) 02a337d Dont remove a "preferred" cmpctblock peer if they provide a block (Matt Corallo)
2016-10-18Merge #8223: [c++11] Use std::unique_ptr for block creation.Wladimir J. van der Laan
9fce062 [c++11] Use std::unique_ptr for block creation. (Daniel Kraft)
2016-10-18Merge #8287: [wallet] Set fLimitFree = trueWladimir J. van der Laan
fa8b02d [rpc] rawtx: Prepare fLimitFree to make it an option (MarcoFalke) fa28bfa [wallet] Set fLimitFree = true (MarcoFalke)
2016-10-18Merge #8914: Kill insecure_random and associated global stateWladimir J. van der Laan
5eaaa83 Kill insecure_random and associated global state (Wladimir J. van der Laan)
2016-10-18Merge #8925: qt: Display minimum ping in debug window.Wladimir J. van der Laan
1724a40 Display minimum ping in debug window. (R E Broadley)
2016-10-18Merge #8845: Don't return the address of a P2SH of a P2SHWladimir J. van der Laan
d51f182 Don't return the address of a P2SH of a P2SH. (jnewbery)
2016-10-18Merge #8921: RPC: Chainparams: Remove ↵Wladimir J. van der Laan
Chainparams::fTestnetToBeDeprecatedFieldRPC b26a7b5 RPC: Chainparams: Remove Chainparams::fTestnetToBeDeprecatedFieldRPC (Jorge Timón)
2016-10-18RPC: Chainparams: Remove Chainparams::fTestnetToBeDeprecatedFieldRPCJorge Timón
2016-10-18Merge #8932: Allow bitcoin-tx to create v2 transactionsWladimir J. van der Laan
b0aea80 Sync bitcoin-tx with tx version policy (BtcDrak)
2016-10-18Merge #8944: Remove bogus assert on number of oubound connections.Wladimir J. van der Laan
1ab21cf Remove bogus assert on number of oubound connections. (Matt Corallo)
2016-10-18Merge #8918: Qt: Add "Copy URI" to payment request context menuWladimir J. van der Laan
21f5a63 Qt: Add "Copy URI" to payment request context menu (Luke Dashjr)
2016-10-18Report NodeId in misbehaving debugR E Broadley
2016-10-17Be more aggressive in connecting to peers with relevant services.Gregory Maxwell
Only allow skipping relevant services until there are four outbound connections up. This avoids quickly filling up with peers lacking the relevant services when addrman has few or none of them.
2016-10-17Remove bogus assert on number of oubound connections.Matt Corallo
This value can be significantly higher if the users uses addnode
2016-10-17My DNS seed supports filteringChristian Decker
Currently supports filtering by any combination of the 4 least significant bits.
2016-10-17Add x9 service bit support to dnsseed.bluematt.meMatt Corallo
2016-10-17Comment that most dnsseeds only support some service bits combosMatt Corallo
2016-10-17Merge #8937: Define start and end time for segwit deploymentWladimir J. van der Laan
f9c23de Define start and end time for segwit deployment (Pieter Wuille)
2016-10-17Align constant names for maximum compact block / blocktxn depthPieter Wuille
2016-10-17Add cmpctblock to debug help listinstagibbs
2016-10-17More agressively filter compact block requestsMatt Corallo
Unit test adaptations by Pieter Wuille.
2016-10-17Dont remove a "preferred" cmpctblock peer if they provide a blockMatt Corallo
2016-10-17Define start and end time for segwit deploymentPieter Wuille
2016-10-17Merge #8499: Add several policy limits and disable uncompressed keys for ↵Wladimir J. van der Laan
segwit scripts 67d6ee1 remove redundant tests in p2p-segwit.py (Johnson Lau) 9260085 test segwit uncompressed key fixes (Johnson Lau) 248f3a7 Fix ismine and addwitnessaddress: no uncompressed keys in segwit (Pieter Wuille) b811124 [qa] Add tests for uncompressed pubkeys in segwit (Suhas Daftuar) 9f0397a Make test framework produce lowS signatures (Johnson Lau) 4c0c25a Require compressed keys in segwit as policy and disable signing with uncompressed keys for segwit scripts (Johnson Lau) 3ade2f6 Add standard limits for P2WSH with tests (Johnson Lau)
2016-10-17Kill insecure_random and associated global stateWladimir J. van der Laan
There are only a few uses of `insecure_random` outside the tests. This PR replaces uses of insecure_random (and its accompanying global state) in the core code with an FastRandomContext that is automatically seeded on creation. This is meant to be used for inner loops. The FastRandomContext can be in the outer scope, or the class itself, then rand32() is used inside the loop. Useful e.g. for pushing addresses in CNode or the fee rounding, or randomization for coin selection. As a context is created per purpose, thus it gets rid of cross-thread unprotected shared usage of a single set of globals, this should also get rid of the potential race conditions. - I'd say TxMempool::check is not called enough to warrant using a special fast random context, this is switched to GetRand() (open for discussion...) - The use of `insecure_rand` in ConnectThroughProxy has been replaced by an atomic integer counter. The only goal here is to have a different credentials pair for each connection to go on a different Tor circuit, it does not need to be random nor unpredictable. - To avoid having a FastRandomContext on every CNode, the context is passed into PushAddress as appropriate. There remains an insecure_random for test usage in `test_random.h`.
2016-10-16Sync bitcoin-tx with tx version policyBtcDrak
2016-10-17test segwit uncompressed key fixesJohnson Lau
2016-10-17Fix ismine and addwitnessaddress: no uncompressed keys in segwitPieter Wuille
2016-10-16Require compressed keys in segwit as policy and disable signing with ↵Johnson Lau
uncompressed keys for segwit scripts
2016-10-16Add standard limits for P2WSH with testsJohnson Lau
2016-10-15Display minimum ping in debug window.R E Broadley
2016-10-15Merge #8880: protocol.h: Move MESSAGE_START_SIZE into CMessageHeaderWladimir J. van der Laan
1df3111 protocol.h: Make enums in GetDataMsg concrete values (Wladimir J. van der Laan) 2c09a52 protocol.h: Move MESSAGE_START_SIZE into CMessageHeader (Wladimir J. van der Laan) f9bd92d version.h: s/shord/short/ in comment (Wladimir J. van der Laan)
2016-10-15Merge #8906: [qt] sync-overlay: Don't show progress twiceWladimir J. van der Laan
fafeec3 [qt] sync-overlay: Don't show progress twice (MarcoFalke)
2016-10-13Qt: Add "Copy URI" to payment request context menuLuke Dashjr