Age | Commit message (Collapse) | Author |
|
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`.
|
|
8aed5f6 qt: Translate all files, even if wallet disabled (Wladimir J. van der Laan)
|
|
3f92bc9 doc: Add build instructions for FreeBSD (Wladimir J. van der Laan)
|
|
|
|
This passes all QT cpp files to the lupdate executable which extracts
translations, no matter what conditional functionality is enabled.
|
|
b55d941 [qa] Fix race condition in sendheaders.py (Suhas Daftuar)
6976db2 [qa] Another attempt to fix race condition in p2p-compactblocks.py (Suhas Daftuar)
|
|
fa85e86 [qt] sync-overlay: Don't show estimated number of headers left (MarcoFalke)
faa4de2 [qt] sync-overlay: Don't block during reindex (MarcoFalke)
|
|
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)
|
|
ef28d8a [Doc] Update bips.md for Segregated Witness (fanquake)
|
|
621441a add verbose mode to bitcoin-util-test.py (jnewbery)
|
|
2920be2 Update INSTALL landing redirection notice for build instructions. (randy-waterhouse)
|
|
cb78c60 gui: fix ban from qt console (Cory Fields)
|
|
Also de-duplicates code that has been moved to mininode
|
|
7d8afb4 [Doc] Improve GitHub issue template (fanquake)
|
|
|
|
|
|
|
|
|
|
the lowest, not highest, block
a78e542 Bugfix: Trivial: RPC: getblockchaininfo help: pruneheight is the lowest, not highest, block (Luke Dashjr)
|
|
eeeebdd [doc] Rework docs (MarcoFalke)
|
|
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.
|
|
highest, block
|
|
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.
|
|
|
|
|
|
Also improve tx printing
|
|
Contains version negotiation logic by Matt Corallo and bugfixes by
Suhas Daftuar.
|
|
|
|
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.
|
|
* 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
|
|
2fa0063 Add NULLDUMMY verify flag in bitcoinconsensus.h (Johnson Lau)
|
|
905bc68 net: fix a few cases where messages were sent rather than dropped upon disconnection (Cory Fields)
|
|
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)
|
|
mapArgs
3450c18 Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs (Jorge Timón)
|
|
fa7c35c [qa] util: Move wait_bitcoinds() into stop_nodes() (MarcoFalke)
|
|
2ca7faa Squashed 'src/univalue/' changes from daf1285..16a1f7f (MarcoFalke)
|
|
1c80386 rpc: Generate auth cookie in hex instead of base64 (Wladimir J. van der Laan)
|
|
fa66609 [qa] mininode: Only allow named args in wait_until (MarcoFalke)
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
b5fd666 [qa] Fix race condition in p2p-compactblocks test (Suhas Daftuar)
|
|
|
|
Also fix a bug in the sync_with_ping() helper function
|
|
203e2dd Mention Gitian building script in doc. (Lauda)
|
|
|
|
|
|
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
|