Commit Graph

6667 Commits

Author SHA1 Message Date
Gregory Maxwell
86755bc85a
Add whitelistforcerelay to control forced relaying. [#7099 redux]
- Add whitelistforcerelay to control forced relaying.

Also renames whitelistalwaysrelay.

Nodes relay all transactions from whitelisted peers, this
 gets in the way of some useful reasons for whitelisting
 peers-- for example, bypassing bandwidth limitations.

The purpose of this forced relaying is for specialized gateway
 applications where a node is being used as a P2P connection
 filter and multiplexer, but where you don't want it getting
 in the way of (re-)broadcast.

This change makes it configurable with whitelistforcerelay.

- Blacklist -whitelistalwaysrelay; replaced by -whitelistrelay.

Github-Pull: #7439
Rebased-From: 325c725fb6205e38142914acb9ed1733d8482d46 89d113e02a83617b4e971c160d47551476dacc71
2016-02-01 14:15:40 +01:00
Gregory Maxwell
8e09f914f8 Decide eviction group ties based on time.
This corrects a bug the case of tying group size where the code may
 fail to select the group with the newest member. Since newest time
 is the final selection criteria, failing to break ties on it
 on the step before can undermine the final selection.

Tied netgroups are very common.
2016-01-28 22:46:06 +00:00
Gregory Maxwell
46dbcd4833 Do not absolutely protect local peers from eviction.
With automatic tor HS support in place we should probably not be providing
 absolute protection for local peers, since HS inbound could be used to
 attack pretty easily.  Instead, this counts on the latency metric inside
 AttemptToEvictConnection to privilege actually local peers.
2016-01-28 22:45:22 +00:00
Wladimir J. van der Laan
cb83beb375
net: Hardcoded seeds update January 2016
Github-Pull: #7415
Rebased-From: 4818dba90074f213efa0fa7faf577ce5fb02eaee
2016-01-28 10:55:11 +01:00
Cory Fields
aa26ee0101
release: Add security/export checks to gitian and fix current failures
- fix parsing of BIND_NOW with older readelf
- add _IO_stdin_used to ignored exports

For details see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634261#109

- add check-symbols and check-security make targets

These are not added to the default checks because some of them depend on
release-build configs.

- always link librt for glibc back-compat builds

glibc absorbed clock_gettime in 2.17. librt (its previous location) is safe to
link in anyway for back-compat.

Fixes #7420

- add security/symbol checks to gitian

Github-Pull: #7424
Rebased-From: cd27bf51e06a8d79790a631696355bd05751b0aa 475813ba5b208eb9a5d027eb628a717cc123ef4f f3d3eaf78eb51238d799d8f20a585550d1567719 a8ce872118c4807465629aecb9e4f3d72d999ccb a81c87fafce43e49cc2307947e3951b84be7ca9a
2016-01-27 11:33:33 +01:00
Wladimir J. van der Laan
5df314b927
qt: pre-rc2 translations update 2016-01-22 11:43:19 +01:00
Wladimir J. van der Laan
b16b5bc191
Merge #7371: [0.12] backports
236686b [init] Add missing help for args (MarcoFalke)
44438a1 [init] Fix error message of maxtxfee invalid amount (MarcoFalke)
a74fa1f [Wallet] Transaction View: LastMonth calculation fixed (crowning-)
2016-01-22 11:41:04 +01:00
Wladimir J. van der Laan
f4b2ce8ee8
Merge #7387: Get rid of inaccurate ScriptSigArgsExpected
52b29dc Get rid of inaccurate ScriptSigArgsExpected (Pieter Wuille)
2016-01-22 11:39:58 +01:00
MarcoFalke
7726c487f8
[qt] Windows: Make rpcconsole monospace font larger
Github-Pull: #7364
Rebased-From: fa6a59dd397e62e850fc57df05cd6d117fbdcd82
2016-01-22 11:21:33 +01:00
Pieter Wuille
52b29dca76 Get rid of inaccurate ScriptSigArgsExpected 2016-01-21 13:52:32 +01:00
Wladimir J. van der Laan
da83ecd454
Add option -permitrbf to set transaction replacement policy
Add a configuration option `-permitrbf` to set transaction replacement policy
for the mempool.

Enabling it will enable (opt-in) RBF, disabling it will refuse all
conflicting transactions.

Conflicts:
	src/init.cpp
	src/main.cpp
	src/main.h

Github-Pull: #7386
Rebased-From: b768108d9c0b83330572711aef1e569543130d5e
2016-01-21 12:38:52 +01:00
Suhas Daftuar
e25b158ab8
RPC: indicate which transactions are replaceable
Add "bip125-replaceable" output field to listtransactions and gettransaction
which indicates if an unconfirmed transaction, or any unconfirmed parent, is
signaling opt-in RBF according to BIP 125.

Github-Pull: #7286
Rebased-From: eaa8d2754b48b62cdd07255fc3028feecad0c095
2016-01-20 13:50:58 +01:00
MarcoFalke
621bbd88ba
[walletdb] Fix syntax error in key parser
Github-Pull: #7381
Rebased-From: fa6d4cc09575de30386bfbc5c8c3858cd7a2f42a
2016-01-20 13:08:40 +01:00
MarcoFalke
236686b844 [init] Add missing help for args
Github-Pull: #7290
Rebased-From: fa6ab96799f9d7946200fb646fefe35c6daab9b2 faa572a3296c0955dcb2cc0bd9b925c2a31e7892 fa461df685063e6b12664fe6928362484f690f01
2016-01-18 14:24:07 +01:00
MarcoFalke
44438a192a [init] Fix error message of maxtxfee invalid amount
Github-Pull: #7290
Rebased-From: fac11ea3106ff29ec884dfe9d9b287fd1beda5fc
2016-01-18 14:18:49 +01:00
crowning-
a74fa1f06b [Wallet] Transaction View: LastMonth calculation fixed
Github-Pull: #7327
Rebased-From: 30cdacea3c356acda32ab77238f07c1c40b1f1b5
2016-01-18 14:14:31 +01:00
James O'Beirne
351ffd8482
Fix help, add RPC tests for getblockheader
- Add assert_is_hex_string and assert_is_hash_string to RPC test utils.
- Add RPC documentation for getblockheader[chainwork].
- Add RPC tests for getblockheader.

Github-Pull: #7194
Rebased-From: 16d4fce0b203bdaa679ad5b3f1e6b6f46880d5d2 4745636126d9a4f28f701f701be392779815a7bf 135d6ec8cedc83ad800da45080c16d49e9182e80
2016-01-18 12:25:50 +01:00
Gregory Sanders
c0d2382170
Added help text for chainwork value
Github-Pull: #7232
Rebased-From: 94bdd71f9b4768c9803ffd133aa7781b19bfa6f9
2016-01-18 12:20:42 +01:00
Wladimir J. van der Laan
1709cc5cb0
Merge pull request #7338
f17b00b release-notes: Combine NOP2->CLTV asm change into "RPC: Low-level API changes" section (Luke Dashjr)
e20704b Replace some instances of formatWithUnit with formatHtmlWithUnit (fanquake)
6f8346d qt5: Use the fixed font the system recommends (MarcoFalke)
605de4a Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY. (mb300sd)
6191a9b [RPC-Tests] add option to run rpc test over QT clients (Jonas Schnelli)
6307beb Note that reviewers should mention the commit hash of the commits they reviewed. (Patrick Strateman)
6092ff2 Set link from http:// to https:// (Suriyaa Kudo)
2016-01-18 10:36:57 +01:00
Prayag Verma
098fcb5694
Update license year range to 2016
Conflicts:
	configure.ac

Github-Pull: #7363
Rebased-From: bd34174ebca239e6796f0eb2015ddc2f218aac3c
2016-01-18 10:31:30 +01:00
fanquake
e20704ba71 Replace some instances of formatWithUnit with formatHtmlWithUnit
Strings in a HTML context should be using formatHtmlWithUnit.

Github-Pull: #7255
Rebased-From: 5fdf32de7ed85a1a0aec7cdedb83f750f4a0f7ff
2016-01-13 21:25:36 +00:00
MarcoFalke
6f8346db5f qt5: Use the fixed font the system recommends
Github-Pull: #7214
Rebased-From: fa2f4bc4eb0f21f5be8c88954ae2d99c5b18b987
2016-01-13 21:25:36 +00:00
mb300sd
605de4a88a Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY.
Github-Pull: #7213
Rebased-From: 37d271d7cce44885f835292ffe99b54399b014d6
2016-01-13 21:25:36 +00:00
Jonas Schnelli
a06a8b4888 add InMempool() function 2016-01-13 11:28:28 -05:00
Wladimir J. van der Laan
2a3161bf8b
Merge pull request #7332 2016-01-13 16:02:12 +01:00
Wladimir J. van der Laan
afe825f075
Update translations pre-rc1 2016-01-13 15:58:59 +01:00
Alex Morcos
fd4bd5009e
Add RPC call abandontransaction
- Make wallet descendant searching more efficient
- Add new rpc call: abandontransaction

Unconfirmed transactions that are not in your mempool either due to eviction or other means may be unlikely to be mined.  abandontransaction gives the wallet a way to no longer consider as spent the coins that are inputs to such a transaction.  All dependent transactions in the wallet will also be marked as abandoned.

- Add RPC test for abandoned and conflicted transactions.
- [Wallet] Call notification signal when a transaction is abandoned

Github-Pull: #7312
Rebased-From: 9e697172542e2b01517e4025df2c23d0ed5447f4 01e06d1fa365cedb7f5d5e17e6bdf0b526e700c5 df0e2226d998483d247c0245170f6b8ff6433b1d d11fc1695c0453ef22a633e516726f82717dd1d9
2016-01-13 15:55:00 +01:00
MarcoFalke
faf671bca6 [wallet] Clarify rpc help message with regard to rounding 2016-01-13 12:06:24 +01:00
Alex Morcos
a36d79bfe2
Add sane fallback for fee estimation
- Always respect GetRequiredFee for wallet txs
- Add sane fallback for fee estimation
- SQUASHME: Fix rpc tests that assumed fallback to minRelayTxFee

Add new commandline option "-fallbackfee" to use when fee estimation does not have sufficient data.

Github-Pull: #7296
Rebased-From: 995b9f3 e420a1b bebe58b
2016-01-13 11:06:17 +01:00
Luke Dashjr
5b144b7113 Merge branch bytespersigop 2016-01-09 17:02:35 +00:00
Alex Morcos
4707797df2
Make sure conflicted wallet tx's update balances
Github-Pull: #7306
Rebased-From: f61766b37beb2fecbe3915a72a814cbdb107be0a
2016-01-08 17:38:04 +01:00
Wladimir J. van der Laan
9265e89a77
Merge pull request #7318
daa8da2 Backport: quickfix for RPC timer interface problem (Jonas Schnelli)
2016-01-08 17:33:59 +01:00
MarcoFalke
b1a8374aaa
[qt] Intro: Display required space
Required space depends on the user's choice:
 -prune=0
 -prune=<n>
2016-01-08 11:22:08 +01:00
Jonas Schnelli
daa8da281b
Backport: quickfix for RPC timer interface problem 2016-01-08 11:09:34 +01:00
MarcoFalke
ff9b610026
[wallet] Add regression test for vValue sort order
- [wallet] Add regression test for vValue sort order
- [trivial] Merge test cases and replace CENT with COIN

Github-Pull: #7293
Rebased-From: fa3c7e644f427329bcffa1a5600fdbd7e97c837f faf538bfdbb4ecebde73e95c80718c2d9ecee1f5
2016-01-07 09:25:57 +01:00
MarcoFalke
1ed938b5fe
[qa] wallet: Check if maintenance changes the balance
- [qa] Cleanup wallet.py test
- [qa] check if wallet or blochchain maintenance changes the balance
- [walletdb] Add missing LOCK() in Recover() for dummyWallet

Github-Pull: #7229
Rebased-From: fa0765d433eb6d44a5cbec44f136b62814c663e5 fa14d994843fe2d700c977653cd3133d0a77cb67 fa33d9740c9b0d1071094ab6c1736f27a7090c95
2016-01-07 09:19:25 +01:00
MarcoFalke
333e1eaeea
Bump copyright headers to 2015
- Bump copyright headers to 2015
- [devtools] Rewrite fix-copyright-headers.py
- [devtools] Use git pretty-format for year parsing

Github-Pull: #7205
Rebased-From: fa6ad855e9159b2247da4fa0054f32fa181499ab fa24439ff3d8ab5b9efaf66ef4dae6713b88cb35 fa71669452e57039e4270fd2b33a0e0e1635b813
2016-01-05 14:13:33 +01:00
Jonas Schnelli
5cadf3eb60
[Qt] fix coincontrol update issue when deleting a send coin entry
Github-Pull: #7282
Rebased-From: 621bd6919f47be4d23091d8ae7c980f9567d83a9
2016-01-05 13:08:32 +01:00
MarcoFalke
bfdaa3c87f
[wallet] Adjust pruning test
Github-Pull: #7193
Rebased-From: fafd09375eb5133abf921132643384a1ac6fa444
2016-01-05 12:57:57 +01:00
Suhas Daftuar
e08b7cb33c
Mark blocks with too many sigops as failed
Github-Pull: #7217
Rebased-From: 5246180f168c9b761b6158b0725f5718239ba66c
2016-01-05 12:05:28 +01:00
Wladimir J. van der Laan
3cb066c62b
Update translations after #7253
Include translations that omit raw number from the singular case.
2016-01-04 12:12:50 +01:00
Wladimir J. van der Laan
5ba42bad6d
qt: periodic translations pull from transifex 2016-01-04 09:48:18 +01:00
Wladimir J. van der Laan
2d6a493493
Merge pull request #7245
fa8c8d7 torcontrol debug: Change to a blanket message that covers both cases (MarcoFalke)
2016-01-04 09:44:01 +01:00
Pieter Wuille
76de36fd2e
Report non-mandatory script failures correctly
Github-Pull: #7276
Rebased-From: 7ef8f3c072a8750c72a3a1cdc727b5c1d173bac8
2016-01-04 09:13:09 +01:00
Suhas Daftuar
12c469b236
[Mempool] Fix mempool limiting and replace-by-fee for PrioritiseTransaction
1) Fix mempool limiting for PrioritiseTransaction

