aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2019-01-24 15:19:47 +0100
committerWladimir J. van der Laan <laanwj@gmail.com>2019-01-24 15:25:17 +0100
commit72bd4ab867e3be0d8410403d9641c08288d343e3 (patch)
treeaac7d5bbf05ba12d12ffd939fb937e6b5ea72041
parent5eb32d23841bbcd8eaf7ba49dc4ddfd822bd4773 (diff)
parenta36d97d866e8a11f205d07c624ace7c3d1a2ded8 (diff)
downloadbitcoin-72bd4ab867e3be0d8410403d9641c08288d343e3.tar.xz
Merge #15193: Default -whitelistforcerelay to off
a36d97d866e8a11f205d07c624ace7c3d1a2ded8 Default -whitelistforcerelay to off (Suhas Daftuar) Pull request description: No one seems to use this "feature", and at any rate the behavior of relaying transactions when they violate local policy is error-prone, if we ever consider changing the ban behavior of our software from one version to the next. Defaulting this to off means that users who use -whitelist won't be unexpectedly surprised by this interaction. If anyone is still relying on this feature, it can still be explicitly turned on. Tree-SHA512: 52650ad464a728d1648f496751e3f713077ea3a1de7278ed03531b2e8723e63cf2f6f41b56c98c0f73ffa22c36e01d9170b409ab452c737aca35b7ecd7a6b448
-rw-r--r--doc/release-notes.md8
-rw-r--r--src/validation.h2
-rwxr-xr-xtest/functional/p2p_segwit.py2
3 files changed, 10 insertions, 2 deletions
diff --git a/doc/release-notes.md b/doc/release-notes.md
index c21a153a25..9e04f11635 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -111,6 +111,14 @@ Configuration option changes
ambiguous whether the hash character is meant for the password or as a
comment.
+- The `whitelistforcerelay` option is used to relay transactions from
+ whitelisted peers even when not accepted to the mempool. This option now
+ defaults to being off, so that changes in policy and disconnect/ban behavior
+ will not cause a node that is whitelisting another to be dropped by peers.
+ Users can still explicitly enable this behavior with the command line option
+ (and may want to consider letting the Bitcoin Core project know about their
+ use-case, as this feature could be deprecated in the future).
+
Documentation
-------------
diff --git a/src/validation.h b/src/validation.h
index b5548a9293..c0ffc9b0e4 100644
--- a/src/validation.h
+++ b/src/validation.h
@@ -50,7 +50,7 @@ struct LockPoints;
/** Default for -whitelistrelay. */
static const bool DEFAULT_WHITELISTRELAY = true;
/** Default for -whitelistforcerelay. */
-static const bool DEFAULT_WHITELISTFORCERELAY = true;
+static const bool DEFAULT_WHITELISTFORCERELAY = false;
/** Default for -minrelaytxfee, minimum relay fee for transactions */
static const unsigned int DEFAULT_MIN_RELAY_TX_FEE = 1000;
//! -maxtxfee default
diff --git a/test/functional/p2p_segwit.py b/test/functional/p2p_segwit.py
index d95da227e5..8f8e89cf15 100755
--- a/test/functional/p2p_segwit.py
+++ b/test/functional/p2p_segwit.py
@@ -755,7 +755,7 @@ class SegWitTest(BitcoinTestFramework):
spend_tx.vin[0].scriptSig = CScript([p2wsh_pubkey, b'a'])
spend_tx.rehash()
with self.nodes[0].assert_debug_log(
- expected_msgs=('Not relaying invalid transaction {}'.format(spend_tx.hash), 'was not accepted: mandatory-script-verify-flag-failed (Script evaluated without error but finished with a false/empty top stack element)')):
+ expected_msgs=(spend_tx.hash, 'was not accepted: mandatory-script-verify-flag-failed (Script evaluated without error but finished with a false/empty top stack element)')):
test_transaction_acceptance(self.nodes[0], self.test_node, spend_tx, with_witness=False, accepted=False)
# Now put the witness script in the witness, should succeed after