Commit Graph

17353 Commits

Author SHA1 Message Date
Kris Nuttycombe 6fe1b5e595 make-release.py: Versioning changes for 5.3.3. 2023-02-20 19:43:45 -07:00
Kris Nuttycombe 700d785046 Postpone dependency updates. 2023-02-20 19:43:03 -07:00
Kris Nuttycombe 1478dc1e7f Update release notes for v5.3.3 hotfix 2023-02-20 19:37:38 -07:00
Kris Nuttycombe 2c85dd9598 Merge remote-tracking branch '22387-backport' into hotfix-5.3.3 2023-02-20 19:33:18 -07:00
Kris Nuttycombe 169e890f1e Merge remote-tracking branch 'trim-cnode' into hotfix-5.3.3 2023-02-20 19:30:48 -07:00
Kris Nuttycombe f30c3c97b7 Merge remote-tracking branch 'remove-mapRequest' into hotfix-5.3.3 2023-02-20 19:30:25 -07:00
Daira Hopwood 074e633798 Improve the encapsulation of `CNode::filterInventoryKnown`.
Co-authored-by: Jack Grigg <jack@z.cash>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2023-02-20 23:39:20 +00:00
Daira Hopwood c5b8807ce7 Ensure that CNode::{addrKnown, filterInventoryKnown} immediately take
little memory when we disconnect the node.

Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Co-authored-by: Jack Grigg <str4d@z.cash>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2023-02-20 20:14:55 +00:00
Daira Hopwood 0a39cc6727 Enable a CRollingBloomFilter to be reset to a state where it takes little memory.
Co-authored-by: Jack Grigg <jack@z.cash>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2023-02-20 18:32:46 +00:00
str4d 6c0f4a7e60
Merge pull request #6445 from cronicc/update_horizen_security_mail
Fix Horizen Security contact email
2023-02-19 00:11:21 +00:00
str4d 34487b7e8b
Merge pull request #6443 from str4d/update-deps-5.5.0
Update dependencies for 5.5.0
2023-02-18 15:53:03 +00:00
Jon Atack 9555b5e8a4 p2p, rpc, test: address rate-limiting follow-ups
(cherry picked from commit bitcoin/bitcoin@d930c7f5b0)
2023-02-17 17:54:39 -07:00
Pieter Wuille 1dddc1337c Add logging and addr rate limiting statistics
Includes logging improvements by Vasil Dimov and John Newbery.

(cherry picked from commit bitcoin/bitcoin@f424d601e1)
2023-02-17 16:47:47 -07:00
Pieter Wuille c8cdfcffd0 Randomize the order of addr processing
(cherry picked from commit bitcoin/bitcoin@5648138f59)
2023-02-17 16:47:37 -07:00
Greg Pfeil 2c48eddfa5
Remove `ResetRequestCount`
There is no longer any `mapRequestCount` to reset.

This also removes the `BlockFound` signal, as its only purpose was to call
`ResetRequestCount`.
2023-02-17 15:45:29 -07:00
cronicc 821d1afb75
Fix Horizen Security contact email 2023-02-17 22:16:38 +00:00
Pieter Wuille 7c739e2b20 Rate limit the processing of incoming addr messages
While limitations on the influence of attackers on addrman already
exist (affected buckets are restricted to a subset based on incoming
IP / network group), there is no reason to permit them to let them
feed us addresses at more than a multiple of the normal network
rate.

This commit introduces a "token bucket" rate limiter for the
processing of addresses in incoming ADDR and ADDRV2 messages.
Every connection gets an associated token bucket. Processing an
address in an ADDR or ADDRV2 message from non-whitelisted peers
consumes a token from the bucket. If the bucket is empty, the
address is ignored (it is not forwarded or processed). The token
counter increases at a rate of 0.1 tokens per second, and will
accrue up to a maximum of 1000 tokens (the maximum we accept in a
single ADDR or ADDRV2). When a GETADDR is sent to a peer, it
immediately gets 1000 additional tokens, as we actively desire many
addresses from such peers (this may temporarily cause the token
count to exceed 1000).

The rate limit of 0.1 addr/s was chosen based on observation of
honest nodes on the network. Activity in general from most nodes
is either 0, or up to a maximum around 0.025 addr/s for recent
Bitcoin Core nodes. A few (self-identified, through subver) crawler
nodes occasionally exceed 0.1 addr/s.

