aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-13Merge #8911: qt: Translate all files, even if wallet disabledWladimir J. van der Laan
8aed5f6 qt: Translate all files, even if wallet disabled (Wladimir J. van der Laan)
2016-10-13Merge #8892: doc: Add build instructions for FreeBSDWladimir J. van der Laan
3f92bc9 doc: Add build instructions for FreeBSD (Wladimir J. van der Laan)
2016-10-13doc: Add build instructions for FreeBSDWladimir J. van der Laan
2016-10-11qt: Translate all files, even if wallet disabledWladimir J. van der Laan
This passes all QT cpp files to the lupdate executable which extracts translations, no matter what conditional functionality is enabled.
2016-10-11Merge #8882: [qa] Fix race conditions in p2p-compactblocks.py and sendheaders.pyMarcoFalke
b55d941 [qa] Fix race condition in sendheaders.py (Suhas Daftuar) 6976db2 [qa] Another attempt to fix race condition in p2p-compactblocks.py (Suhas Daftuar)
2016-10-10Merge #8821: [qt] sync-overlay: Don't block during reindexJonas Schnelli
fa85e86 [qt] sync-overlay: Don't show estimated number of headers left (MarcoFalke) faa4de2 [qt] sync-overlay: Don't block during reindex (MarcoFalke)
2016-10-10Merge #8393: Support for compact blocks together with segwitPieter Wuille
27acfc1 [qa] Update p2p-compactblocks.py for compactblocks v2 (Suhas Daftuar) 422fac6 [qa] Add support for compactblocks v2 to mininode (Suhas Daftuar) f5b9b8f [qa] Fix bug in mininode witness deserialization (Suhas Daftuar) 6aa28ab Use cmpctblock type 2 for segwit-enabled transfer (Pieter Wuille) be7555f Fix overly-prescriptive p2p-segwit test for new fetch logic (Matt Corallo) 06128da Make GetFetchFlags always request witness objects from witness peers (Matt Corallo)
2016-10-08Merge #8891: [Doc] Update bips.md for Segregated WitnessMarcoFalke
ef28d8a [Doc] Update bips.md for Segregated Witness (fanquake)
2016-10-08Merge #8881: Add some verbose logging to bitcoin-util-test.pyMarcoFalke
621441a add verbose mode to bitcoin-util-test.py (jnewbery)
2016-10-08Merge #8896: Update INSTALL landing redirection notice for build instructions.MarcoFalke
2920be2 Update INSTALL landing redirection notice for build instructions. (randy-waterhouse)
2016-10-08Merge #8885: gui: fix ban from qt consoleJonas Schnelli
cb78c60 gui: fix ban from qt console (Cory Fields)
2016-10-06[qa] Fix race condition in sendheaders.pySuhas Daftuar
Also de-duplicates code that has been moved to mininode
2016-10-06Merge #8887: [Doc] Improve GitHub issue templateMarcoFalke
7d8afb4 [Doc] Improve GitHub issue template (fanquake)
2016-10-06[Doc] Update bips.md for Segregated Witnessfanquake
2016-10-06[Doc] Improve GitHub issue templatefanquake
2016-10-06Update INSTALL landing redirection notice for build instructions.randy-waterhouse
2016-10-05add verbose mode to bitcoin-util-test.pyjnewbery
2016-10-05Merge #8884: Bugfix: Trivial: RPC: getblockchaininfo help: pruneheight is ↵Wladimir J. van der Laan
the lowest, not highest, block a78e542 Bugfix: Trivial: RPC: getblockchaininfo help: pruneheight is the lowest, not highest, block (Luke Dashjr)
2016-10-05Merge #8879: [doc] Rework docsWladimir J. van der Laan
eeeebdd [doc] Rework docs (MarcoFalke)
2016-10-04gui: fix ban from qt consoleCory Fields
Rather than doing a circle and re-resolving the node's IP, just use the one from nodestats directly. This requires syncing the addr field from CNode.
2016-10-04Bugfix: Trivial: RPC: getblockchaininfo help: pruneheight is the lowest, not ↵Luke Dashjr
highest, block
2016-10-04[qa] Another attempt to fix race condition in p2p-compactblocks.pySuhas Daftuar
sync_with_ping() only guarantees that the node has processed messages it's received from the peer, not that block announcements from the node have made it back to the peer. Replace sync_with_ping() with an explicit check that the node's tip has been announced.
2016-10-04[qa] Update p2p-compactblocks.py for compactblocks v2Suhas Daftuar
2016-10-04[qa] Add support for compactblocks v2 to mininodeSuhas Daftuar
2016-10-04[qa] Fix bug in mininode witness deserializationSuhas Daftuar
Also improve tx printing
2016-10-04Use cmpctblock type 2 for segwit-enabled transferPieter Wuille
Contains version negotiation logic by Matt Corallo and bugfixes by Suhas Daftuar.
2016-10-04Fix overly-prescriptive p2p-segwit test for new fetch logicMatt Corallo
2016-10-04Make GetFetchFlags always request witness objects from witness peersMatt Corallo
This fixes a bug where we might (in exceedingly rare circumstances) accidentally ban a node for sending us the first (potentially few) segwit blocks in non-segwit mode.
2016-10-04[doc] Rework docsMarcoFalke
* Minor formatting such as adjusting links * Move sections of `doc/multiwallet-qt.md` to the source code and delete the file, as it is outdated * Fix typo in the release notes * Amend release process to mention update of BLOCK_CHAIN_SIZE
2016-10-04Merge #8848: Add NULLDUMMY verify flag in bitcoinconsensus.hWladimir J. van der Laan
2fa0063 Add NULLDUMMY verify flag in bitcoinconsensus.h (Johnson Lau)
2016-10-04Merge #8862: Fix a few cases where messages were sent after requested disconnectWladimir J. van der Laan
905bc68 net: fix a few cases where messages were sent rather than dropped upon disconnection (Cory Fields)
2016-10-04Merge #8850: Implement (begin|end)_ptr in C++11 and add deprecation commentWladimir J. van der Laan
f00705a serialize: Deprecate `begin_ptr` / `end_ptr` (Wladimir J. van der Laan) 47314e6 prevector: add C++11-like data() method (Wladimir J. van der Laan)
2016-10-03Merge #8856: Globals: Decouple GetConfigFile and ReadConfigFile from global ↵Wladimir J. van der Laan
mapArgs 3450c18 Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs (Jorge Timón)
2016-10-03Merge #8860: [qa] util: Move wait_bitcoinds() into stop_nodes()MarcoFalke
fa7c35c [qa] util: Move wait_bitcoinds() into stop_nodes() (MarcoFalke)
2016-10-03Merge #8863: univalue: Pull subtreeWladimir J. van der Laan
2ca7faa Squashed 'src/univalue/' changes from daf1285..16a1f7f (MarcoFalke)
2016-10-03Merge #8858: rpc: Generate auth cookie in hex instead of base64Wladimir J. van der Laan
1c80386 rpc: Generate auth cookie in hex instead of base64 (Wladimir J. van der Laan)
2016-10-02Merge #8857: [qa] mininode: Only allow named args in wait_untilMarcoFalke
fa66609 [qa] mininode: Only allow named args in wait_until (MarcoFalke)
2016-10-02[qa] mininode: Only allow named args in wait_untilMarcoFalke
2016-10-02[qa] util: Move wait_bitcoinds() into stop_nodes()MarcoFalke
2016-10-02serialize: Deprecate `begin_ptr` / `end_ptr`Wladimir J. van der Laan
Implement `begin_ptr` and `end_ptr` in terms of C++11 code, and add a comment that they are deprecated. Follow-up to developer notes update in 654a21162252294b7dbd6c982fec88008af7335e.
2016-10-01net: fix a few cases where messages were sent rather than dropped upon ↵Cory Fields
disconnection 75ead758 turned these into crashes in the event of a handshake failure, most notably when a peer does not offer the expected services. There are likely other cases that these assertions will find as well.
2016-10-01rpc: Generate auth cookie in hex instead of base64Wladimir J. van der Laan
Base64 contains '/', and the '/' character in credentials is problematic for AuthServiceProxy which represents the RPC endpoint as an URI with user and password embedded. Closes #8399.
2016-10-01Merge #8854: [qa] Fix race condition in p2p-compactblocks testMarcoFalke
b5fd666 [qa] Fix race condition in p2p-compactblocks test (Suhas Daftuar)
2016-10-01Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgsJorge Timón
2016-09-30[qa] Fix race condition in p2p-compactblocks testSuhas Daftuar
Also fix a bug in the sync_with_ping() helper function
2016-09-30Merge #8852: Mention Gitian building script in doc (Laudaa)Wladimir J. van der Laan
203e2dd Mention Gitian building script in doc. (Lauda)
2016-09-30Mention Gitian building script in doc.Lauda
2016-09-30Merge commit '2ca7faab4205822b06dc2ab2bbda0a9a70fce7e0' into HEADMarcoFalke
2016-09-30Squashed 'src/univalue/' changes from daf1285..16a1f7fMarcoFalke
16a1f7f Merge #3: Pull upstream 3f03bfd Merge pull request #27 from laanwj/2016_09_const_refs 5668ca3 Return const references from getKeys, getValues, get_str cedda14 Merge pull request #28 from MarcoFalke/patch-1 9f0b997 [travis] Work around osx libtool issue git-subtree-dir: src/univalue git-subtree-split: 16a1f7f6e9ed932bec7c7855003affea1e165fb5