aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
AgeCommit message (Collapse)Author
2016-09-19Move static global randomizer seeds into CConnmanPieter Wuille
2016-09-10fix op order to append first alertrodasmith
2016-09-09Merge #8681: Performance Regression Fix: Pre-Allocate txChanged vectorPieter Wuille
ec81881 Performance Regression Fix: Pre-Allocate txChanged vector (Jeremy Rubin)
2016-09-09Merge #8085: p2p: Begin encapsulationWladimir J. van der Laan
0103c5b net: move MAX_FEELER_CONNECTIONS into connman (Cory Fields) e700cd0 Convert ForEachNode* functions to take a templated function argument rather than a std::function to eliminate std::function overhead (Jeremy Rubin) d1a2295 Made the ForEachNode* functions in src/net.cpp more pragmatic and self documenting (Jeremy Rubin) 98591c5 net: move vNodesDisconnected into CConnman (Cory Fields) fa2f8bc net: add nSendBufferMaxSize/nReceiveFloodSize to CConnection::Options (Cory Fields) a19553b net: Introduce CConnection::Options to avoid passing so many params (Cory Fields) bafa5fc net: Drop StartNode/StopNode and use CConnman directly (Cory Fields) e81a602 net: pass CClientUIInterface into CConnman (Cory Fields) f60b905 net: Pass best block known height into CConnman (Cory Fields) fdf69ff net: move max/max-outbound to CConnman (Cory Fields) 8a59369 net: move semOutbound to CConnman (Cory Fields) bd72937 net: move nLocalServices/nRelevantServices to CConnman (Cory Fields) be9c796 net: move SendBufferSize/ReceiveFloodSize to CConnman (Cory Fields) 63cafa6 net: move send/recv statistics to CConnman (Cory Fields) adf5d4c net: SocketSendData returns written size (Cory Fields) ee44fa9 net: move messageHandlerCondition to CConnman (Cory Fields) 960cf2e net: move nLocalHostNonce to CConnman (Cory Fields) 551e088 net: move nLastNodeId to CConnman (Cory Fields) 6c19d92 net: move whitelist functions into CConnman (Cory Fields) 53347f0 net: create generic functor accessors and move vNodes to CConnman (Cory Fields) c0569c7 net: Add most functions needed for vNodes to CConnman (Cory Fields) 8ae2dac net: move added node functions to CConnman (Cory Fields) 502dd3a net: Add oneshot functions to CConnman (Cory Fields) a0f3d3c net: move ban and addrman functions into CConnman (Cory Fields) aaf018e net: handle nodesignals in CConnman (Cory Fields) b1a5f43 net: move OpenNetworkConnection into CConnman (Cory Fields) 02137f1 net: Move socket binding into CConnman (Cory Fields) 5b446dd net: Pass CConnection to wallet rather than using the global (Cory Fields) 8d58c4d net: Pass CConnman around as needed (Cory Fields) d7349ca net: Add rpc error for missing/disabled p2p functionality (Cory Fields) cd16f48 net: Create CConnman to encapsulate p2p connections (Cory Fields) d93b14d net: move CBanDB and CAddrDB out of net.h/cpp (Cory Fields) 531214f gui: add NodeID to the peer table (Cory Fields)
2016-09-09Merge #8677: Do not shadow upper local variable 'send', prevent -Wshadow ↵Wladimir J. van der Laan
compiler warning. 125b946 Do not shadow upper local variable 'send', prevent -Wshadow compiler warning. (Pavel Janík)
2016-09-09Merge #8525: Do not store witness txn in rejection cacheWladimir J. van der Laan
ca10a03 Add basic test for IsStandard witness transaction blinding (instagibbs) 34521e4 Do not store witness txn in rejection cache (Pieter Wuille)
2016-09-08Made the ForEachNode* functions in src/net.cpp more pragmatic and self ↵Jeremy Rubin
documenting
2016-09-08net: Pass best block known height into CConnmanCory Fields
CConnman then passes the current best height into CNode at creation time. This way CConnman/CNode have no dependency on main for height, and the signals only move in one direction. This also helps to prevent identity leakage a tiny bit. Before this change, an attacker could theoretically make 2 connections on different interfaces. They would connect fully on one, and only establish the initial connection on the other. Once they receive a new block, they would relay it to your first connection, and immediately commence the version handshake on the second. Since the new block height is reflected immediately, they could attempt to learn whether the two connections were correlated. This is, of course, incredibly unlikely to work due to the small timings involved and receipt from other senders. But it doesn't hurt to lock-in nBestHeight at the time of connection, rather than letting the remote choose the time.
2016-09-08net: move nLocalServices/nRelevantServices to CConnmanCory Fields
These are in-turn passed to CNode at connection time. This allows us to offer different services to different peers (or test the effects of doing so).
2016-09-08net: move SendBufferSize/ReceiveFloodSize to CConnmanCory Fields
2016-09-08net: move send/recv statistics to CConnmanCory Fields
2016-09-08net: move nLocalHostNonce to CConnmanCory Fields
This behavior seems to have been quite racy and broken. Move nLocalHostNonce into CNode, and check received nonces against all non-fully-connected nodes. If there's a match, assume we've connected to ourself.
2016-09-08net: create generic functor accessors and move vNodes to CConnmanCory Fields
2016-09-08net: move ban and addrman functions into CConnmanCory Fields
2016-09-08net: handle nodesignals in CConnmanCory Fields
2016-09-08net: Pass CConnection to wallet rather than using the globalCory Fields
2016-09-08net: Pass CConnman around as neededCory Fields
2016-09-07Performance Regression Fix: Pre-Allocate txChanged vectorJeremy Rubin
2016-09-07Do not shadow upper local variable 'send', prevent -Wshadow compiler warning.Pavel Janík
2016-09-07Merge #8594: Do not add random inbound peers to addrman.Pieter Wuille
eb3596f Do not add random inbound peers to addrman. (Gregory Maxwell)
2016-09-07Merge #8606: Fix some locksPieter Wuille
144ed76 Fix some locks (Pieter Wuille)
2016-09-05Do not store witness txn in rejection cachePieter Wuille
2016-09-02Merge #8629: C++11: s/boost::scoped_ptr/std::unique_ptr/Wladimir J. van der Laan
cdd79eb C++11: s/boost::scoped_ptr/std::unique_ptr/ (Jorge Timón)
2016-09-01C++11: s/boost::scoped_ptr/std::unique_ptr/Jorge Timón
2016-09-01Merge #8524: Precompute sighashesPieter Wuille
35fe039 Rename to PrecomputedTransactionData (Pieter Wuille) ab48c5e Unit test for sighash caching (Nicolas DORIER) d2c5d04 Precompute sighashes (Pieter Wuille)
2016-08-26Check for compatibility with download in FindNextBlocksToDownloadPieter Wuille
2016-08-26Fix some locksPieter Wuille
This makes sure that cs_filter is never held while taking cs_main or CNode::cs_vSend.
2016-08-26Rename to PrecomputedTransactionDataPieter Wuille
2016-08-26Merge #8561: Show "end" instead of many zeros when getheaders request ↵Wladimir J. van der Laan
received with a hashStop of Null 259ee09 Show "end" instead of many zeros when getheaders request received with a hashStop of Null. (R E Broadley)
2016-08-25Do not add random inbound peers to addrman.Gregory Maxwell
We should learn about new peers via address messages. An inbound peer connecting to us tells us nothing about its ability to accept incoming connections from us, so we shouldn't assume that we can connect to it based on this. The vast majority of nodes on the network do not accept incoming connections, adding them will only slow down the process of making a successful connection in the future. Nodes which have configured themselves to not announce would prefer we not violate their privacy by announcing them in GETADDR responses.
2016-08-25Merge #8462: Move AdvertiseLocal debug output to net categoryPieter Wuille
f13c1ba Move AdvertiseLocal debug output to net category (Michael Rotarius)
2016-08-25Merge #7579: [Qt] show network/chain errors in the GUIJonas Schnelli
2f32c82 [Qt] show network/chain errors in the GUI (Jonas Schnelli)
2016-08-25Merge #8282: net: Feeler connections to increase online addrs in the tried ↵Wladimir J. van der Laan
table. dbb1f64 Added feeler connections increasing good addrs in the tried table. (Ethan Heilman)
2016-08-23Added feeler connections increasing good addrs in the tried table.Ethan Heilman
Tests if addresses are online or offline by briefly connecting to them. These short lived connections are referred to as feeler connections. Feeler connections are designed to increase the number of fresh online addresses in tried by selecting and connecting to addresses in new. One feeler connection is attempted on average once every two minutes. This change was suggested as Countermeasure 4 in Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman, Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report 2015/263. March 2015.
2016-08-23Show "end" instead of many zeros when getheaders request received with a ↵R E Broadley
hashStop of Null.
2016-08-22Merge #8548: [wallet] Use __func__ to get function name for output printingWladimir J. van der Laan
fa785d1 Use __func__ to get function name for output printing (MarcoFalke)
2016-08-19Use __func__ to get function name for output printingMarcoFalke
2016-08-17Merge #8505: Trivial: Fix typos in various filesWladimir J. van der Laan
1aacfc2 various typos (leijurv)
2016-08-16Precompute sighashesPieter Wuille
Original version by Nicolas Dorier. Precomputing version by Pieter Wuille.
2016-08-14various typosleijurv
2016-08-12Reduce cs_main locks during ConnectTip/SyncWithWalletsJonas Schnelli
2016-08-05Move AdvertiseLocal debug output to net categoryMichael Rotarius
2016-08-04Merge #8392: Fix several node initialization issuesWladimir J. van der Laan
9d4eb9a Do diskspace check before import thread is started (Pieter Wuille) aa59f2e Add extra message to avoid a long 'Loading banlist' (Pieter Wuille) 0fd2a33 Use a signal to continue init after genesis activation (Pieter Wuille)
2016-08-04Merge #8391: Consensus: Remove ISMWladimir J. van der Laan
122786d Consensus: Remove ISM (NicolasDorier)
2016-08-01Merge #8413: Trivial: pass Consensus::Params& instead of CChainParams& in ↵Pieter Wuille
ContextualCheckBlock c8664ee Trivial: pass Consensus::Params& instead of CChainParams& in ContextualCheckBlock (Jorge Timón)
2016-07-30Use a signal to continue init after genesis activationPieter Wuille
2016-07-29net: Ignore `notfound` P2P messagesWladimir J. van der Laan
2016-07-29Merge #8274: util: Update tinyformatWladimir J. van der Laan
a5072a7 util: Remove zero-argument versions of LogPrint and error (Wladimir J. van der Laan) 695041e util: Update tinyformat (Wladimir J. van der Laan)
2016-07-29Merge #8408: Prevent fingerprinting, disk-DoS with compact blocksWladimir J. van der Laan
1d06e49 Ignore CMPCTBLOCK messages for pruned blocks (Suhas Daftuar) 1de2a46 Ignore GETBLOCKTXN requests for unknown blocks (Suhas Daftuar)
2016-07-28Merge #8348: Trivial: Segwit: Don't call IsWitnessEnabled from ↵Wladimir J. van der Laan
ContextualCheckBlock 38c4c8b Trivial: Segwit: Don't call IsWitnessEnabled from ContextualCheckBlock (Jorge Timón)