aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-03build: remove Boost::system usagefanquake
2022-02-03build: remove boost::filesystem usageKiminuo
2022-02-03refactor: replace boost::filesystem with std::filesystemKiminuo
Warning: Replacing fs::system_complete calls with fs::absolute calls in this commit may cause minor changes in behaviour because fs::absolute no longer strips trailing slashes; however these changes are believed to be safe. Co-authored-by: Russell Yanofsky <russ@yanofsky.org> Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
2022-02-03build: add support for std::filesystemfanquake
Add a macro to check if linking with -lstdc++fs or -lc++fs is required.
2022-02-03Merge bitcoin/bitcoin#24131: build, qt: Fix Windows cross-compiling with Qt 5.15fanquake
9796dcacdc3841ab6e3359bd5ca67a5f634bf176 doc: Install only "-posix" MinGW compiler when possible (Hennadii Stepanov) 0bbae237a8e0122b97c5c71bc85bc845e26d5b47 ci: Drop no longer needed `update-alternatives` (Hennadii Stepanov) 01d1845a80ae48d741deea695ddce95d940ab0d8 build, qt: Specify QMAKE_CXX explicitly (Hennadii Stepanov) Pull request description: While changes introduced in bitcoin/bitcoin#22093 worked fine with Qt 5.12, after bumping Qt up to 5.15 the cross-compiling of `qt` package for Windows fails with `error: ‘mutex’ in namespace ‘std’ does not name a type`. The first commit fixes this bug. The second commit cleans up a related CI script. The third commit improves related docs (see https://github.com/bitcoin/bitcoin/pull/22093#discussion_r680911586). ACKs for top commit: prusnak: ACK 9796dca Tree-SHA512: 0dc46c5dfab85bd6d2901052cd630e86f9b4e09c08ef87136b44ddecb1783cdf3cd0a6e67b95ac7a78da24cd7adedc88745f61f9a8d9993fbff26d33bf88d874
2022-02-03Merge bitcoin/bitcoin#24240: depends: fix capnp's descriptor for make downloadfanquake
01e121d29087db047e4bc01bd64d054f83cfc5df depends: fix capnp's descriptor for make download (Cory Fields) Pull request description: The non-native capnp was trying to fetch the wrong file. Without this, "make -C depends MULTIPROCESS=1 download" is broken. Presumably it breaks with the download target because the dependency graph is flattened. It manages to work if native_capnp is encountered first because it will then be found in the cache. ACKs for top commit: gruve-p: tACK https://github.com/bitcoin/bitcoin/pull/24240/commits/01e121d29087db047e4bc01bd64d054f83cfc5df hebasto: ACK 01e121d29087db047e4bc01bd64d054f83cfc5df, tested on Linux Mint 20.2 (x86_64). Tree-SHA512: 2605d895f3799be5a311f6f7d36a5c13cdb715dc148915ad818f4afc7d5de92cd6b8ecd34ff2b21cef6743b090819bba1e3353096cfb5659c55f76113ce5adf3
2022-02-02Merge bitcoin/bitcoin#23948: build: add support for FreeBSD to dependslaanwj
ae9175f6086aa6c177084365c795e78c580eac1d build: add FreeBSD support to depends (fanquake) Pull request description: Setup to use the system Clang (11.0.1 as of FreeBSD 13.0). Doesn't build the Qt package; that requires a few additional changes. The current issue is that FreeBSDs `byacc` seems to have an issue parsing something in libxkbcommon. Work in progress branch here: https://github.com/fanquake/bitcoin/tree/depends_support_freebsd_qt. In any case, I don't think building the Qt libs on FreeBSD is a super high priority (I'd also have no way to test the GUI). ACKs for top commit: laanwj: ACK ae9175f6086aa6c177084365c795e78c580eac1d Tree-SHA512: 1ecc7855f0195f68c96e534bd77ce17c3975db1dfb3caa35302c2b46643c8c30f75b1c2e1735cf69f1eddb70447d11e67e7f339ef5497336cdff7a59b32be961
2022-02-02Merge bitcoin/bitcoin#24166: p2p, contrib: add cjdns hardcoded seeds and ↵laanwj
update the i2p seeds bcc5676f16d86a2d271e0d822d836d9c47ef298b p2p, contrib: update i2p hardcoded seeds (Jon Atack) e5332425fc9527645aade0c7509c4c3f72e9fe95 p2p, contrib: add cjdns hardcoded seeds (Jon Atack) Pull request description: This update targets the v23 release. Additional reliable CJDNS seeds, and feedback on the I2P seeds, is welcome. To verify `src/chainparamsseeds.h` locally, run: ``` contrib/seeds/generate-seeds.py contrib/seeds > src/chainparamsseeds.h ``` ACKs for top commit: laanwj: Code review ACK bcc5676f16d86a2d271e0d822d836d9c47ef298b lsilva01: tACK bcc5676 Tree-SHA512: 40b1bbb89b9677e1e88c17ac279d6ff5a8ea9f4a1e1ef07e2b71074471308da4760b69cf5130134082c25e7caf4ded02bcc89bd75fae68c2834c64c230e82ac4
2022-02-02Merge bitcoin/bitcoin#24156: build: Replace `which` command with `command -v`laanwj
148b33cf72033eced8a701d127e21dfe8a816ce3 build: Replace `which` command with `command -v` (Hennadii Stepanov) Pull request description: On some systems the `which` command can emit messages into stderr. For example, for `debianutils 5.5-1` package in Debian Sid: ``` # which cat /usr/bin/which: this version of `which' is deprecated; use `command -v' in scripts instead. /bin/cat ``` Although such messages are harmless, they could distract developers needlessly (see bitcoin/bitcoin#24056). Fixes bitcoin/bitcoin#24056. ACKs for top commit: dongcarl: Code Review ACK 148b33cf72033eced8a701d127e21dfe8a816ce3 laanwj: Code review ACK 148b33cf72033eced8a701d127e21dfe8a816ce3 Tree-SHA512: 36ee45d8831afb75a1ba6f8c8491fa5381159a2b86042140ac09037752f74e92d3e725caa793b8e97c36afe03ada0b557eede95df2bec049173c27f32ffc804a
2022-02-02depends: fix capnp's descriptor for make downloadCory Fields
The non-native capnp was trying to fetch the wrong file. Without this, "make -C depends MULTIPROCESS=1 download" is broken. Presumably it breaks with the download target because the dependency graph is flattened. It manages to work if native_capnp is encountered first because it will then be found in the cache.
2022-02-02doc: Install only "-posix" MinGW compiler when possibleHennadii Stepanov
2022-02-02ci: Drop no longer needed `update-alternatives`Hennadii Stepanov
2022-02-02build, qt: Specify QMAKE_CXX explicitlyHennadii Stepanov
This change allows to drop the `update-alternatives` step if the `g++-mingw-w64-x86-64` package has been installed.
2022-02-02Merge bitcoin/bitcoin#24219: Fix implicit-integer-sign-change in bloomMarcoFalke
fad84a25956ec081f22aebbda309d168a3dc0004 refactor: Fixup uint64_t-cast style in touched line (MarcoFalke) fa041878de786f5be74ec74a06ec407c99ca8656 Fix implicit-integer-sign-change in bloom (MarcoFalke) Pull request description: Signed values don't really make sense when using `std::vector::operator[]`. Fix that and remove the suppression. ACKs for top commit: PastaPastaPasta: utACK fad84a25956ec081f22aebbda309d168a3dc0004 theStack: Code-review ACK fad84a25956ec081f22aebbda309d168a3dc0004 Tree-SHA512: 7139dd9aa098c41e4af1b6e63dd80e71a92b0a98062d1676b01fe550ffa8e21a5f84a578afa7a536d70dad1b8a5017625e3a9e2dda6f864b452ec77b130ddf2a
2022-02-02Merge bitcoin/bitcoin#24223: test: use MiniWallet for interface_rest.pyMarcoFalke
438e6f4c3324ec48ab7daf4d4e77c3947ffc00cd test: speedup interface_rest.py by whitelisting peers (immediate tx relay) (Sebastian Falbesoner) 11b9684dfd3237c6cafc83e56b4aceeb3e3340fb test: use MiniWallet for rest_interface.py (Sebastian Falbesoner) Pull request description: This PR enables one more of the non-wallet functional tests (interface_rest.py) to be run even with the Bitcoin Core wallet disabled by using the MiniWallet instead, as proposed in #20078. Note that the original test sent funds from one node to another and checked node's balances, but the state of a node's wallet is not relevant to any of the REST endpoints, i.e. the replacement is quite stright-forward. In an additional commit, the test is further sped up by using the good ol' immediate tx relay trick (parameter `-whitelist=noban@127.0.0.1`). ACKs for top commit: brunoerg: ACK 438e6f4c3324ec48ab7daf4d4e77c3947ffc00cd Tree-SHA512: eac351c5fb7e043c36c193d51545f20f563be9aaa04f3429a2bfb452ae4aa72294d2552800d6cac55c9a3ec2b4f30bcda2abcd74736dec3ed75e7d83c5af437f
2022-02-01Merge bitcoin/bitcoin#24083: Revert "Add to spends only transcations from me"Andrew Chow
3ee6d0788ec1b90f7c39c9644dba4011f7cf5db4 test: add more wallet conflicts assertions (S3RK) 3b98bf9c43ece060d57d7ae31624d4a8220de266 Revert "Add to spends only transcations from me" (S3RK) Pull request description: This reverts commit d04566415e16ae685af066384f346dff522c068f from #22929. This commit was based on invalid assumption that `mapTxSpends` should contain only outgoing txs and broke wallet conflicts feature. ACKs for top commit: achow101: ACK 3ee6d0788ec1b90f7c39c9644dba4011f7cf5db4 Tree-SHA512: bf5a77ced6bac57d5eb85771d9189c53e1edc295d179ed5a1bdce18e365794a9101b4cecf35387b27f67260db3b47f7214e7876e490494529b748cceeb95632d
2022-02-01Merge bitcoin/bitcoin#24212: ci: Bump CentOS 8 imageMarcoFalke
fafc55a489d8f654dd7732b699c9bf51b5136b4b ci: Use dash when building depends in centos build (MarcoFalke) fa33236e77974de13a329c8eda34ebc842d1aa01 scripted-diff: Rename DOCKER_EXEC to CI_EXEC (MarcoFalke) fa5457e64adfc6060382bd36c45e95be6ea693ef ci: Bump CentOS 8 image (MarcoFalke) Pull request description: CentOS 8 was just shut down: ``` $ pob centos:8 [root_e606059da4d9 /]# dnf update Failed to set locale, defaulting to C.UTF-8 CentOS Linux 8 - AppStream Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist ``` Fix that by bumping the image. ACKs for top commit: Sjors: utACK fafc55a with the caveat that I've never used CentOS. Tree-SHA512: 741eb606c9f67cd218e41ce98460606d8594ff98148636c28ac20bae2809e3ee4a18c97aa3c849630f0a6ac30255c7423253b4309ae2d7cdd5c6624cc6836b95
2022-02-01refactor: Fixup uint64_t-cast style in touched lineMarcoFalke
2022-02-01Merge bitcoin/bitcoin#24218: zmq: Fix implicit-integer-sign-changeMarcoFalke
fa2406a50a83184d101d1bb3f2b282ae280370ba zmq: Fix implicit-integer-sign-change (MarcoFalke) Pull request description: uint256::begin() returns unsigned data, so there is no reason to make it signed. Fix that and remove the sanitizer suppression. ACKs for top commit: hebasto: ACK fa2406a50a83184d101d1bb3f2b282ae280370ba PastaPastaPasta: utACK fa2406a50a83184d101d1bb3f2b282ae280370ba, I have reviewed the code and think it makes sense Tree-SHA512: 150ebcf3fdc3e0f60b6fd8e5fe638737b01e8a0863296bd545fb5ed17d33ab23b2ff94204996aa7b4617650b7383bd86ed2d2bf46746b410feae449de179a2bd
2022-02-01ci: Use dash when building depends in centos buildMarcoFalke
2022-02-01scripted-diff: Rename DOCKER_EXEC to CI_EXECMarcoFalke
-BEGIN VERIFY SCRIPT- sed -i "s/DOCKER_EXEC/CI_EXEC/g" $(git grep -l DOCKER_EXEC) -END VERIFY SCRIPT-
2022-02-01ci: Bump CentOS 8 imageMarcoFalke
2022-02-01Merge bitcoin/bitcoin#24190: test: Fix sanitizer suppresions in streams_testsMarcoFalke
faa630aa15bbda0f3b0cf3b6f31cf8fdaeb66975 test: Fix sanitizer suppresions in streams_tests (MarcoFalke) Pull request description: Two changes (that also make sense on their own) to remove the file-wide sanitizer suppression: * `FindByte` no longer takes a `char`, but an `uint8_t`, after commit 196b4599201dbce3e0317e9b98753fa6a244b82d. * The `key` vector of unsigned chars can be removed and inlined as initializer-list. This avoids a bunch of verbose code like `clear()` and `push_back` of `char`s. ACKs for top commit: PastaPastaPasta: utACK faa630aa15bbda0f3b0cf3b6f31cf8fdaeb66975, I have reviewed the changes and agree it makes sense to merge Tree-SHA512: 747b9d4676fad6d07f3955668639c93333625e69199ff4c499f01167de3875990d93db85e775a7f5b1b684575dceaec8aa000b4db15525fc47b699bac1c85e3d
2022-01-31build: Replace `which` command with `command -v`Hennadii Stepanov
This change made in a way that is compatible with GNU Make versions older than 4.3.
2022-01-31test: speedup interface_rest.py by whitelisting peers (immediate tx relay)Sebastian Falbesoner
By whitelisting the peers via -whitelist, the inventory is transmissioned immediately rather than on average every 5 seconds, speeding up the test by at least a factor of two: before: $ time ./interface_rest.py ... 0m14.82s real 0m01.44s user 0m01.19s system with this commit: $ time ./interface_rest.py ... 0m05.67s real 0m01.07s user 0m01.35s system
2022-01-31test: use MiniWallet for rest_interface.pySebastian Falbesoner
This test can now be run even with the Bitcoin Core wallet disabled.
2022-01-31Merge bitcoin/bitcoin#24192: test: Fix feature_init intermittent issuesMarcoFalke
fa7b07571f24b6def6effdd4cc1b96c7507bf959 test: Fix feature_init intermittent issues (MarcoFalke) fa4595deb334f14dac9ba481d786a823e0f0fde1 test: Remove random line number feature from feature_init.py (MarcoFalke) Pull request description: The test doesn't work currently because the log might be finalized before `wait_for_debug_log` is started, in which case it will assume the log is empty and fail to detect any line. Fix this by calling `wait_for_debug_log` first. Fixes #24060. Also, remove the "random line number" part of the test, because it doesn't really test anything novel. `wait_for_debug_log` is inherently racy, so will randomly terminate at the exact point or later. So the randomization is already sufficiently covered. ACKs for top commit: jamesob: ACK https://github.com/bitcoin/bitcoin/pull/24192/commits/fa7b07571f24b6def6effdd4cc1b96c7507bf959 mzumsande: Code Review ACK fa7b07571f24b6def6effdd4cc1b96c7507bf959 Tree-SHA512: f107a04926270a1d9ac8f53b6e5254566d1827ba7d27fd74f9ce909319f8794f8bd46da9c42256bf41b6df26c0bad8b9a0d54e4e148695189af09f31e3948330
2022-01-31Fix implicit-integer-sign-change in bloomMarcoFalke
2022-01-31zmq: Fix implicit-integer-sign-changeMarcoFalke
2022-01-31Merge bitcoin/bitcoin#24191: refactor: Make MessageBoxFlags enum underlying ↵MarcoFalke
type unsigned 1111d33532516c16fb2e22660ac2745ce56ad6cd refactor: Make MessageBoxFlags enum underlying type unsigned (MarcoFalke) Pull request description: All values in the enum are unsigned. Also, flags shouldn't be treated as signed types. So clarify the underlying type and remove a sanitizer suppression. ACKs for top commit: hebasto: ACK 1111d33532516c16fb2e22660ac2745ce56ad6cd, I have reviewed the code and it looks OK, I agree it can be merged. Tree-SHA512: 48b16c4a0ace1a1e4d351d6eadadbb1bc42aef7fd82e24e3ea50c62f2c04a552ed21027158d09aa97e630c8c7d732cb150c38065333d7c2accbae46593b7ed9f
2022-01-31Merge bitcoin/bitcoin#24103: Replace RecursiveMutex `m_cs_chainstate` with ↵MarcoFalke
Mutex, and rename it 020acea99b605c9b5ee7939a6acef131db84ad4a refactor: replace RecursiveMutex m_chainstate_mutex with Mutex (w0xlt) ddeefeef20fa2fe48c3c4563370a6297704d228e refactor: add negative TS annotations for `m_chainstate_mutex` (w0xlt) 1dfd31bc267c54144a7e62ad5a1a5860c032f4d7 scripted-diff: rename m_cs_chainstate -> m_chainstate_mutex (w0xlt) Pull request description: This PR is related to #19303 and gets rid of the `RecursiveMutex m_cs_chainstate`. `m_cs_chainstate` is only held in `ActivateBestChain()` and `InvalidateBlock()`. So apparently there is no recursion involved, so the `m_cs_chainstate` can be a non-recursive mutex. ACKs for top commit: hebasto: ACK 020acea99b605c9b5ee7939a6acef131db84ad4a, I have reviewed the code and it looks OK, I agree it can be merged. theStack: Code-review ACK 020acea99b605c9b5ee7939a6acef131db84ad4a 🌴 shaavan: reACK 020acea99b605c9b5ee7939a6acef131db84ad4a Tree-SHA512: c7c16e727e326df3410514915ce753a2a5e1da78857ef965ef683e36251e1b73c9cced4cd5231b04dbe2be0ea14084f6731b4d7a4d9a8e086e982b985e37e4b4
2022-01-31test: Fix feature_init intermittent issuesMarcoFalke
2022-01-31test: Remove random line number feature from feature_init.pyMarcoFalke
This is needed for the next commit. Also, it doesn't really test anything novel. wait_for_debug_log is inherently racy, so will randomly terminate at the exact point or later. So the randomization is already sufficiently covered by the existing test.
2022-01-31Merge bitcoin/bitcoin#24136: Extract CTxIn::MAX_SEQUENCE_NONFINAL constant, ↵MarcoFalke
rework BIP 65/68/112 docs fa4339e4c1bb60e0d9263d4f0fe65d03aad52f88 Extract CTxIn::MAX_SEQUENCE_NONFINAL constant (MarcoFalke) Pull request description: Extracting the constant makes it possible to attach documentation to it. Also, rework the docs for the other "sequence constants". ACKs for top commit: w0xlt: reACK fa4339e for specifying the transaction version. darosior: re-ACK fa4339e4c1bb60e0d9263d4f0fe65d03aad52f88 luke-jr: crACK fa4339e4c1bb60e0d9263d4f0fe65d03aad52f88 Tree-SHA512: 8d8f3dd5afb33eb5b72aa558e1e03de874c5ed02aa1084888e92ed86f3aaa5c725db45ded02e14cdfa67a92ac6774e97185b697f20a8ab63abbfcaa2fcd1fc6a
2022-01-31refactor: Make MessageBoxFlags enum underlying type unsignedMarcoFalke
2022-01-31Merge bitcoin/bitcoin#24146: Avoid integer sanitizer warnings in chain.oMarcoFalke
fa832103aaa61e93b78ece9dd68c245a41afa6b6 Avoid integer sanitizer warnings in chain.o (MarcoFalke) Pull request description: The two changes make the code more self-documenting and also allow to remove 5 file-wide suppressions for the module ACKs for top commit: PastaPastaPasta: utACK fa832103aaa61e93b78ece9dd68c245a41afa6b6 jonatack: ACK fa832103aaa61e93b78ece9dd68c245a41afa6b6 Tree-SHA512: d32a06099c56eed9f69130a3209f989872acc593f849528acd7746ee6caa96688cc32de37e8e59ad5d25dcb8912e341f1a43e50642dadeff6ca7624d0873ad10
2022-01-31Merge bitcoin/bitcoin#24179: fuzz: Speed up script fuzz targetMarcoFalke
fa6842978d01f6707564a841303033d7bfbabb3b fuzz: Speed up script fuzz target (MarcoFalke) Pull request description: Currently the script fuzz target takes the longest time (5000 seconds, aka 80 minutes, see https://cirrus-ci.com/task/5651378755338240?logs=ci#L4501). Fix this by making it twice as fast. Instead of running all possible combinations for all fuzz inputs, consume a bool and decide at runtime which path to take. I moved the new calls to the end to not invalidate existing fuzz inputs. ACKs for top commit: prusnak: ACK fa6842978d01f6707564a841303033d7bfbabb3b Tree-SHA512: 5e408255f96f9e92e472f4e8a8a0f8d8814bad444ac0ff7d5db5ed84a59a861135ffe5e04d81f479b0695cb17e4d7af005734959dd4aa9328bdc5acc98f36665
2022-01-31Merge bitcoin/bitcoin#24168: Fix some race conditions in `BanMan::DumpBanlist()`MarcoFalke
99a6b699cd650f13d7200d344bf5e2d4b45b20ac Fix race condition for SetBannedSetDirty() calls (Hennadii Stepanov) 83c76467157bbca023bffda0f0bc2f01eb76a040 Avoid calling BanMan::SweepBanned() twice in a row (Hennadii Stepanov) 33bda6ab87cc1b569e96da337296eb3e9ce6db1a Fix data race condition in BanMan::DumpBanlist() (Hennadii Stepanov) 5e20e9ec3859205c220867ca49efb752b8edaacc Prevent possible concurrent CBanDB::Write() calls (Hennadii Stepanov) Pull request description: This PR split from bitcoin/bitcoin#24097 with some additions. This makes the following switch from `RecursiveMutex` to `Mutex` a pure refactoring. See details in commit messages. ACKs for top commit: w0xlt: reACK 99a6b69 shaavan: ACK 99a6b699cd650f13d7200d344bf5e2d4b45b20ac Tree-SHA512: da4e7268c7bd3424491f446145f18af4ccfc804023d0a7fe70e1462baab550a5e44f9159f8b9f9c7820d2c6cb6447b63883616199e4d9d439ab9ab1b67c7201b
2022-01-31Merge bitcoin/bitcoin#24197: Replace lock with thread safety annotation in ↵MarcoFalke
CBlockTreeDB::LoadBlockIndexGuts() 20276ca5d124285bdd1bda4cd777ca186b378555 Replace lock with thread safety annotation in CBlockTreeDB::LoadBlockIndexGuts() (Jon Atack) Pull request description: Following up on https://github.com/bitcoin/bitcoin/pull/22932#discussion_r794495535 by Marco Falke (good observation, thank you), we can replace a cs_main lock in `CBlockTreeDB::LoadBlockIndexGuts()` with a Clang thread safety annotation/assertion instead. The unlocked code is reverted to its original state before #22932. ACKs for top commit: hebasto: ACK 20276ca5d124285bdd1bda4cd777ca186b378555, I have reviewed the code and it looks OK, I agree it can be merged. Tree-SHA512: 2d91d1c962af0286d835d92a56396a27ea00e9d061b869eaff9421b448a083b0513828e1d4df7504396896057bf1e344e180a50271a5cfd1e1c7b6527155b2bb
2022-01-31Merge bitcoin/bitcoin#24203: doc: Fix typos pointed out by lint-spellingMarcoFalke
58ccc885413d66b4fa581574360febfa27eb545f lint: add creat and ba into ignore-words for lint-spelling (brunoerg) bad0e7f5212434a44851a4a49d104f23a623453a doc: Fix typos pointed out by lint-spelling (brunoerg) Pull request description: Occuring -> occurring (random.h) Covert -> convert (chacha_poly_aead.cpp) Fix `nWe` false positive in blockchain.cpp (https://github.com/bitcoin/bitcoin/pull/24203#issuecomment-1025116962) Got it by linter, other ones are false positives. ACKs for top commit: prusnak: ACK 58ccc885413d66b4fa581574360febfa27eb545f Tree-SHA512: b350d0e64968b96ead226da0be6aa4ca3f8e482ae401697867684ce8478e96b954124b3dea6dcd697aad4206f209f32f238d7cf0a0589075f24f5cf629c563f3
2022-01-31Merge bitcoin/bitcoin#24129: build: Fix xargs warnings for Guix buildsfanquake
c73415bc10c1baa7988e1c55a0e9201df73a6c22 build: Fix xargs warnings for Guix builds (Hennadii Stepanov) Pull request description: On master (e3ce019667fba2ec50a59814a26566fb67fa9125) there are warnings in `./contrib/guix/guix-build` logs: ``` xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value ``` This PR fixes such warnings. ACKs for top commit: prusnak: utACK c73415b Tree-SHA512: a7b55f59afbb19b78f795cea64acacf29903cfcd5fd7c37a771b073c1f2ff54555a26f3d00c1c73a8ef588396217ddf598e32b2ae961559042cc051b0aad162a
2022-01-31Merge bitcoin/bitcoin#24111: build: force CRCCheck in Windows installerfanquake
b3ccf26df47c70e7559625a0e65205648f64efb7 build: force CRCCheck in Windows installer (fanquake) Pull request description: Otherwise a user can pass `/NCRC` on the command line and bypass the CRC check, meaning they could use a corrupted installer. I can't think of a reason why we'd want to allow the use of corrupted installers. [NSIS docs](https://nsis.sourceforge.io/Docs/Chapter4.html#acrccheck): > Specifies whether or not the installer will perform a CRC on itself before allowing an install. Note that if the user uses /NCRC on the command line when executing the installer, and you didn't specify 'force', the CRC will not occur, and the user will be allowed to install a (potentially) corrupted installer. ACKs for top commit: hebasto: ACK b3ccf26df47c70e7559625a0e65205648f64efb7, I have reviewed the code and it looks OK, I agree it can be merged. prusnak: utACK b3ccf26df47c70e7559625a0e65205648f64efb7 Tree-SHA512: 6b3c151bfd896dbf1a4af26114aec1721e4d4e6dad89eef796cd754c988b1bb03fd9a3f9889be3c754ff5b1cd7bf5bbfc126876c76038205c17807daff029319
2022-01-30lint: add creat and ba into ignore-words for lint-spellingbrunoerg
2022-01-30doc: Fix typos pointed out by lint-spellingbrunoerg
2022-01-28Merge bitcoin-core/gui#526: Add address relay/processed/rate-limited fields ↵Hennadii Stepanov
to peer details 9fbd1bb7fabec76c668a649967f6f4e355e6ca59 gui: use available space to display "Last Transaction" in peer details (Jon Atack) 6cd132d38014e790d7c65ea4755ff63733660e36 gui: add "Addresses Rate-Limited" (m_addr_rate_limited) to peer details (Jon Atack) 19623d3182d426a263ae57e8b34a8f57e905f75f gui: add "Addresses Processed" (m_addr_processed) to peer details (Jon Atack) a465a66ef209a241a4df1164d50cea97daaf4d99 gui: add "Address Relay" (m_addr_relay_enabled) to peer details (Jon Atack) Pull request description: This pull adds the following address fields in rpc getpeerinfo and cli -netinfo to the gui peers details: - Address Relay (Yes/No) - Addresses Processed (integer) - Addresses Rate-Limited (integer) and uses the additional horizontal space to display "Last Transaction" (instead of "Last Tx"). ![Screenshot from 2022-01-21 00-05-49](https://user-images.githubusercontent.com/2415484/150436343-02abe635-8abe-4212-9ce5-522df17ca2b6.png) ACKs for top commit: hebasto: ACK 9fbd1bb7fabec76c668a649967f6f4e355e6ca59, tested on Ubuntu 21.10 (Qt 5.15.2). w0xlt: reACK 9fbd1bb Tree-SHA512: 76d414b82f432b7baf2cadcf2f52412a3af8ad78a93755bb82c65df5353dda4d2e2522428a36c8bb95316bf84b17f2485636c33ce5ae11566469671b5384d845
2022-01-28Replace lock with thread safety annotation in CBlockTreeDB::LoadBlockIndexGuts()Jon Atack
2022-01-28Fix race condition for SetBannedSetDirty() callsHennadii Stepanov
Another thread can `SetBannedSetDirty(true)` while `CBanDB::Write()` call being executed. The following `SetBannedSetDirty(false)` effectively makes `m_is_dirty` flag value inconsistent with the actual `m_banned` state. Such behavior can result in data loss, e.g., during shutdown.
2022-01-28Avoid calling BanMan::SweepBanned() twice in a rowHennadii Stepanov
2022-01-28Fix data race condition in BanMan::DumpBanlist()Hennadii Stepanov
The m_is_dirty value being read in BannedSetIsDirty() can differ from the value being set in SweepBanned(), i.e., be inconsistent with a BanMan instance internal state.
2022-01-28Prevent possible concurrent CBanDB::Write() callsHennadii Stepanov