aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-12-03Make QT runawayException call GetWarnings instead of directly access ↵Gregory Maxwell
strMiscWarning. This is a first step in avoiding racy accesses to strMiscWarning. The change required moving GetWarnings and related globals to util.
2016-12-02Merge #9260: Mrs Peacock in The Library with The Candlestick (killed ↵Pieter Wuille
main.{h,cpp}) 76faa3c Rename the remaining main.{h,cpp} to validation.{h,cpp} (Matt Corallo) e736772 Move network-msg-processing code out of main to its own file (Matt Corallo) 87c35f5 Remove orphan state wipe from UnloadBlockIndex. (Matt Corallo)
2016-12-02Merge #9251: Improvement of documentation of command line parameter 'whitelist'MarcoFalke
8a70a9d Improvement of documentation of command line parameter 'whitelist' (wodry)
2016-12-02Rename the remaining main.{h,cpp} to validation.{h,cpp}Matt Corallo
2016-12-02Move network-msg-processing code out of main to its own fileMatt Corallo
2016-12-02Merge #9223: unification of Bloom filter representationMarcoFalke
b7aa290 unification of Bloom filter representation (S. Matthew English)
2016-12-02bitcoin-cli: Make error message less confusingWladimir J. van der Laan
Sorry for the churn on this, but the current message (introduced in #9073) isn't acceptable: $ src/bitcoin-cli getinfo rpc: couldn't connect to server (make sure server is running and you are connecting to the correct RPC port: -1 unknown) Putting the error code after the words "RPC port" made me wonder whether there was a port configuration issue. This changes it to: $ src/bitcoin-cli getinfo error: couldn't connect to server: unknown (code -1) (make sure server is running and you are connecting to the correct RPC port)
2016-12-02Merge #9239: Disable fee estimates for 1 block targetWladimir J. van der Laan
e878689 Make GUI incapable of setting tx confirm target of 1 (Alex Morcos) d824ad0 Disable fee estimates for a confirm target of 1 block (Alex Morcos)
2016-12-02Merge #9229: Remove calls to getaddrinfo_aWladimir J. van der Laan
10ae7a7 Revert "Use async name resolving to improve net thread responsiveness" (Matt Corallo)
2016-12-01Remove orphan state wipe from UnloadBlockIndex.Matt Corallo
As orphan state is now "network state", like in d6ea737be19a0001e69e4e854eb1cef21523ea7a, UnloadBlockIndex is only used during init if we end up reindexing to clear our block state so that we can start over. However, at that time no connections have been brought up as CConnman hasn't been started yet, so all of the network processing state logic is empty when its called.
2016-12-01Merge #9183: Final Preparation for main.cpp SplitPieter Wuille
2c8c57e Document cs_main status when calling into PNB or PNBH (Matt Corallo) 58a215c Use ProcessNewBlockHeaders in CMPCTBLOCK processing (Matt Corallo) a8b936d Use exposed ProcessNewBlockHeaders from ProcessMessages (Matt Corallo) 63fd101 Split ::HEADERS processing into two separate cs_main locks (Matt Corallo) 4a6b1f3 Expose AcceptBlockHeader through main.h (Matt Corallo)
2016-12-01Revert "Use async name resolving to improve net thread responsiveness"Matt Corallo
This reverts commit caf6150e9785da408f1e603ae70eae25b5202d98. getaddrinfo_a has a nasty tendency to segfault internally in its background thread, on every version of glibc I tested, especially under helgrind. See https://sourceware.org/bugzilla/show_bug.cgi?id=20874
2016-12-01Merge #9188: Make orphan parent fetching ask for witnesses.Pieter Wuille
5b0150a Make orphan parent fetching ask for witnesses. (Gregory Maxwell)
2016-12-01Merge #9253: Fix calculation of number of bound sockets to usePieter Wuille
9e1f468 Fix calculation of number of bound sockets to use (Matt Corallo)
2016-12-01Document cs_main status when calling into PNB or PNBHMatt Corallo
2016-12-01Use ProcessNewBlockHeaders in CMPCTBLOCK processingMatt Corallo
2016-12-01Use exposed ProcessNewBlockHeaders from ProcessMessagesMatt Corallo
2016-12-01Merge #9230: Fix some benign races in timestamp loggingWladimir J. van der Laan
8b22efb Make fStartedNewLine an std::atomic_bool (Matt Corallo) 507145d Fix race when accessing std::locale::classic() (Matt Corallo)
2016-11-30Fix calculation of number of bound sockets to useMatt Corallo
2016-11-30Merge #9226: Remove fNetworkNode and pnodeLocalHost.Pieter Wuille
bdb922b Remove pnodeLocalHost. (Gregory Maxwell) 083f203 Remove fNetworkNode. (Gregory Maxwell)
2016-11-30Merge #9244: Trivial refactor: Remove extern keyword from function declarationsPieter Wuille
446a8f9 Trivial refactor: Remove extern keyword from function declarations, as they are extern by default. (Karl-Johan Alm)
2016-11-30Merge #9010: Split up AppInit2 into multiple phases, daemonize after datadir ↵Pieter Wuille
lock errors deec83f init: Get rid of fServer flag (Wladimir J. van der Laan) 16ca0bf init: Try to aquire datadir lock before and after daemonization (Wladimir J. van der Laan) 0cc8b6b init: Split up AppInit2 into multiple phases (Wladimir J. van der Laan)
2016-11-30Improvement of documentation of command line parameter 'whitelist'wodry
2016-11-30Merge #9234: torcontrol: Explicitly request RSA1024 private keyWladimir J. van der Laan
7d3b627 torcontrol: Explicitly request RSA1024 private key (Wladimir J. van der Laan)
2016-11-30Trivial refactor: Remove extern keyword from function declarations, as they ↵Karl-Johan Alm
are extern by default.
2016-11-29Make GUI incapable of setting tx confirm target of 1Alex Morcos
2016-11-29Disable fee estimates for a confirm target of 1 blockAlex Morcos
2016-11-29init: Get rid of fServer flagWladimir J. van der Laan
There is no need to store this flag globally, the variable is only used inside the initialization process. Thanks to Alex Morcos for the idea.
2016-11-29init: Try to aquire datadir lock before and after daemonizationWladimir J. van der Laan
Before daemonization, just probe the data directory lock and print an early error message if possible. After daemonization get the data directory lock again and hold on to it until exit This creates a slight window for a race condition to happen, however this condition is harmless: it will at most make us exit without printing a message to console. $ src/bitcoind -testnet -daemon Bitcoin server starting $ src/bitcoind -testnet -daemon Error: Cannot obtain a lock on data directory /home/orion/.bitcoin/testnet3. Bitcoin Core is probably already running.
2016-11-29init: Split up AppInit2 into multiple phasesWladimir J. van der Laan
This allows doing some of the steps before e.g. daemonization and some fater.
2016-11-29Merge #9202: bench: Add support for measuring CPU cyclesWladimir J. van der Laan
3532818 bench: Add support for measuring CPU cycles (Wladimir J. van der Laan)
2016-11-29Merge #9225: Fix some benign racesWladimir J. van der Laan
dfed983 Fix unlocked access to vNodes.size() (Matt Corallo) 3033522 Remove double brackets in addrman (Matt Corallo) dbfaade Fix AddrMan locking (Matt Corallo) 047ea10 Make fImporting an std::atomic (Matt Corallo) 42071ca Make fDisconnect an std::atomic (Matt Corallo)
2016-11-29Merge #9224: Prevent FD_SETSIZE error building on OpenBSDWladimir J. van der Laan
498a1d7 Include select.h when WIN32 is not defined (Ivo van der Sangen)
2016-11-29Include select.h when WIN32 is not definedIvo van der Sangen
2016-11-28torcontrol: Explicitly request RSA1024 private keyWladimir J. van der Laan
When generating a new service key, explicitly request a RSA1024 one. The bitcoin P2P protocol has no support for the longer hidden service names that will come with ed25519 keys, until it does, we depend on the old hidden service type so make this explicit. See #9214.
2016-11-28Fix some typosfsb4000
2016-11-27Make fStartedNewLine an std::atomic_boolMatt Corallo
While this doesnt really fix the race of adding timestamps mid-logical-line, it avoids the undefined behavior of using a bool in multiple threads.
2016-11-27Fix race when accessing std::locale::classic()Matt Corallo
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78552
2016-11-27Remove pnodeLocalHost.Gregory Maxwell
Mostly a legacy of the long removed pub/sub system.
2016-11-27Remove fNetworkNode.Gregory Maxwell
Matt pointed out to me that this appeared to be doing nothing (except involving itself in data races).
2016-11-26Fix unlocked access to vNodes.size()Matt Corallo
2016-11-26Remove double brackets in addrmanMatt Corallo
2016-11-26Fix AddrMan lockingMatt Corallo
2016-11-26Make fImporting an std::atomicMatt Corallo
2016-11-26unification of Bloom filter representationS. Matthew English
Output instances of "BloomFilter" changed to "Bloom filter", in accordance with Wikipedia standard notation: https://en.wikipedia.org/wiki/Bloom_filter also to sync with the majority of cases in the self-same file
2016-11-25Make fDisconnect an std::atomicMatt Corallo
2016-11-25Merge #9128: net: Decouple CConnman and message serializationPieter Wuille
c7be56d net: push only raw data into CConnman (Cory Fields) 2ec935d net: add CVectorWriter and CNetMsgMaker (Cory Fields) b7695c2 net: No need to check individually for disconnection anymore (Cory Fields) fedea8a net: don't send any messages before handshake or after requested disconnect (Cory Fields) d74e352 net: Set feelers to disconnect at the end of the version message (Cory Fields)
2016-11-25net: push only raw data into CConnmanCory Fields
This fixes one of the last major layer violations in the networking stack. The network side is no longer in charge of message serialization, so it is now decoupled from Bitcoin structures. Only the header is serialized and attached to the payload.
2016-11-25net: add CVectorWriter and CNetMsgMakerCory Fields
CVectorWriter is useful for overwriting or appending an existing byte vector. CNetMsgMaker is a shortcut for creating messages on-the-fly which are suitable for pushing to CConnman.
2016-11-25net: No need to check individually for disconnection anymoreCory Fields