rodasmith
1d635ae61b
fix op order to append first alert
2016-09-10 11:41:01 -07:00
Pieter Wuille
6898213409
Merge #8681 : Performance Regression Fix: Pre-Allocate txChanged vector
...
ec81881
Performance Regression Fix: Pre-Allocate txChanged vector (Jeremy Rubin)
2016-09-09 13:41:15 +02:00
Wladimir J. van der Laan
6423116741
Merge #8085 : p2p: Begin encapsulation
...
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-09 11:52:22 +02:00
Wladimir J. van der Laan
4daf02a03f
Merge #8677 : Do not shadow upper local variable 'send', prevent -Wshadow compiler warning.
...
125b946
Do not shadow upper local variable 'send', prevent -Wshadow compiler warning. (Pavel Janík)
2016-09-09 10:25:39 +02:00
Wladimir J. van der Laan
80a4f21d37
Merge #8525 : Do not store witness txn in rejection cache
...
ca10a03
Add basic test for IsStandard witness transaction blinding (instagibbs)
34521e4
Do not store witness txn in rejection cache (Pieter Wuille)
2016-09-09 07:47:48 +02:00
Jeremy Rubin
d1a2295f0d
Made the ForEachNode* functions in src/net.cpp more pragmatic and self documenting
2016-09-08 13:06:05 -04:00
Cory Fields
f60b9059e4
net: Pass best block known height into CConnman
...
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-08 12:24:06 -04:00
Cory Fields
bd72937dc4
net: move nLocalServices/nRelevantServices to CConnman
...
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-08 12:24:06 -04:00
Cory Fields
be9c796dc5
net: move SendBufferSize/ReceiveFloodSize to CConnman
2016-09-08 12:24:06 -04:00
Cory Fields
63cafa6329
net: move send/recv statistics to CConnman
2016-09-08 12:24:06 -04:00
Cory Fields
960cf2e405
net: move nLocalHostNonce to CConnman
...
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-08 12:24:06 -04:00
Cory Fields
53347f0cb9
net: create generic functor accessors and move vNodes to CConnman
2016-09-08 12:24:06 -04:00
Cory Fields
a0f3d3cdad
net: move ban and addrman functions into CConnman
2016-09-08 12:12:57 -04:00
Cory Fields
aaf018e3b7
net: handle nodesignals in CConnman
2016-09-08 12:06:24 -04:00
Cory Fields
5b446dd5b1
net: Pass CConnection to wallet rather than using the global
2016-09-08 12:04:35 -04:00
Cory Fields
8d58c4d81f
net: Pass CConnman around as needed
2016-09-08 12:04:35 -04:00
Jeremy Rubin
ec81881b86
Performance Regression Fix: Pre-Allocate txChanged vector
2016-09-07 20:10:50 -04:00
Pavel Janík
125b946cb4
Do not shadow upper local variable 'send', prevent -Wshadow compiler warning.
2016-09-07 13:45:13 +02:00
Pieter Wuille
5b2ea29cf4
Merge #8594 : Do not add random inbound peers to addrman.
...
eb3596f
Do not add random inbound peers to addrman. (Gregory Maxwell)
2016-09-07 13:19:53 +02:00
Pieter Wuille
e2a1a1ee89
Merge #8606 : Fix some locks
...
144ed76
Fix some locks (Pieter Wuille)
2016-09-07 13:10:10 +02:00
Pieter Wuille
34521e4d7d
Do not store witness txn in rejection cache
2016-09-05 17:48:56 +02:00
Wladimir J. van der Laan
6f939c9080
Merge #8629 : C++11: s/boost::scoped_ptr/std::unique_ptr/
...
cdd79eb
C++11: s/boost::scoped_ptr/std::unique_ptr/ (Jorge Timón)
2016-09-02 09:56:33 +02:00
Jorge Timón
cdd79eb70f
C++11: s/boost::scoped_ptr/std::unique_ptr/
2016-09-01 19:05:07 +02:00
Pieter Wuille
19b0f33de0
Merge #8524 : Precompute sighashes
...
35fe039
Rename to PrecomputedTransactionData (Pieter Wuille)
ab48c5e
Unit test for sighash caching (Nicolas DORIER)
d2c5d04
Precompute sighashes (Pieter Wuille)
2016-09-01 12:20:43 +02:00
Pieter Wuille
887919c7b7
Check for compatibility with download in FindNextBlocksToDownload
2016-08-26 21:44:44 +02:00
Pieter Wuille
144ed76ea0
Fix some locks
...
This makes sure that cs_filter is never held while taking cs_main
or CNode::cs_vSend.
2016-08-26 21:11:57 +02:00
Pieter Wuille
35fe0393f2
Rename to PrecomputedTransactionData
2016-08-26 18:44:10 +02:00
Wladimir J. van der Laan
6c9f1b8c24
Merge #8561 : Show "end" instead of many zeros when getheaders request 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-26 10:04:26 +02:00
Gregory Maxwell
eb3596f7c2
Do not add random inbound peers to addrman.
...
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-25 23:48:59 +00:00
Pieter Wuille
53f8f226bd
Merge #8462 : Move AdvertiseLocal debug output to net category
...
f13c1ba
Move AdvertiseLocal debug output to net category (Michael Rotarius)
2016-08-25 15:15:16 +02:00
Jonas Schnelli
0606f95b1e
Merge #7579 : [Qt] show network/chain errors in the GUI
...
2f32c82
[Qt] show network/chain errors in the GUI (Jonas Schnelli)
2016-08-25 14:55:26 +02:00
Wladimir J. van der Laan
026c6edac9
Merge #8282 : net: Feeler connections to increase online addrs in the tried table.
...
dbb1f64
Added feeler connections increasing good addrs in the tried table. (Ethan Heilman)
2016-08-25 10:48:24 +02:00
Ethan Heilman
dbb1f640e6
Added feeler connections increasing good addrs in the tried table.
...
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-23 16:26:42 -04:00
R E Broadley
259ee09f88
Show "end" instead of many zeros when getheaders request received with a hashStop of Null.
2016-08-23 13:14:07 +07:00
Wladimir J. van der Laan
a55a018d5f
Merge #8548 : [wallet] Use __func__ to get function name for output printing
...
fa785d1
Use __func__ to get function name for output printing (MarcoFalke)
2016-08-22 09:58:28 +02:00
MarcoFalke
fa785d1211
Use __func__ to get function name for output printing
2016-08-19 18:59:00 +02:00
Wladimir J. van der Laan
e753eaeb34
Merge #8505 : Trivial: Fix typos in various files
...
1aacfc2
various typos (leijurv)
2016-08-17 12:51:16 +02:00
Pieter Wuille
d2c5d044d0
Precompute sighashes
...
Original version by Nicolas Dorier. Precomputing version by Pieter Wuille.
2016-08-16 15:35:45 +02:00
leijurv
1aacfc2da5
various typos
2016-08-14 07:57:11 -06:00
Jonas Schnelli
b3b3c2a562
Reduce cs_main locks during ConnectTip/SyncWithWallets
2016-08-12 14:53:10 +02:00
Michael Rotarius
f13c1bae52
Move AdvertiseLocal debug output to net category
2016-08-05 18:34:32 +02:00
Wladimir J. van der Laan
f97d335942
Merge #8392 : Fix several node initialization issues
...
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-04 12:33:21 +02:00
Wladimir J. van der Laan
37d83bb0a9
Merge #8391 : Consensus: Remove ISM
...
122786d
Consensus: Remove ISM (NicolasDorier)
2016-08-04 12:20:35 +02:00
Pieter Wuille
8ea7d31e38
Merge #8413 : Trivial: pass Consensus::Params& instead of CChainParams& in ContextualCheckBlock
...
c8664ee
Trivial: pass Consensus::Params& instead of CChainParams& in ContextualCheckBlock (Jorge Timón)
2016-08-01 01:53:29 +02:00
Pieter Wuille
0fd2a33648
Use a signal to continue init after genesis activation
2016-07-30 02:17:47 +02:00
Wladimir J. van der Laan
5c9e49d12c
net: Ignore notfound
P2P messages
2016-07-29 17:44:01 +02:00
Wladimir J. van der Laan
7a2d402727
Merge #8274 : util: Update tinyformat
...
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-29 12:32:47 +02:00
Wladimir J. van der Laan
842bf8d2c5
Merge #8408 : Prevent fingerprinting, disk-DoS with compact blocks
...
1d06e49
Ignore CMPCTBLOCK messages for pruned blocks (Suhas Daftuar)
1de2a46
Ignore GETBLOCKTXN requests for unknown blocks (Suhas Daftuar)
2016-07-29 08:21:03 +02:00
Wladimir J. van der Laan
64d660a43f
Merge #8348 : Trivial: Segwit: Don't call IsWitnessEnabled from ContextualCheckBlock
...
38c4c8b
Trivial: Segwit: Don't call IsWitnessEnabled from ContextualCheckBlock (Jorge Timón)
2016-07-28 09:51:04 +02:00
Jorge Timón
c8664eeac7
Trivial: pass Consensus::Params& instead of CChainParams& in ContextualCheckBlock
2016-07-27 23:58:04 +02:00