Redo the feerate index to be based on mining score, rather than fee.

Update mempool_packages.py to test prioritisetransaction's effect on
package scores.

2) Update replace-by-fee logic to use fee deltas

3) Use fee deltas for determining mempool acceptance

4) 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.

Github-Pull: #7062
Rebased-From: eb306664e786ae43d539fde66f0fbe2a3e89d910 9ef2a25603c9ec4e44c4f45c6a5d4e4386ec86d3 27fae3484cdb21b0d24face833b966fce5926be5 901b01d674031f9aca717deeb372bafa160a24af
2015-12-21 17:19:53 +01:00
Elias Rohrer
9572e4944a
Removed offline testnet DNSSeed 'alexykot.me'.
Github-Pull: #7216
Rebased-From: e18378e53fb71c39236db35ab2d560b43602b1be
2015-12-17 10:40:50 +01:00
MarcoFalke
fa8c8d7fa6 torcontrol debug: Change to a blanket message that covers both cases 2015-12-16 12:57:06 +01:00
Pieter Wuille
10b88be798
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.

Github-Pull: #7125
Rebased-From: 5400ef6bcb9d243b2b21697775aa6491115420f3
2015-12-14 13:43:53 +01:00
accraze
06c6a58463
Checks for null data transaction before issuing error to 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

Github-Pull: #7200
Rebased-From: b6915b82398d2e1d1f888b3816adfaf06d9a450e c611acc38a95d336a824b632823aa1b652e570df d812daf967ba4173bfa1c37eeb4ab7a0ccc4df25
2015-12-14 13:10:02 +01:00
Matt Corallo
f43c2f9a8a
Add "NODE_BLOOM" to guiutil so that peers don't get UNKNOWN[4]
Rebased-From: daf6466330d9d3e4d9034fd316cded192d2a7d67
Github-Pull: #7206
2015-12-14 09:54:56 +01:00