aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-02-10Move CNode::addrLocal access behind locked accessorsMatt Corallo
2017-02-10Move CNode::addrName accesses behind locked accessorsMatt Corallo
2017-02-10Make nTimeBestReceived atomicMatt Corallo
2017-02-10Move [clean|str]SubVer writes/copyStats into a lockMatt Corallo
2017-02-10Make nServices atomicMatt Corallo
2017-02-10Make nStartingHeight atomicMatt Corallo
2017-02-10Access fRelayTxes with cs_filter lock in copyStatsMatt Corallo
2017-02-10Avoid copying CNodeStats to make helgrind OK with buggy std::stringMatt Corallo
2017-02-10Make nTimeConnected const in CNodeMatt Corallo
2017-02-10net: fix a few races. Credit @TheBlueMattCory Fields
These are (afaik) all long-standing races or concurrent accesses. Going forward, we can clean these up so that they're not all individual atomic accesses. - Reintroduce cs_vRecv to guard receive-specific vars - Lock vRecv/vSend for CNodeStats - Make some vars atomic. - Only set the connection time in CNode's constructor so that it doesn't change
2017-02-10Merge #9698: net: fix socket close raceWladimir J. van der Laan
9a0b784 net: add a lock around hSocket (Cory Fields) 45e2e08 net: rearrange so that socket accesses can be grouped together (Cory Fields)
2017-02-10Merge #9730: Remove bitseed.xf2.org form the dns seed listJonas Schnelli
ca9955e Remove bitseed.xf2.org form the dns seed list (Jonas Schnelli)
2017-02-09Remove bitseed.xf2.org form the dns seed listJonas Schnelli
2017-02-09Merge #9718: Qt/Intro: Various fixesWladimir J. van der Laan
a9baa6d Bugfix: Qt/Intro: Pruned nodes never require *more* space (Luke Dashjr) 93ffba7 Bugfix: Qt/Intro: Chain state needs to be stored even with the full blockchain (Luke Dashjr) c8cee26 Qt/Intro: Update block chain size (Luke Dashjr)
2017-02-08Bugfix: Qt/Intro: Pruned nodes never require *more* spaceLuke Dashjr
2017-02-08Bugfix: Qt/Intro: Chain state needs to be stored even with the full blockchainLuke Dashjr
2017-02-08Qt/Intro: Update block chain sizeLuke Dashjr
2017-02-08Merge #9674: Always enforce strict lock ordering (try or not)Wladimir J. van der Laan
618ee92 Further-enforce lockordering by enforcing directly after TRY_LOCKs (Matt Corallo) 2a962d4 Fixup style a bit by moving { to the same line as if statements (Matt Corallo) 8465631 Always enforce lock strict lock ordering (try or not) (Matt Corallo) fd13eca Lock cs_vSend and cs_inventory in a consistent order even in TRY (Matt Corallo)
2017-02-08Merge #9705: build: Add options to override BDB cflags/libsWladimir J. van der Laan
5cc2ebb Update OpenBSD and FreeBSD build steps (Wladimir J. van der Laan) 8713de8 build: Add options to override BDB cflags/libs (Wladimir J. van der Laan)
2017-02-08Merge #9712: bench: Fix initialization order in registrationMarcoFalke
29c5328 bench: Fix initialization order in registration (Wladimir J. van der Laan)
2017-02-07Further-enforce lockordering by enforcing directly after TRY_LOCKsMatt Corallo
2017-02-07bench: Fix initialization order in registrationWladimir J. van der Laan
The initialization order of global data structures in different implementation units is undefined. Making use of this is essentially gambling on what the linker does, the so-called [Static initialization order fiasco](https://isocpp.org/wiki/faq/ctors#static-init-order). In this case it apparently worked on Linux but failed on OpenBSD and FreeBSD. To create it on first use, make the registration structure local to a function. Fixes #8910.
2017-02-07Merge #9532: Remove unused variablesWladimir J. van der Laan
90fd29b Remove unused int64_t nSinceLastSeen (practicalswift) ac4a095 Remove unused Python variables (practicalswift)
2017-02-07Merge #9604: [Trivial] add comment about setting peer as HB peer.Wladimir J. van der Laan
dd5b011 [Trivial] add comment about setting peer as HB peer. (John Newbery)
2017-02-07Update OpenBSD and FreeBSD build stepsWladimir J. van der Laan
Re-try with most recent versions, and use BDB_CFLAGS/BDB_LIBS to directly point at BerkeleyDB instead of CPPFLAGS hacks.
2017-02-07build: Add options to override BDB cflags/libsWladimir J. van der Laan
Add environment settings to specify the CFLAGS and LIBS to be used for BerkeleyDB directly. These will completely by-pass autodetection in the same way as other similar flags. ``` BDB_CFLAGS C compiler flags for BerkeleyDB, bypasses autodetection BDB_LIBS Linker flags for BerkeleyDB, bypasses autodetection ``` Implements #3921.
2017-02-06net: add a lock around hSocketCory Fields
2017-02-06net: rearrange so that socket accesses can be grouped togetherCory Fields
2017-02-06Merge #9227: Make nWalletDBUpdated atomic to avoid a potential race.Wladimir J. van der Laan
d63ff62 Make nWalletDBUpdated atomic to avoid a potential race. (Patrick Strateman)
2017-02-06Merge #9378: [trivial] Add documentation for CWalletTx::fFromMe member.Wladimir J. van der Laan
39c77b0 Add documentation for CWalletTx::fFromMe member. (Russell Yanofsky)
2017-02-06Merge #9650: Better handle invalid parameters to signrawtransactionWladimir J. van der Laan
6dbfe08 [qa] test signrawtransaction merge with missing inputs (Matt Corallo) ec4f7e4 [qa] Add second input to signrawtransaction test case (Matt Corallo) 691710a [qa] Test that decoderawtransaction throws with extra data appended (Matt Corallo) 922bea9 Better handle invalid parameters to signrawtransaction (Matt Corallo) 7ea0ad5 Fail in DecodeHexTx if there is extra data at the end (Matt Corallo)
2017-02-06Merge #9659: Net: Turn some methods and params/variables constWladimir J. van der Laan
0729102 Net: pass interruptMsgProc as const where possible (Jorge Timón) fc7f2ff Net: Make CNetMsgMaker more const (Jorge Timón) d45955f Net: CConnman: Make some methods const (Jorge Timón)
2017-02-06Merge #9651: Fix typosWladimir J. van der Laan
5f62e3e Fix typos (practicalswift)
2017-02-06Merge #9673: Set correct metadata on bumpfee wallet transactionsWladimir J. van der Laan
4ec057d [wallet] Set correct metadata on bumpfee wallet transactions (Russell Yanofsky)
2017-02-06Merge #9691: Init ECC context for test_bitcoin_fuzzy.Wladimir J. van der Laan
ac719c9 Init ECC context for test_bitcoin_fuzzy. (Gregory Maxwell)
2017-02-05Merge #9578: Add missing mempool lock for CalculateMemPoolAncestorsPieter Wuille
003cd60 Add missing mempool lock for CalculateMemPoolAncestors (Matt Corallo)
2017-02-05Init ECC context for test_bitcoin_fuzzy.Gregory Maxwell
This avoids calling things like pubkey_parse with a null context argument.
2017-02-04Fixup style a bit by moving { to the same line as if statementsMatt Corallo
2017-02-04Merge #9671: Fix super-unlikely race introduced in 236618061a445d2cb11e72Wladimir J. van der Laan
885cfdd Fix super-unlikely race introduced in 236618061a445d2cb11e72 (Matt Corallo)
2017-02-04Merge #9609: net: fix remaining net assertionsWladimir J. van der Laan
08bb6f4 net: log an error rather than asserting if send version is misused (Cory Fields) 7a8c251 net: Disallow sending messages until the version handshake is complete (Cory Fields) 12752af net: don't run callbacks on nodes that haven't completed the version handshake (Cory Fields) 2046617 net: deserialize the entire version message locally (Cory Fields) 80ff034 Dont deserialize nVersion into CNode, should fix #9212 (Matt Corallo)
2017-02-04Merge #9679: Access WorkQueue::running only within the cs lockWladimir J. van der Laan
7b2d96b Access WorkQueue::running only within the cs lock. (Matt Corallo)
2017-02-03Access WorkQueue::running only within the cs lock.Matt Corallo
This removes a "race" between Interrupt() and Run(), though it should not effect any of our supported platforms.
2017-02-02Always enforce lock strict lock ordering (try or not)Matt Corallo
2017-02-02Lock cs_vSend and cs_inventory in a consistent order even in TRYMatt Corallo
2017-02-02[qa] test signrawtransaction merge with missing inputsMatt Corallo
2017-02-02[wallet] Set correct metadata on bumpfee wallet transactionsRussell Yanofsky
Preserve comment, order form, and account strings from the original wallet transaction. Also set fTimeReceivedIsTxTime and fFromMe fields for consistency with CWallet::CreateTransaction. The latter two fields don't influence current wallet behavior, but do record that the transaction originated in the wallet instead of coming from the network or sendrawtransaction.
2017-02-02[qa] Add second input to signrawtransaction test caseMatt Corallo
2017-02-02[qa] Test that decoderawtransaction throws with extra data appendedMatt Corallo
2017-02-02Better handle invalid parameters to signrawtransactionMatt Corallo
This silently skips trying to merge signatures from inputs which do not exist from transactions provided to signrawtransaction, instead of hitting an assert.
2017-02-02Fail in DecodeHexTx if there is extra data at the endMatt Corallo