Commit Graph

9969 Commits

Author SHA1 Message Date
7a5040155e Merge pull request #7125
5400ef6 Replace trickle nodes with per-node/message Poisson delays (Pieter Wuille)
2015-12-14 13:42:02 +01:00
64360f1304 Make max tip age an option instead of chainparam
After discussion in #7164 I think this is better.

Max tip age was introduced in #5987 to make it possible to run
testnet-in-a-box. But associating this behavior with the testnet chain
is wrong conceptually, as it is not needed in normal usage.
Should aim to make testnet test the software as-is.

Replace it with a (debug) option `-maxtipage`, which can be
specified only in the specific case.
2015-12-14 13:29:28 +01:00
dc511dcfd9 Merge pull request #7200
d812daf fix logic for error log (accraze)
c611acc wallet: check if tx scriptPubKey is unspendable (accraze)
b6915b8 checks for null data transaction before debug.log (accraze)
2015-12-14 13:08:35 +01:00
5f3c670d12 Merge pull request #7068
979698c [RPC-Tests] add option to run rpc test over QT clients (Jonas Schnelli)
2015-12-14 13:03:49 +01:00
979698c171 [RPC-Tests] add option to run rpc test over QT clients 2015-12-14 12:54:55 +01:00
ea0f5a2b04 Merge pull request #7185
e1030dd Note that reviewers should mention the commit hash of the commits they reviewed. (Patrick Strateman)
2015-12-14 12:44:27 +01:00
b7c704abab Merge pull request #7206
daf6466 Add "NODE_BLOOM" to guiutil so that peers don't get UNKNOWN[4] (Matt Corallo)
2015-12-14 08:57:33 +01:00
daf6466330 Add "NODE_BLOOM" to guiutil so that peers don't get UNKNOWN[4] 2015-12-13 16:21:48 -08:00
fa24439ff3 Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
fa6ad855e9 [devtools] Rewrite fix-copyright-headers.py 2015-12-13 18:07:36 +01:00
d812daf967 fix logic for error log 2015-12-12 10:45:53 -08:00
c611acc38a wallet: check if tx scriptPubKey is unspendable 2015-12-12 10:33:37 -08:00
b6915b8239 checks for null data transaction before debug.log
CWalletTx::GetAmounts could not find output address for null data transactions, thus issuing an error in debug.log. This change checks to see if the transaction is OP_RETURN before issuing error.

resolves #6142
2015-12-11 18:07:11 -08:00
5400ef6bcb Replace trickle nodes with per-node/message Poisson delays
We used to have a trickle node, a node which was chosen in each iteration of
the send loop that was privileged and allowed to send out queued up non-time
critical messages. Since the removal of the fixed sleeps in the network code,
this resulted in fast and attackable treatment of such broadcasts.

This pull request changes the 3 remaining trickle use cases by random delays:
* Local address broadcast (while also removing the the wiping of the seen filter)
* Address relay
* Inv relay (for transactions; blocks are always relayed immediately)

The code is based on older commits by Patrick Strateman.
2015-12-11 22:20:38 +01:00
9ee02cf564 Merge pull request #7156
6e76587 rpc: remove cs_main lock from `createrawtransaction` (Wladimir J. van der Laan)
2015-12-11 14:55:38 +01:00
d1e17ff640 Merge pull request #7181
9bbe71b net: Add and document network messages in protocol.h (Wladimir J. van der Laan)
2015-12-11 10:53:58 +01:00
f7f44b1bdd Merge pull request #7197
00423e1 Set link from http:// to https:// (Suriyaa Kudo)
2015-12-11 09:24:48 +01:00
e1030dddab Note that reviewers should mention the commit hash of the commits they reviewed. 2015-12-10 22:44:09 -08:00
00423e1a71 Set link from http:// to https://
For opensource.org/licenses/MIT!
2015-12-10 18:45:23 +01:00
9bbe71b641 net: Add and document network messages in protocol.h
- Avoids string typos (by making the compiler check)
- Makes it easier to grep for handling/generation of a certain message type
- Refer directly to documentation by following the symbol in IDE
- Move list of valid message types to protocol.cpp:
    protocol.cpp is a more appropriate place for this, and having
    the array there makes it easier to keep things consistent.
