aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Make nTimeBestReceived atomicMatt Corallo2017-02-101-1/+1
|
* Move [clean|str]SubVer writes/copyStats into a lockMatt Corallo2017-02-103-4/+13
|
* Make nServices atomicMatt Corallo2017-02-101-1/+1
|
* Make nStartingHeight atomicMatt Corallo2017-02-101-1/+1
|
* Access fRelayTxes with cs_filter lock in copyStatsMatt Corallo2017-02-101-1/+4
|
* Avoid copying CNodeStats to make helgrind OK with buggy std::stringMatt Corallo2017-02-101-3/+2
|
* Make nTimeConnected const in CNodeMatt Corallo2017-02-102-2/+2
|
* net: fix a few races. Credit @TheBlueMattCory Fields2017-02-103-15/+22
| | | | | | | | | | | 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
* Merge #9698: net: fix socket close raceWladimir J. van der Laan2017-02-102-26/+49
|\ | | | | | | | | 9a0b784 net: add a lock around hSocket (Cory Fields) 45e2e08 net: rearrange so that socket accesses can be grouped together (Cory Fields)
| * net: add a lock around hSocketCory Fields2017-02-062-15/+29
| |
| * net: rearrange so that socket accesses can be grouped togetherCory Fields2017-02-061-14/+23
| |
* | Remove bitseed.xf2.org form the dns seed listJonas Schnelli2017-02-091-1/+0
| |
* | Merge #9718: Qt/Intro: Various fixesWladimir J. van der Laan2017-02-091-3/+8
|\ \ | | | | | | | | | | | | | | | 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)
| * | Bugfix: Qt/Intro: Pruned nodes never require *more* spaceLuke Dashjr2017-02-081-1/+4
| | |
| * | Bugfix: Qt/Intro: Chain state needs to be stored even with the full blockchainLuke Dashjr2017-02-081-2/+4
| | |
| * | Qt/Intro: Update block chain sizeLuke Dashjr2017-02-081-1/+1
| | |
* | | Merge #9674: Always enforce strict lock ordering (try or not)Wladimir J. van der Laan2017-02-082-48/+20
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | | Further-enforce lockordering by enforcing directly after TRY_LOCKsMatt Corallo2017-02-071-15/+13
| | | |
| * | | Fixup style a bit by moving { to the same line as if statementsMatt Corallo2017-02-041-6/+3
| | | |
| * | | Always enforce lock strict lock ordering (try or not)Matt Corallo2017-02-021-25/+1
| | | |
| * | | Lock cs_vSend and cs_inventory in a consistent order even in TRYMatt Corallo2017-02-021-5/+6
| | | |
* | | | bench: Fix initialization order in registrationWladimir J. van der Laan2017-02-072-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge #9532: Remove unused variablesWladimir J. van der Laan2017-02-071-3/+0
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 90fd29b Remove unused int64_t nSinceLastSeen (practicalswift) ac4a095 Remove unused Python variables (practicalswift)
| * | | | Remove unused int64_t nSinceLastSeenpracticalswift2017-01-131-3/+0
| | | | |
* | | | | Merge #9604: [Trivial] add comment about setting peer as HB peer.Wladimir J. van der Laan2017-02-071-1/+9
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | dd5b011 [Trivial] add comment about setting peer as HB peer. (John Newbery)
| * | | | [Trivial] add comment about setting peer as HB peer.John Newbery2017-01-201-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a comment to the new logic for setting HB peers based on block validation (and aligns the code below to reflect the comment). It's not obvious why we're checking mapBlocksInFlight. Add a comment to explain.
* | | | | Merge #9227: Make nWalletDBUpdated atomic to avoid a potential race.Wladimir J. van der Laan2017-02-065-33/+43
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | d63ff62 Make nWalletDBUpdated atomic to avoid a potential race. (Patrick Strateman)
| * | | | | Make nWalletDBUpdated atomic to avoid a potential race.Patrick Strateman2016-12-215-33/+43
| | | | | |
* | | | | | Merge #9378: [trivial] Add documentation for CWalletTx::fFromMe member.Wladimir J. van der Laan2017-02-061-0/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | 39c77b0 Add documentation for CWalletTx::fFromMe member. (Russell Yanofsky)
| * | | | | | Add documentation for CWalletTx::fFromMe member.Russell Yanofsky2016-12-151-0/+5
| | | | | | |
* | | | | | | Merge #9650: Better handle invalid parameters to signrawtransactionWladimir J. van der Laan2017-02-062-1/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | | | | | | Better handle invalid parameters to signrawtransactionMatt Corallo2017-02-021-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This silently skips trying to merge signatures from inputs which do not exist from transactions provided to signrawtransaction, instead of hitting an assert.
| * | | | | | | Fail in DecodeHexTx if there is extra data at the endMatt Corallo2017-02-021-0/+2
| | |_|_|_|/ / | |/| | | | |
* | | | | | | Merge #9659: Net: Turn some methods and params/variables constWladimir J. van der Laan2017-02-065-19/+19
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | | | | | | Net: pass interruptMsgProc as const where possibleJorge Timón2017-01-312-6/+6
| | | | | | | |
| * | | | | | | Net: Make CNetMsgMaker more constJorge Timón2017-01-312-7/+7
| | | | | | | |
| * | | | | | | Net: CConnman: Make some methods constJorge Timón2017-01-312-6/+6
| | | | | | | |
* | | | | | | | Merge #9651: Fix typosWladimir J. van der Laan2017-02-063-4/+4
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 5f62e3e Fix typos (practicalswift)
| * | | | | | | | Fix typospracticalswift2017-01-293-4/+4
| | | | | | | | |
* | | | | | | | | Merge #9673: Set correct metadata on bumpfee wallet transactionsWladimir J. van der Laan2017-02-061-0/+5
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4ec057d [wallet] Set correct metadata on bumpfee wallet transactions (Russell Yanofsky)
| * | | | | | | | | [wallet] Set correct metadata on bumpfee wallet transactionsRussell Yanofsky2017-02-021-0/+5
| | |_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | | Merge #9691: Init ECC context for test_bitcoin_fuzzy.Wladimir J. van der Laan2017-02-061-0/+2
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ac719c9 Init ECC context for test_bitcoin_fuzzy. (Gregory Maxwell)
| * | | | | | | | | Init ECC context for test_bitcoin_fuzzy.Gregory Maxwell2017-02-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids calling things like pubkey_parse with a null context argument.
* | | | | | | | | | Merge #9578: Add missing mempool lock for CalculateMemPoolAncestorsPieter Wuille2017-02-051-0/+2
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | 003cd60 Add missing mempool lock for CalculateMemPoolAncestors (Matt Corallo)
| * | | | | | | | | Add missing mempool lock for CalculateMemPoolAncestorsMatt Corallo2017-01-201-0/+2
| | | | | | | | | |
* | | | | | | | | | Merge #9671: Fix super-unlikely race introduced in 236618061a445d2cb11e72Wladimir J. van der Laan2017-02-041-1/+1
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 885cfdd Fix super-unlikely race introduced in 236618061a445d2cb11e72 (Matt Corallo)
| * | | | | | | | | | Fix super-unlikely race introduced in 236618061a445d2cb11e72Matt Corallo2017-02-021-1/+1
| | |/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once the CNode has been added to vNodes, it is possible that it is disconnected+deleted in the socket handler thread. However, after that we now call InitializeNode, which accesses the pnode. helgrind managed to tickle this case (somehow), but I suspect it requires in immensely braindead scheduler.
* | | | | | | | | | Merge #9609: net: fix remaining net assertionsWladimir J. van der Laan2017-02-044-111/+102
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | | | | | | | | | net: log an error rather than asserting if send version is misusedCory Fields2017-02-022-19/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also cleaned up the comments and moved from the header to the .cpp so that logging headers aren't needed from net.h
| * | | | | | | | | | net: Disallow sending messages until the version handshake is completeCory Fields2017-02-022-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a change in behavior, though it's much more sane now than before.