Age | Commit message (Collapse) | Author |
|
2a7568999cbc7cd09e71c07d0a2871b9a9343ef0 qt: Pre-0.21.2rc2 translations update (Hennadii Stepanov)
Pull request description:
New translations with insignificant amount of translated strings were ignored: `ach`, `cmn`, `gd`, `ig`, `sc`.
ACKs for top commit:
fanquake:
ACK 2a7568999cbc7cd09e71c07d0a2871b9a9343ef0 - didn't review any specific translations.
Tree-SHA512: fab299a7a3691b38f85812e9302ae3a6fda2b7bd95a824aaf5537f1bc066417f912c042fa4366432ed091244f051cc7d4c57161d8da1e4bd6261a85570f8f12e
|
|
|
|
release notes
2873e01c6a257519247267ccbced5973e18ab019 doc: add inital PR and author list to 0.21.2 release notes (fanquake)
Pull request description:
Any further updates / version number adjustments can be done prior to final.
ACKs for top commit:
laanwj:
ACK 2873e01c6a257519247267ccbced5973e18ab019
Tree-SHA512: 57135f64ccfc41ec63aa265eb25978a2afd68b6b8719e79358c52ec7d2dc0cee04b81f720b827263c381529f457667b0b1a8f7d835118dc56bf2a6aa9d321859
|
|
Any further updates / version number adjustments can be done prior to
final.
|
|
Tree-SHA512: f0a74deb84711645ba112b364fbe958db51992f28d0ec87262dd0a21f1052a270f5fc8c13dfd6dc6f5a8a5580e7f1991b3de2d44e3a44252cd3c315dfc2e00ba
|
|
Tree-SHA512: 26870ec4b8423879ccdbe0d74670985bf73f4814d32ff5d2c312acdd766e93e07e6a69bfb58b0288be8ba402d283ce493684420b254f8535936cb061ee11c0d2
|
|
Tree-SHA512: 73d4df24ad516ca54ab23bcbd686223447a208904bb18a7a34400daab6d4b07322a7f244504547c772ede08b9e8606291df9d101236d8fd6debcb43563d069ac
|
|
addresses
2a5710805195ca54a02aff3540ceaefb9cb3b3e2 Avoid Appveyor compilation failure (Pieter Wuille)
a653aacbd66a47edd6d14ddc62fec2d4038456b8 Add logging and addr rate limiting statistics (Pieter Wuille)
aaa4833fc9c3d44378e232002f4b9b447a2d18cb Functional tests for addr rate limiting (Pieter Wuille)
8df3e5bd84f2b2b60730034cbd71fe8f3276d434 Randomize the order of addr processing (Pieter Wuille)
83dfe6c65ef6c30ca01348ee5059c3d76e03d1d3 Rate limit the processing of incoming addr messages (Pieter Wuille)
Pull request description:
Backport of #22387.
The rate at which IP addresses are rumoured (through ADDR and ADDRV2 messages) on the network seems to vary from 0 for some non-participating nodes, to 0.005-0.025 addr/s for recent Bitcoin Core nodes. However, the current codebase will happily accept and process an effectively unbounded rate from attackers. There are measures to limit the influence attackers can have on the addrman database (bucket restrictions based on source IPs), but still - there is no need to permit them to feed us addresses at a rate that's orders of magnitude larger than what is common on the network today, especially as it will cause us to spam our peers too.
This PR implements a [token bucket](https://en.wikipedia.org/wiki/Token_bucket) based rate limiter, allowing an average of 0.1 addr/s per connection, with bursts up to 1000 addresses at once. Whitelisted peers as well as responses to GETADDR requests are exempt from the limit. New connections start with 1 token, so as to not interfere with the common practice of peers' self-announcement.
Due to the lack of the `Peer` struct in 0.21, the relevant fields have been added to `CNodeState` instead, necessitating additional locks, and slightly different structure to avoid too much `cs_main` grabbing. The last test-improving commit has also been dropped, as the code has changed too much. Most of the behavior is still tested however, just not the part that compares with RPC statistics.
ACKs for top commit:
achow101:
ACK 2a5710805195ca54a02aff3540ceaefb9cb3b3e2
GeneFerneau:
Approach + code review ACK [2a57108](https://github.com/bitcoin/bitcoin/pull/22569/commits/2a5710805195ca54a02aff3540ceaefb9cb3b3e2)
jnewbery:
reACK 2a5710805195ca54a02aff3540ceaefb9cb3b3e2
Tree-SHA512: ecf4891ac6173d732aa40b4d05fc0dce94127a613cb9051bf6188a2f95824f8234b17d386dd0b352ddf3d352202cc2ff07915ae35657d8e64907e3f80703d1d9
|
|
|
|
Includes logging improvements by Vasil Dimov and John Newbery.
Github-Pull: #22387
Rebased-From: f424d601e1b6870e20bc60f5ccba36d2e210377b
|
|
Github-Pull: #22387
Rebased-From: b4ece8a1cda69cc268d39d21bba59c51fa2fb9ed
|
|
Github-Pull: #22387
Rebased-From: 5648138f5949013331c017c740646e2f4013bc24
|
|
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.
Github-Pull: #22387
Rebased-From: 0d64b8f709b4655d8702f810d4876cd8d96ded82
|
|
55e941f5df18ce6d9b1ee8759f1419c5d1f03a8f test: Fix intermittent feature_taproot issue (MarcoFalke)
681f728a35b800d6f1cc359171b6b40de9ddb9a4 ci: Build with --enable-werror by default, and document exceptions (Hennadii Stepanov)
89426c43fb75fabd72e6e16433dab7f8ee9c860c ci: Fix macOS brew install command (Hennadii Stepanov)
Pull request description:
This backports a few changes to fix CI failures we are seeing with the 0.21 branch.
Backports #21663, this might be the easiest way to fix the macOS CI failures we're seeing. i.e in #22569. The underlying issue is that the older CI images are using a version of brew that without running `brew update` first, is trying to download packages like Boost, from bintray (which no-longer works).
This also includes #20182, as by fixing macOS failure, via running `brew upgrade`, we end up using a newer version of miniupnpc, which emits a GNU extension related warning, and causes the build to fail, because we use `-Werror`.
Backporting #20535 should fix #22581.
ACKs for top commit:
hebasto:
ACK 55e941f5df18ce6d9b1ee8759f1419c5d1f03a8f, I verified changes by backporting locally.
Tree-SHA512: 3ab2c5c73c707d0f5b862264f3a0179cdeee30ae55aae872f3c3e0bb81d71a5027c39ba830210c99a21f98cc86c4167c4f215e24d1a8891ec79ce512debf82df
|
|
before inferring descriptors
080b47d9ce6288e1725857b3026291981ef75e34 rpc: reset scantxoutset progress on finish (Pavol Rusnak)
Pull request description:
Backport of #19362.
ACKs for top commit:
achow101:
Code Review ACK 080b47d9ce6288e1725857b3026291981ef75e34
Tree-SHA512: 1f58965393663bfc0796fc06ef846bc87521d04d79c2a62227acf4d466de649db7d244c8992a32aa1086e6bf0ac92fb8a5aeadf4673441fefa505e40c02d5daf
|
|
Github-Pull: #20535
Rebased-From: fa275e1539941b49fe206ff0bf110e3362bec6bb
|
|
Github-Pull: #20182
Rebased-From: 2f6fe4e4e9e9e35e713c0a20cf891b023592110a
|
|
Details: https://github.com/Homebrew/discussions/discussions/691
Github-Pull: #21663
Rebased-From: b7381552cd4f965c45f1560d9cfc2fb09dbfcc1d
|
|
Github-Pull: #19362
Rebased-From: 8c4129b4540f4f739413ed9a6fbfc78afc252f42
|
|
e3f1da4bf3db120cc691a844d612fbc522f11fb9 qt: Draw "eye" sign at the beginning of watch-only addresses (Hennadii Stepanov)
6ca54ce2ae0808513172c4945e38165e766e1381 qt: Do not extend recent transaction width to address/label string (Hennadii Stepanov)
f220368220abb11040fa944a853cda3d4f1fe84d qt: Do not use QClipboard::Selection on Windows and macOS. (Hennadii Stepanov)
Pull request description:
Backports https://github.com/bitcoin-core/gui/pull/277, https://github.com/bitcoin-core/gui/pull/365.
ACKs for top commit:
fanquake:
ACK e3f1da4bf3db120cc691a844d612fbc522f11fb9
jarolrod:
ACK e3f1da4bf3db120cc691a844d612fbc522f11fb9
Tree-SHA512: 43cc2ac48f4e5014bfdbe86cc904bb36d2be9fcd257f0fc0800c384bd727bb98466723e450a8909b06708784ad91184be599c49cf60de2e4377202774cb878f6
|
|
Github-Pull: bitcoin-core/gui#365
Rebased-From: cd46c11577a05f3dc9eac94f27a6985f6ba0509e
|
|
Github-Pull: bitcoin-core/gui#365
Rebased-From: 9ea1da6fc91e17bdaa722001b97aadf576f07f65
|
|
Windows and macOS do not support the global mouse selection.
Github-Pull: bitcoin-core/gui#277
Rebased-From: 7f3a5980c1d54988a707b961fd2ef647cebb4c5b
|
|
base_encode_decode
da816247f0c00e1644f7ebe2b848cfd6a5c7026e util: Properly handle -noincludeconf on command line (MarcoFalke)
513613d8a87337f1d1f639bc9426165c3b6be62e Cleanup -includeconf error message (MarcoFalke)
70eac6fcd02b6c44cb4b1f2fb895eae147e3f490 Fix crash when parsing command line with -noincludeconf=0 (MarcoFalke)
c5357fa4151e1ac90427ae0493a7bb3e451f8de5 fuzz: add missing ECCVerifyHandle to base_encode_decode (Andrew Poelstra)
Pull request description:
Backports #22279, #22002 and #22137 to fix fuzzing issues in the 0.21 branch: https://github.com/bitcoin/bitcoin/runs/2864012729.
ACKs for top commit:
achow101:
ACK da816247f0c00e1644f7ebe2b848cfd6a5c7026e
Tree-SHA512: ab8751387e42e03ff43594ae34be8ed0dba903d7da1aaecb9f19c08366570d8995abe89ba0c9bafe37662940f3e83bef1e9e50f330e86114cd6a773becd1fd21
|
|
having an error while accessing it
7b0b201d109b6240f114498fc1b94af9cb85f26e wallet: Do not iterate a directory if having an error while accessing it (Hennadii Stepanov)
Pull request description:
This change prevents infinite looping for, for example, system folders
on Windows.
Github-Pull: #21907
Rebased-From: 29c9e2c2d2015ade47ed4497926363dea3f9c59b
Note: Trivial backport, but in a differently-named function in another file
ACKs for top commit:
hebasto:
ACK 7b0b201d109b6240f114498fc1b94af9cb85f26e, I have reviewed the code and it looks OK, I agree it can be merged.
Tree-SHA512: d41ab267250e8bfd9289cacf1fd804cc1a3bb20fc479dc9da5a69ebf26530b552b11b2ee6b11e17a1c146ca792ee65bd64eeb2269fa5e73a70361da8a2a09925
|
|
This bug was introduced in commit
fad0867d6ab9430070aa7d60bf7617a6508e0586.
Unit test
Co-Authored-By: Russell Yanofsky <russ@yanofsky.org>
Github-Pull: #22137
Rebased-From: fa910b47656d0e69cccb1f31804f2b11aa45d053
|
|
Remove the erroneous trailing newline '\n'. Also, print only the first
value to remove needless redundancy in the error message.
Github-Pull: #22002
Rebased-From: fad0867d6ab9430070aa7d60bf7617a6508e0586
|
|
Github-Pull: #22002
Rebased-From: fa9f711c3746ca3962f15224285a453744cd45b3
|
|
GitHub Pull: #22279
Rebased-From: 906d7913117c8f10934b37afa27ae8ac565da042
|
|
0fe60a84ae2f52e87ee07cd0243f09d45b0b15e2 Use latest signapple commit (Andrew Chow)
5313d6aed2d8bd515401b3782c0bc352af423015 gitian: Remove codesign_allocate and pagestuff from MacOS build (Andrew Chow)
27d691b6b5b4a15dc3d1f9dd248a8880ab3ab326 gitian: use signapple to create the MacOS code signature (Andrew Chow)
2f33e339a8903e79bf750367c073056bea4a9788 gitian: use signapple to apply the MacOS code signature (Andrew Chow)
65ce8330427114c2827d00a658d2e5887349c76a gitian: install signapple in gitian-osx-signer.yml (Andrew Chow)
Pull request description:
Backport of #20880 and #22190
ACKs for top commit:
MarcoFalke:
cherry-pick-only ACK 0fe60a84ae 🍀
Tree-SHA512: e864048fab02a1857161602dd53abba552ca3f859c133a47a5e62c28d3e4de9cd099bce86123a1b5892042b09f51cc1ddd2ed1b0c71bfba162710eaee3f5bf91
|
|
This change prevents infinite looping for, for example, system folders
on Windows.
Github-Pull: #21907
Rebased-From: 29c9e2c2d2015ade47ed4497926363dea3f9c59b
|
|
Update gitian and guix to use the same latest signapple commit
Github-Pull: #22190
Rebased-From: 683d197970a533690ca1bd4d06d021900e87cb8b
|
|
Github-Pull: #20880
Rebased-From: 2c403279e2f0f7c8c27c56d4e7b0573c59571f0a
|
|
Github-Pull: #20880
Rebased-From: f55eed251488d70d5e2e3a2965a4f8ec0c476853
|
|
Github-Pull: #20880
Rebased-From: 95b06d21852b28712db6c710e420a58bdc1a0944
|
|
Github-Pull: #20880
Rebased-From: 42bb1ea363286b088257cabccb686ef1887c1d3b
|
|
09620b89f5f78434080196162c75e3e65cc8d47f Update Windows code signing certificate (Andrew Chow)
46320ba72f80dd865b05bbfe2654cde124859881 Remove user input from URI error message (unknown)
f2a88986a18f197f6a4690f5dcca248f6b6170e2 p2p, bugfix: use NetPermissions::HasFlag() in CConnman::Bind() (Jon Atack)
Pull request description:
ACKs for top commit:
achow101:
ACK 09620b89f5f78434080196162c75e3e65cc8d47f Diffs match.
hebasto:
ACK 09620b89f5f78434080196162c75e3e65cc8d47f, tested https://github.com/bitcoin-core/gui/pull/280 behavior.
fanquake:
ACK 09620b89f5f78434080196162c75e3e65cc8d47f
Tree-SHA512: 1c4aaec42ea047261b5d30851bca605540eccf572708403335b38016127d3230b5380b3f5ef03921ed62192239b0d3da9787d51f557ed7911bf6bb2a7c172753
|
|
Github-Pull: bitcoin/bitcoin#22017
Rebased-From: 167fb1fc72e309587a8ef1d7844cb51a5483f54f
|
|
+ Detailed error messages for invalid address
+ Used `IsValidDestination` instead of `IsValidDestinationString`
+ Referred to https://github.com/bitcoin/bitcoin/pull/20832 for solution
Github-Pull: bitcoin-core/gui#280
Rebased-From: 3bad0b3fada9ab7c5b03d31dc33d72654c1ba2be
|
|
PF_NOBAN is a multi-flag that includes PF_DOWNLOAD, so the conditional
in CConnman::Bind() using a bitwise AND will return the same result
for both the "noban" status and the "download" status.
Example:
`PF_DOWNLOAD` is `0b1000000`
`PF_NOBAN` is `0b1010000`
This makes a check like `flags & PF_NOBAN` return `true` even if `flags`
is equal to `PF_DOWNLOAD`.
If `-whitebind=download@1.1.1.1:8765` is specified, then `1.1.1.1:8765`
should be added to the list of local addresses. We only want to avoid
adding to local addresses (that are advertised) a whitebind that has a
`noban@` flag.
As a result of a mis-check in `CConnman::Bind()` we would not have added
`1.1.1.1:8765` to the local addresses in the example above.
Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
Github-Pull: bitcoin/bitcoin#21644
Rebased-From: dde69f20a01acca64ac21cb13993c6e4f8709f23
|
|
deff4e763e11f92e5cb7732cace7239fead4fba8 depends: update Qt 5.9 source url (Kittywhiskers Van Gogh)
Pull request description:
## Expected Behavior
Running `make` in the depends directory should result in the successful building of host platform dependencies
## Actual Behavior
`make` terminates as `qt.mk` points to (now) outdated URL path for Qt 5.9 sources, returning error 404
## Remedy
Update `qt.mk` to point to updated source location as Qt has relocated them
ACKs for top commit:
RandyMcMillan:
tACK deff4e7
hebasto:
ACK deff4e763e11f92e5cb7732cace7239fead4fba8, I have verified the new link, and checked that old one is unavailable:
jarolrod:
tACK deff4e763e11f92e5cb7732cace7239fead4fba8
Tree-SHA512: d5b11a678c871a87e6884a35641178ee349728ead51da06018953be36aab5a30aef9c80b549da49802e87903eb0b7836cc343301325bd8c505cb4246f6752505
|
|
|
|
Tree-SHA512: 0ae93cb9dae1449318913a7a6f32c233aefddf77335dc1ad416e84beab39ab45cd863073ddc69a243bbb704951d99646f734717f71d9599a54592699f15d84ab
|
|
856de5bd5e4594d12c1d35704c49d0d086fc3d84 build,boost: update download url. (fdov)
Pull request description:
Backports #21662 to the 0.21 branch. Boost has migrated it's download URLs due to bintrays imminent closure. The Boost site has also been updated to point to the new URLs. i.e: https://www.boost.org/users/history/version_1_70_0.html.
Github-Pull: #21662
Rebased-From: 36c10b9f4b181db6afa2f8cb7d4872b158768c16
ACKs for top commit:
jarolrod:
ACK 856de5bd5e4594d12c1d35704c49d0d086fc3d84
Tree-SHA512: cae7262f963dd6e00af699c3e1bce2ee3ff9f76c5dcc24c8a5bf37025b53de28e4cb80de65a380208ee1841a89736d5c35605e40b728b6c7a9f026d8165d74c8
|
|
- bintray is closing.
- updated to jfrog.io.
Github-Pull: #21662
Rebased-From: 36c10b9f4b181db6afa2f8cb7d4872b158768c16
|
|
Tree-SHA512: b63d8c2514fa34d4503da8a37fb42948e03610e06dae6aaef7ba3d2568efd3bb138e7510da569a49d83c2618fa697ba949d55880fc2884a75a87028259d7c544
|
|
Co-authored-by: David A. Harding <dave@dtrt.org>
Co-authored-by: Jon Atack <jon@atack.com>
Co-authored-by: Pieter Wuille <pieter@wuille.net>
Tree-SHA512: dd9ac416ff22276833111198445d76cf8417012a6faad0c3560276f1dcf24586ff41c65ac3430fbf1e840aaa563d3dd101671cff306b0fd92aa2ee03bb7f926b
|
|
Tree-SHA512: c74b12dee645bd8d3dcff8d572a82369ea0895339d0d12e5360182421fa8cef4d3eba309ff7668e97dc24cd6afc800ab9ceb4eca5458085acf12c368f6c2f859
|
|
Tree-SHA512: cc9cd502dc40d89f34b1b043e96df180f0e16ba7c6e039866b349d19aff582d1c4b4ab8e8960b4f427d72ad5f97c7c1e8fec3f2e008a0107dea33a2c8f13febc
|
|
|