2015-12-10 12:14:06 +01:00
5dc63ed1ca Merge pull request #7179
2041190 test: Add basic test for `reject` code (Wladimir J. van der Laan)
9fc6ed6 net: Fix sent reject messages for blocks and transactions (Wladimir J. van der Laan)
2015-12-10 11:58:02 +01:00
00b4b8d1c4 Merge pull request #7154
a3c3ddb [Qt] add InMempool() info to transaction details (Jonas Schnelli)
2015-12-09 10:48:27 +01:00
e0769e1928 [depends] Latest config.guess & config.sub 2015-12-09 16:49:58 +08:00
fafd09375e [wallet] Adjust pruning test 2015-12-09 09:34:48 +01:00
20411903d7 test: Add basic test for reject code
Extend P2P test framework to make it possible to expect reject
codes for transactions and blocks.
2015-12-09 08:48:08 +01:00
0800092fc2 Merge pull request #4906
fc0f52d Added a test for the pruning of extraneous inputs after ApproximateBestSet (Murch)
af9510e Moved set reduction to the end of ApproximateBestSubset to reduce performance impact (Murch)
5c03483 Coinselection prunes extraneous inputs from ApproximateBestSubset (AlSzacrel)
2015-12-08 10:23:01 +01:00
16ccb74ef2 Merge pull request #7180
e3bc5e0 net: Account for `sendheaders` `verack` messages (Wladimir J. van der Laan)
2015-12-08 10:05:06 +01:00
fc0f52d780 Added a test for the pruning of extraneous inputs after ApproximateBestSet 2015-12-07 20:08:37 +01:00
af9510e037 Moved set reduction to the end of ApproximateBestSubset to reduce performance impact 2015-12-07 17:36:47 +01:00
e3bc5e0e92 net: Account for sendheaders verack messages
Looks like these were forgotten in #6589.
2015-12-07 15:17:53 +01:00
9fc6ed6003 net: Fix sent reject messages for blocks and transactions
Ever since we #5913 have been sending invalid reject messages
for transactions and blocks.
2015-12-07 14:53:20 +01:00
dc0305d15a Merge pull request #6589
ca188c6 log bytes recv/sent per command (Jonas Schnelli)
2015-12-07 13:54:22 +01:00
ca188c629e log bytes recv/sent per command 2015-12-07 13:32:59 +01:00
82bcf405f6 Merge pull request #7171
2f601d2 test: remove necessity to call create_callback_map (Wladimir J. van der Laan)
2015-12-07 12:43:44 +01:00
5c03483e26 Coinselection prunes extraneous inputs from ApproximateBestSubset
A further pass over the available inputs has been added to ApproximateBestSubset after a candidate set has been found. It will prune any extraneous inputs in the selected subset, in order to decrease the number of input and the resulting change.
2015-12-06 23:26:45 +01:00
075faaebf2 Merge pull request #7174
96918a2 Don't do mempool lookups for "mempool" command without a filter (Matt Corallo)
2015-12-05 15:26:43 -08:00
96918a2f09 Don't do mempool lookups for "mempool" command without a filter 2015-12-05 17:45:44 +08:00
a2822b97cb Merge pull request #7170
4c40ec0 tests: Disable Tor interaction (Wladimir J. van der Laan)
2015-12-05 10:10:47 +01:00
4c40ec0451 tests: Disable Tor interaction
This is unnecessary during the current tests (any test for Tor
interaction can explicitly enable it) and interferes with the proxy
test.
2015-12-04 13:24:12 +01:00
2f601d215d test: remove necessity to call create_callback_map
Remove necessity to call create_callback_map (as well as the function
itself) from the Python P2P test framework. Invoke the appropriate
methods directly.

- Easy to forget to call it and wonder why it doesn't work
- Simplifies the code
- This makes it easier to handle new messages in subclasses
2015-12-04 13:15:59 +01:00
792259278e Merge pull request #7166
6aadc75 Disconnect on mempool requests from peers when over the upload limit. (Gregory Maxwell)
2015-12-04 09:43:09 +01:00
6aadc75578 Disconnect on mempool requests from peers when over the upload limit.
Mempool requests use a fair amount of bandwidth when the mempool is large,
 disconnecting peers using them follows the same logic as disconnecting
 peers fetching historical blocks.
2015-12-03 20:13:10 +00:00
5548d9cb11 Merge pull request #7152
b440409 Add missing automake package to deb-based UNIX install instructions. (Matt Bogosian)
2015-12-03 13:53:46 +01:00
54a550bef8 Merge pull request #7113
086ee67 Switch to a more efficient rolling Bloom filter (Pieter Wuille)
2015-12-03 13:36:07 +01:00
7632cf689a [Tests] Refactor some shared functions 2015-12-03 13:25:27 +01:00
8843676621 Merge pull request #7133
aa4b0c2 When not filtering blocks, getdata sends more in one test (Pieter Wuille)
d41e44c Actually only use filterInventoryKnown with MSG_TX inventory messages. (Gregory Maxwell)
b6a0da4 Only use filterInventoryKnown with MSG_TX inventory messages. (Patick Strateman)
6b84935 Rename setInventoryKnown filterInventoryKnown (Patick Strateman)
e206724 Remove mruset as it is no longer used. (Gregory Maxwell)
ec73ef3 Replace setInventoryKnown with a rolling bloom filter. (Gregory Maxwell)
2015-12-03 13:16:46 +01:00
c12ff995f7 Now that 0.12 has been branched, master is 0.12.99
... in preparation for 0.13
2015-12-03 12:07:01 +01:00
3cd836c1d8 Merge pull request #7158
fab8347 [qt] Use tr() instead of _() (MarcoFalke)
2015-12-03 10:52:49 +01:00
901b01d674 Remove GetMinRelayFee
One test in AcceptToMemoryPool was to compare a transaction's fee
agains the value returned by GetMinRelayFee. This value was zero for
all small transactions.  For larger transactions (between
DEFAULT_BLOCK_PRIORITY_SIZE and MAX_STANDARD_TX_SIZE), this function
was preventing low fee transactions from ever being accepted.

With this function removed, we will now allow transactions in that range
with fees (including modifications via PrioritiseTransaction) below
the minRelayTxFee, provided that they have sufficient priority.
2015-12-02 12:59:30 -05:00
27fae3484c Use fee deltas for determining mempool acceptance 2015-12-02 12:59:30 -05:00