(cherry-picked from commit bitcoin/bitcoin@0d64b8f709)
2023-02-17 14:36:25 -07:00
Matt Corallo aa88e23f6b
Remove useless mapRequest tracking that just effects Qt display.
I thought we had removed this a long time ago, TBH, its really
confusing feedback to users that we display whether a tx was
broadcast to immediate neighbor nodes, given that has little
indication of whether the tx propagated very far.
2023-02-17 14:04:37 -07:00
Jack Grigg 4ad081714f qa: Postpone LevelDB 1.23 2023-02-17 04:37:37 +00:00
Jack Grigg 245f9666ff `cargo update` 2023-02-17 04:36:20 +00:00
sasha a0869d6a35 Re-download parameters if they already exist but don't have correct sums
We change the help text to allude to this behavior as well.
2023-02-16 17:01:14 -08:00
sasha 862c52c48b Enable the (existing) custom error message for the invalid checksum case
We add a `set +e` around the `sha256sum` invocation, otherwise the shell
errors out instantly (because of the `set -e` at the top), so we have
the chance to print out the custom error message. We `set -e` as soon as
we grab the return value from `sha256sum`.
2023-02-16 16:59:03 -08:00
sasha 0d2d64ee43 Better error messages if proof parameters aren't loaded 2023-02-16 13:51:27 -08:00
Jack Grigg fe05310e37 qa: Import Rust crate audits from ISRG 2023-02-16 21:28:52 +00:00
Jack Grigg 5cc37d59a4 `cargo vet regenerate imports` 2023-02-16 21:27:57 +00:00
Jack Grigg e738af6a27 depends: `native_zstd 1.5.4` 2023-02-16 21:25:02 +00:00
Jack Grigg e775c13c4f depends: `cxx 1.0.91`
This also partially reverts zcash/zcash@d3b434eb0f
so we now check in a lockfile for `cxxbridge`.
2023-02-16 21:25:02 +00:00
Jack Grigg 942189fc20 qa: Handle commit IDs correctly to `updatecheck.py` 2023-02-16 19:11:34 +00:00
Jack Grigg ed9b9f8a18 qa: Fix `google/leveldb` tag parsing in `updatecheck.py`
The `v` prefix has been dropped from tags starting with 1.21.
2023-02-16 18:41:41 +00:00
Jack Grigg a0b4b2c25f qa: Fix year in postponement lines 2023-02-16 18:39:30 +00:00
str4d 086d3edfc3
Merge pull request #6441 from str4d/llvm-15
Migrate to LLVM 15
2023-02-16 18:37:44 +00:00
Jack Grigg dfa5cb159a depends: Evaluate `native_packages` before `packages`
This ensures that `native_clang_download_path` has been evaluated before
it is used by `libcxx`.
2023-02-16 17:28:40 +00:00
Jack Grigg d3a88bc332 Fix 1.67.1 clippy lints 2023-02-16 16:10:13 +00:00
Jack Grigg 06e4ef83ec depends: Update Clang / libcxx to LLVM 15.0.6
- We update Windows cross-compile builds to 15.0.7 because binaries are
  provided for it, but not currently for any other platform we need.
- We update native x84_64 macOS builds to 15.0.4 because no 15.0.6
  binaries are provided, and the 15.0.7 ones appear to be targeted at a
  newer Darwin version.
- We keep FreeBSD on 14.0.6 because no Clang 15 binaries are provided,
  and as FreeBSD is a Tier 3 platform it doesn't block us from upgrading
  the remaining platforms.
2023-02-16 16:02:37 +00:00
Jack Grigg d01129e752 depends: Update Rust to 1.67.1 2023-02-16 15:45:29 +00:00
sasha cb6146845f
Merge pull request #6435 from zcash/download_url
DOWNLOAD_URL dynamic in fetch-params.sh
2023-02-15 21:26:33 -08:00
Yasser Isa 567f586c65 DOWNLOAD_URL dynamic in fetch-params.sh 2023-02-15 19:07:33 -07:00
Kris Nuttycombe c0fbeb809b
Merge pull request #5244 from nuttycom/ccoinsview_pure_virt
Make all CCoinsView methods pure-virtual.
2023-02-15 16:50:02 -07:00
Kris Nuttycombe b92c6de29f Remove `FakeCoinsViewDB` as it is identical to `CCoinsViewDummy` 2023-02-15 15:05:03 -07:00
Kris Nuttycombe cc2fd60617 Make all CCoinsView methods pure-virtual. 2023-02-15 13:58:46 -07:00
str4d efa2dc70e8
Merge pull request #6417 from sellout/rpc-tests-interrupt-context
Show in-progress tests when rpc-tests is interrupted
2023-02-14 15:14:44 +00:00
Kris Nuttycombe 0b9f76c36c
Merge pull request #6430 from zcash/hotfix-v5.4.1
Back-merge of hotfix-v5.4.1
2023-02-13 16:24:30 -07:00
Kris Nuttycombe 6c8764d1ff
Merge pull request #6428 from zcash/release-v5.4.1
Release v5.4.1
2023-02-13 14:47:52 -07:00
Jack Grigg bb172416d5 Fix typo in v5.4.1 release notes 2023-02-13 18:24:05 +00:00
Jack Grigg 56626bcb29 make-release.py: Updated release notes and changelog for 5.4.1. 2023-02-13 18:10:07 +00:00
Jack Grigg 1d7e797436 make-release.py: Updated manpages for 5.4.1. 2023-02-13 18:10:07 +00:00
Jack Grigg fc6ddfa605 make-release.py: Versioning changes for 5.4.1. 2023-02-13 18:06:28 +00:00
Jack Grigg 7628ec7dfa Postpone dependency updates for v5.4.1 2023-02-13 18:05:35 +00:00
Jack Grigg f5288d44d7 Write release notes for v5.4.1 2023-02-13 18:01:55 +00:00
Daira Hopwood 4a7ba2268e
Merge pull request #6416 from softminus/partial-github-url-revert
Partially revert PR #6384 for URLs using a git commit hash, and make the `native_cctools` tarballs download to meaningful names
2023-02-11 14:57:02 +00:00