Commit Graph

14993 Commits

Author SHA1 Message Date
Homu 1cf4a10456 Auto merge of #5029 - steven-ecc:nu5-activation-logic, r=steven-ecc
Adding base NU5 declarations and logic

Add NU5 base definitions and boilerplate logic.

Closes [#5025](https://github.com/zcash/zcash/issues/5025).
2021-03-10 02:08:43 +00:00
Steven Smith 48d5142dc1 Adding base NU5 declarations and logic 2021-03-06 17:35:54 -08:00
Homu 2aa9fbbdfe Auto merge of #4997 - str4d:2074-net-setInventoryKnown, r=str4d
Replace setInventoryKnown with a rolling bloom filter

Cherry-picked from bitcoin/bitcoin#7133.
- Excluding for last commit, which needs bitcoin/bitcoin#7129.

Part of #2074.
2021-03-05 12:17:16 +00:00
Homu 39a860c12b Auto merge of #5015 - daira:fix-nix, r=therealyingtong
Fix build regression by adding #include <atomic>

This fixes #5014, a build regression on Nix introduced in e286250ce4 .

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-03-04 16:57:32 +00:00
Daira Hopwood a0ac27ec6e Fix regression introduced in e286250ce4 by adding #include <atomic>. fixes #5014
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-03-01 17:00:13 +00:00
Homu 0aa6d1ef3d Auto merge of #5007 - nuttycom:trivial/gitignore_otmp, r=str4d
Ignore temporary build artifacts.
2021-02-25 23:01:44 +00:00
Homu 834343327b Auto merge of #5011 - str4d:ci-fix-book, r=str4d
CI: Correctly build zcashd book
2021-02-25 22:06:22 +00:00
Jack Grigg 6962a9a3d3 CI: Correctly build zcashd book 2021-02-25 15:00:33 +00:00
Homu a675d9089d Auto merge of #5010 - str4d:release-v4.3.0, r=str4d
Release v4.3.0
2021-02-24 21:59:37 +00:00
Jack Grigg e3282abf75 doc: Minor fixes to v4.3.0 release notes 2021-02-24 21:58:32 +00:00
Jack Grigg 8b91e3bf21 make-release.py: Updated release notes and changelog for 4.3.0. 2021-02-24 20:17:10 +00:00
Jack Grigg f09bef8634 make-release.py: Updated manpages for 4.3.0. 2021-02-24 20:17:10 +00:00
Jack Grigg 205b40da9a make-release.py: Versioning changes for 4.3.0. 2021-02-24 20:12:54 +00:00
Kris Nuttycombe edc34f0464 Ignore temporary build artifacts. 2021-02-23 18:22:03 -07:00
Homu e68e43a0fe Auto merge of #5001 - mdr0id:add_zstd_apt_package, r=str4d
add zstd package to support Windows cross compile

Once the v4.3.0 release is stable, we will need to go rebuild/deploy this builder with a couple other updates so that windows can gracefully cross compile again.
2021-02-23 01:47:34 +00:00
Gregory Maxwell 9e67ec66a2 Blacklist -whitelistalwaysrelay; replaced by -whitelistrelay.
Zcash: just a comment fix, no need to blacklist as -whitelistalwaysrelay
will never have been active.
(cherry picked from commit 89d113e02a83617b4e971c160d47551476dacc71)
2021-02-22 18:29:12 -07:00
Gregory Maxwell c411af61e7 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.

(cherry picked from commit 325c725fb6205e38142914acb9ed1733d8482d46)
2021-02-22 18:26:40 -07:00
Homu 5c0f3ffe25 Auto merge of #5002 - mdr0id:gitian_libxml2_descriptor, r=str4d
add libxml2

Adding libxml2 to linux gitian descriptors
2021-02-23 00:13:18 +00:00
Marshall Gaucher 14de44030f
add libxml2
Adding libxml2 to linux gitian descriptors
2021-02-22 14:37:30 -08:00
mdr0id beb40ce3e7 add zstd package 2021-02-22 13:20:59 -08:00
Homu 1bcb118fe9 Auto merge of #5000 - str4d:cargo-update, r=str4d
Update Rust dependencies for 4.3.0

Fixes a regression in #4993, and also pins `funty` to avoid an ongoing issue.
2021-02-21 14:41:26 +00:00
Jack Grigg df489e9a50 rust: Pin funty =1.1.0
Temporary workaround for https://github.com/myrrlyn/funty/issues/3
2021-02-20 18:34:11 +00:00
Jack Grigg 81fd148475 cargo update 2021-02-20 18:32:34 +00:00
Kaz Wesley c3646bdf88 lock cs_main for chainActive
ActivateBestChain uses chainActive after releasing the lock; reorder operations
to move all access to synchronized object into existing LOCK(cs_main) block.

zcash: cherry picked from commit 719de56ab2c8e5bc6ce9f67c7bf159adc242d49b
zcash: https://github.com/bitcoin/bitcoin/pull/7942
2021-02-19 17:53:54 -07:00
Homu fd9bf43c3d Auto merge of #4998 - str4d:release-v4.3.0-rc1, r=str4d
Release v4.3.0-rc1
2021-02-20 00:52:04 +00:00
Kaz Wesley 111eedf7bf lock cs_main for State/Misbehaving
ProcessMessage calls State(...) and Misbehaving(...) without holding the
required lock; add LOCK(cs_main) blocks.

zcash: cherry picked from commit efb54ba065e41e0d36383bcabfcc01bbca7b2340
zcash: https://github.com/bitcoin/bitcoin/pull/7942
2021-02-19 16:53:15 -07:00
Pavel Janík 4798e94186 Notify other serviceQueue thread we are finished to prevent deadlocks.
zcash: cherry picked from commit 166e4b0dfa283fbdedc9a6a1e83296500c853a31
zcash: https://github.com/bitcoin/bitcoin/pull/8016
2021-02-19 15:11:22 -07:00
Yuri Zhykin e715e1393b Fix for incorrect locking in GetPubKey() (keystore.cpp)
zcash: cherry picked from commit 220f950ab1302f8f8c0bb5b9c818f3d6569796bd
zcash: https://github.com/bitcoin/bitcoin/pull/7913
2021-02-19 15:11:22 -07:00
Pieter Wuille 41713465f5 Clean up lockorder data of destroyed mutexes
The lockorder potential deadlock detection works by remembering for each
lock A that is acquired while holding another B the pair (A,B), and
triggering a warning when (B,A) already exists in the table.

A and B in the above text are represented by pointers to the CCriticalSection
object that is acquired. This does mean however that we need to clean up the
table entries that refer to any critical section which is destroyed, as it
memory address can potentially be used for another unrelated lock in the future.

Implement this clean up by remembering not only the pairs in forward direction,
but also backward direction. This allows for fast iteration over all pairs that
use a deleted CCriticalSection in either the first or the second position.

zcash: cherry picked from commit 5eeb913d6cff9cfe9a6769d7efe4a7b9f23de0f4
zcash: https://github.com/bitcoin/bitcoin/pull/7846
2021-02-19 15:11:22 -07:00
Jack Grigg 6052843b6f make-release.py: Updated release notes and changelog for 4.3.0-rc1. 2021-02-19 22:05:06 +00:00
Jack Grigg 1e12f4b00e make-release.py: Updated manpages for 4.3.0-rc1. 2021-02-19 22:05:05 +00:00
Jack Grigg e8096841a3 make-release.py: Versioning changes for 4.3.0-rc1. 2021-02-19 21:51:00 +00:00
Homu 6affd6c8e4 Auto merge of #4995 - str4d:release-notes-4.3.0, r=str4d
Fill out release notes for v4.3.0
2021-02-19 20:16:38 +00:00
Gregory Maxwell 227933f74d Actually only use filterInventoryKnown with MSG_TX inventory messages.
Previously this logic could erroneously filter a MSG_BLOCK inventory message.
2021-02-19 20:16:10 +00:00
Patick Strateman 2391de6375 Only use filterInventoryKnown with MSG_TX inventory messages.
Previously this logic could erroneously filter a MSG_BLOCK inventory message.
2021-02-19 20:16:10 +00:00
Patick Strateman 021ff72e60 Rename setInventoryKnown filterInventoryKnown 2021-02-19 20:16:10 +00:00
Gregory Maxwell 12ddfcacd4 Remove mruset as it is no longer used. 2021-02-19 20:16:10 +00:00
Gregory Maxwell 994a094379 Replace setInventoryKnown with a rolling bloom filter.
Mruset setInventoryKnown was reduced to a remarkably small 1000
 entries as a side effect of sendbuffer size reductions in 2012.

This removes setInventoryKnown filtering from merkleBlock responses
 because false positives there are especially unattractive and
 also because I'm not sure if there aren't race conditions around
 the relay pool that would cause some transactions there to
 be suppressed. (Also, ProcessGetData was accessing
 setInventoryKnown without taking the required lock.)
2021-02-19 20:16:10 +00:00
MarcoFalke c8f15614e5 Move blocksonly parameter interaction to InitParameterInteraction() 2021-02-19 20:01:02 +00:00
Jonas Schnelli 2acfcc801f Move -blocksonly parameter interaction to the new ParameterInteraction() function 2021-02-19 19:56:18 +00:00
Patick Strateman 724a7097a5 Improve log messages for blocks only violations. 2021-02-19 19:28:16 +00:00
Peter Todd f191acc477 Add relaytxes status to getpeerinfo 2021-02-19 19:28:16 +00:00
Patick Strateman bd129f177f Bail early in processing transactions in blocks only mode.
Previously unsolicited transactions would be processed as normal.
2021-02-19 19:28:16 +00:00
Patick Strateman 34560b5842 Fix relay mechanism for whitelisted peers under blocks only mode.
Previously in blocks only mode all inv messages where type!=MSG_BLOCK would be
rejected without regard for whitelisting or whitelistalwaysrelay.

As such whitelisted peers would never send the transaction (which would be
processed).

Zcash: We made a similar refactor in zcash/zcash#4944; this commit now
contains the necessary delta to bring us in line with the original
commit's output.
2021-02-19 19:28:16 +00:00
Patick Strateman 237de99aa9 Fix comment for blocksonly parameter interactions 2021-02-19 19:28:16 +00:00
Patick Strateman f9555b6c18 Fix fRelayTxs comment 2021-02-19 19:28:16 +00:00
Patick Strateman fd635a1f86 Display DEFAULT_WHITELISTALWAYSRELAY in help text 2021-02-19 19:28:16 +00:00
Patick Strateman 92f952e265 Use DEFAULT_BLOCKSONLY and DEFAULT_WHITELISTALWAYSRELAY constants 2021-02-19 19:28:16 +00:00
Patick Strateman 7e6ef59248 Add help text for blocksonly and whitelistalwaysrelay 2021-02-19 19:28:16 +00:00
Patick Strateman 32a1bbf0ae Add whitelistalwaysrelay option 2021-02-19 19:28:16 +00:00