aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-11Merge bitcoin/bitcoin#27436: test: LLVM/Clang 16 for MSAN jobsfanquake
676671527f08ef8113af3661de73db583f6ea9e2 test: LLVM/Clang 16 for MSAN jobs (fanquake) Pull request description: Similar to other CI infra changes we've made recently. Move to LLVM/Clang 16 for the MSAN jobs (which is currently using LLVM 12). See also: https://releases.llvm.org/16.0.0/tools/clang/docs/ReleaseNotes.html#sanitizers: > `-fsanitize-memory-param-retval` is turned on by default. With `-fsanitize=memory`, passing uninitialized variables to functions and returning uninitialized variables from functions is more aggressively reported. `-fno-sanitize-memory-param-retval` restores the previous behavior. ACKs for top commit: dergoegge: utACK 676671527f08ef8113af3661de73db583f6ea9e2 Tree-SHA512: a105bd1bf7f4e3ede50bb119fd8ab7f308919dc46e093eb3e94351484d65a13220e2449c40d80b8103b9ac0f4b1c8ca29576ab83e2083c26b9d8060c5802b64d
2023-04-10Merge bitcoin/bitcoin#27441: doc: correct sqlite & qrencode versions used in ↵Andrew Chow
depenendencies.md a12d9cfa46ad5f5a5144daabbc146d0175642c69 doc: correct sqlite & qrencode versions used in depenendencies.md (fanquake) Pull request description: Followup to https://github.com/bitcoin/bitcoin/pull/27312 & https://github.com/bitcoin/bitcoin/pull/25378. ACKs for top commit: achow101: ACK a12d9cfa46ad5f5a5144daabbc146d0175642c69 hebasto: ACK a12d9cfa46ad5f5a5144daabbc146d0175642c69, I have reviewed the code and it looks OK, I agree it can be merged. jarolrod: ACK a12d9cfa46ad5f5a5144daabbc146d0175642c69 Tree-SHA512: 29e1fe4c31089fce6acbadb14aa7619fdd55738a882b490f1a0835d7648798a68b4f0d62e213c60d92f8e021ea856a4d1759578da07413265fef2338840da506
2023-04-10Merge bitcoin/bitcoin#27440: contrib: followups to #27358 (verify-binaries)Andrew Chow
ad841608d4edf6151b60e483793f60ba9f03cdbf contrib: minor doc improvements in verify-binaries (fanquake) e2e5683afe1bd286e247288abec033ca467932bd contrib: fixup verifybinaries example docs (fanquake) 663a89cfed5e924e79a7a4cb7f64d4c3181cc11d contrib: move verify scripts to verify-binaries (fanquake) Pull request description: Followup to #27358, fixing up the example command docs and other requests. See https://github.com/bitcoin/bitcoin/pull/27358#issuecomment-1500389847. ACKs for top commit: josibake: ACK https://github.com/bitcoin/bitcoin/pull/27440/commits/ad841608d4edf6151b60e483793f60ba9f03cdbf achow101: ACK ad841608d4edf6151b60e483793f60ba9f03cdbf theuni: ACK ad841608d4edf6151b60e483793f60ba9f03cdbf. Thanks for doing these. Tree-SHA512: 14c47b5a1b231d5116a1e5ddc78cb3a32ca1d4e86f7e18a0c63d5caac95a5272b3eddcc531052e130970a694dd1bc721bfcb29092755e306c37abc0b9f6c9dfd
2023-04-10test: fix importmulti/importdescriptors assertionJon Atack
as these RPCs have a "warnings" field, not a "warning" one.
2023-04-10rpc: move WALLET_FLAG_CAVEATS to the compilation unit of its callerJon Atack
and add the walletutil.h include header for WALLET_FLAG_AVOID_REUSE that was already missing before this change. WALLET_FLAG_CAVEATS is only used in one RPC, so no need to encumber wallet.h and wallet.cpp with it, along with all of the files that include wallet.h during their compilation. Also apply clang-format per: git diff -U0 HEAD~1.. | ./contrib/devtools/clang-format-diff.py -p1 -i -v
2023-04-10doc: release note for wallet RPCs "warning" field deprecationJon Atack
2023-04-10test: createwallet "warning" field deprecation testJon Atack
2023-04-10rpc: deprecate "warning" field in {create,load,unload,restore}walletJon Atack
This string field has been replaced in these four RPCs by a "warnings" field returning a JSON array of strings.
2023-04-10test: add test coverage for "warnings" field in createwalletJon Atack
and clarify the "warning" field behavior.
2023-04-10rpc: add "warnings" field to RPCs {create,load,unload,restore}walletJon Atack
This new "warnings" field is a JSON array of strings intended to replace the "warning" string field in these four RPCs, to better handle returning multiple warning messages and for consistency with other wallet RPCs.
2023-04-10rpc: extract wallet "warnings" fields to a util helperJon Atack
2023-04-10doc: fix/improve warning helps in {create,load,unload,restore}walletJon Atack
- clarify that there can be multiple warning messages - specify the correct wallet action - describe the use of newlines as delimiters
2023-04-10tests: Make sure that bumpfee feerate checks work when replacing outputsAndrew Chow
When replacing the outputs of a transaction, we can end up with fees that are drastically different from the original. This tests that the feerate checks we perform will properly detect when the bumping tx will have an insufficient feerate.
2023-04-10bumpfee: Check the correct feerate when replacing outputsAndrew Chow
When doing the feerate check for bumped transactions that replace the outputs, we need to consider that the size of the new outputs may be different from the old outputs and calculate the minimum feerate accordingly.
2023-04-10test: LLVM/Clang 16 for MSAN jobsfanquake
Sync up with other CI infra.
2023-04-09Merge bitcoin/bitcoin#26741: doc: FreeBSD DataDirectoryGroupReadable Settingfanquake
499c46439418237a77c2a764cde47ad8dc893b0f doc: update DataDirectoryGroupReadable 1 in tor.md (Jesse Barton) Pull request description: Updating tor.md doc to include mention of FreeBSD requiring the DataDirectoryGroupReadable be set to 1. Default per the FreeBSD man page is 0. DataDirectoryGroupReadable 0|1 If this option is set to 0, don't allow the filesystem groupto readthe DataDirectory. If the option is setto 1, make the DataDirectory readable by the default GID. (Default:0) ACKs for top commit: vasild: ACK 499c46439418237a77c2a764cde47ad8dc893b0f Tree-SHA512: 8750b49cd04e900435c7991d1a24641fd1171227c1f14ed59afb157f24c1ca60380d30aecfb174ca46fd5b4b99dcdb3a1cfd019aafc343362e8103abf7c17e6a
2023-04-09contrib: minor doc improvements in verify-binariesfanquake
2023-04-09contrib: fixup verifybinaries example docsfanquake
Followup to #27358, fixing up the example command docs.
2023-04-09doc: correct sqlite & qrencode versions used in depenendencies.mdfanquake
2023-04-09contrib: move verify scripts to verify-binariesfanquake
2023-04-07doc: update DataDirectoryGroupReadable 1 in tor.mdJesse Barton
Move DataDirectoryGroupReadable 1 up a few lines to more clearly communicate that it is required for the filesystem group to read the DataDirectory. Per the Tor documentation https://2019.www.torproject.org/docs/tor-manual.html.en#DataDirectoryGroupReadable "If this option is set to 0, don’t allow the filesystem group to read the DataDirectory. If the option is set to 1, make the DataDirectory readable by the default GID. (Default: 0)"
2023-04-07Merge bitcoin/bitcoin#27358: contrib: allow multi-sig binary verification v2fanquake
754fb6bb8125317575edec7c20b5617ad27a9bdd verifybinaries: fix argument type error pointed out by mypy (Cory Fields) 8a65e5145c4d128bb6c30c94e68434dd482db489 verifybinaries: catch the correct exception (Cory Fields) 4b23b488d2c5662215d78e4963ef5a2b86b4e25b verifybinaries: fix OS download filter (Cory Fields) 8cdadd17297e5f4487692eae88b1e60a42c8c4b2 verifybinaries: use recommended keyserver by default (Cory Fields) 4e0396835dd933a28446844da294040345f2e6ad verifybinaries: remove unreachable code (Cory Fields) 5668c6473a01528ac7d66b325b18b1cd2bd93063 verifybinaries: Don't delete shasums file (Cory Fields) 46c73b57c69933d7eb52e28595609e793e8eef6e verifybinaries: README cleanups (Cory Fields) 6d118302654481927e864a428950960e26eb7f4a verifybinaries: remove awkward bitcoin-core prefix handling (Cory Fields) c44323a71705b6df9aafe90df24072e735a5c2ff verifybinaries: move all current examples to the pub subcommand (Cory Fields) 7a6e7ffd066a42c5fbb7d69effbe074fb982936b contrib: Use machine parseable GPG output in verifybinaries (Andrew Chow) 6b2cebfa2f1526f7eae31eb645c71712f0a69e97 contrib: Add verifybinaries command for specifying files to verify (Andrew Chow) e4d577822835d4866e2ad046f23ab411b2910d59 contrib: Specify to GPG the SHA256SUMS file that is detached signed (Andrew Chow) 17575c0efa960ffb765392e3565b3861846f398e contrib: Refactor verifbinaries to support subcommands (Andrew Chow) 37c9fb7a59a3179b90ed1deaebaabb539976504b contrib: verifybinaries: allow multisig verification (James O'Beirne) Pull request description: Following up on #23020 from jamesob with achow101's additional features on top. Both mentioned that they will be away for the next few weeks, so this is intended to keep review going. All credit to the jamesob and achow101. See #23020 for the original description and [here](https://github.com/bitcoin/bitcoin/pull/23020#issuecomment-1480603300) for the added features. I squashed the last commit from https://github.com/achow101/bitcoin/tree/pr23020-direct-bins-gpg-parse into the first commit here. Fetching and local verification seem to work as intended for me. ACKs for top commit: josibake: ACK https://github.com/bitcoin/bitcoin/pull/27358/commits/754fb6bb8125317575edec7c20b5617ad27a9bdd Tree-SHA512: b310c57518daa690a00126308a3e7e94b978ded56d13da15d5189e9e90b71c93888d854f64179150586b0a915db8dadd43c92b716613913c198128db8867257b
2023-04-07Merge bitcoin/bitcoin#27429: ci: Run base install at most oncefanquake
fa5af94de6aa4643b30ab526b6249340bff34d43 ci: Run base install at most once (MarcoFalke) Pull request description: This should avoid errors when running it twice. For example, network errors on the second invocation of 'apt update'; or unguarded modifications such as APPEND_APT_SOURCES_LIST, which will append the same string repeatedly. The base install may be run twice in Cirrus CI with dockerfiles, or locally when running twice with DANGER_RUN_CI_ON_HOST specified. ACKs for top commit: josibake: utACK https://github.com/bitcoin/bitcoin/pull/27429/commits/fa5af94de6aa4643b30ab526b6249340bff34d43 Tree-SHA512: 020ba747e282076ddf10547025bb576ce626378d9f8313e09b1a5f99af1cf8237e44957aa4a0b8d64015bc730a090c83af0b3908a8eda15d3fb1ca7dae69dd7c
2023-04-06verifybinaries: fix argument type error pointed out by mypyCory Fields
2023-04-06verifybinaries: catch the correct exceptionCory Fields
2023-04-06verifybinaries: fix OS download filterCory Fields
Co-authored-by: Reproducibility Matters <seb.kung@gmail.com>
2023-04-06verifybinaries: use recommended keyserver by defaultCory Fields
2023-04-06verifybinaries: remove unreachable codeCory Fields
2023-04-06verifybinaries: Don't delete shasums fileCory Fields
It may be useful for local validation.
2023-04-06verifybinaries: README cleanupsCory Fields
- Use correct name for verify.py - Add usage examples for verifybinaries bin - Document proper use of new cleanup option - Fixup broken example
2023-04-06verifybinaries: remove awkward bitcoin-core prefix handlingCory Fields
2023-04-06verifybinaries: move all current examples to the pub subcommandCory Fields
2023-04-07p2p: skip netgroup diversity of new connections for tor/i2p/cjdns networksstratospher
Co-authored-by: Suhas Daftuar <sdaftuar@gmail.com>
2023-04-06ci: Run base install at most onceMarcoFalke
This should avoid errors when running it twice. For example, network errors on the second invocation of 'apt update'; or unguarded modifications such as APPEND_APT_SOURCES_LIST, which will append the same string repeatedly. The base install may be run twice in Cirrus CI with dockerfiles, or locally when running twice with DANGER_RUN_CI_ON_HOST specified.
2023-04-06Merge bitcoin/bitcoin#27423: ci: fix git dubious permissions errorfanquake
ed4a8339b8fe796b4668e206d7fb9c2b120f8eb2 ci: fix git dubious permissions error (josibake) Pull request description: fixes https://github.com/bitcoin/bitcoin/pull/27376#issuecomment-1496449588 this appears to be caused by a more recent version of git being sensitive to mismatched permissions on directories. we didn't notice this before because we were using two separate user accounts to fix up dir permissions in the container , but the second account was removed in #27376 there might be a more elegant way to do this, but this does the trick and seems to be the way others are fixing this issue around the internets. ACKs for top commit: RandyMcMillan: ACK ed4a833 hebasto: re-ACK ed4a8339b8fe796b4668e206d7fb9c2b120f8eb2 Tree-SHA512: dad467deca101a24f3ed34b3e26a1db5099a5bd5c3e9c9a22771c59848f7d7e7843c7386348e6fdf86d5a556e4706e5e20005d7a6637193e1c8aef7a5ff7fb19
2023-04-06Merge bitcoin/bitcoin#27335: Fixes compile errors in MSVC build #27332fanquake
6a9a4d13b2b22632e0acd4f86f7bac238294ba42 Fixes compile errors in MSVC build #27332 (Ethan Heilman) Pull request description: This PR is designed to address the issue https://github.com/bitcoin/bitcoin/issues/27332. The MSVC build is failing because of two bugs in how the build is configured. The issue ==== When running `msbuild build_msvc\bitcoin.sln -property:Configuration=Release -maxCpuCount -verbosity:minima`l the build fails with following two errors. * `C:\Users\e0\Documents\GitHub\bitcoin\src\httpserver.cpp(637,9): error C2664: 'void evhttp_connection_get_peer(evhttp_connection *,const char **,uint16_t *)': cannot convert argument 2 from 'char **' to 'const char **' [C:\Users\e0\Documents\GitHub\bitcoin\build_msvc\libbitcoin_node\libbitcoin_node .vcxproj]` This error is occurs because bitcoin is using the wrong function signature for `evhttp_connection_get_peer` in libevent. In automake builds, configure.ac inspects the version of libevent it is building against and then defines `HAVE_EVHTTP_CONNECTION_GET_PEER_CONST_CHAR` to flag the source code to use the correct signature. In MSVC build there does not appear to be a mechanism to do this. So it uses the wrong signature and fails. See the PR https://github.com/bitcoin/bitcoin/pull/23607 for when this logic was added to automake builds. * `event.lib(evutil_rand.c.obj) : error LNK2019: unresolved external symbol BCryptGenRandom referenced in function arc4_seed [C:\Users\e0\Documents\GitHub\bitcoin\build_msvc\bitcoin-cli\bitcoin-cli.vcxproj] C:\Users\e0\Documents\GitHub\bitcoin\build_msvc\x64\Release\bitcoin-cli.exe : fatal error LNK1120: 1 unresolved externals [C:\Users\e0\Documents\GitHub\bitcoin\build_msvc\bitcoin-cli\bitcoin-cli.vcxproj]` This error is caused by msbuild not being able to find the library bcrypt.lib because it has not been configured to use bcrypt.lib. Fixes ==== While for automake builds a macro is being define to configure the current function signature for `evhttp_connection_get_peer` in libevent, this macro is not being defined for MSVC builds. 1. This PR addresses this issue by assuming more recent version of libevent is installed and always defining `HAVE_EVHTTP_CONNECTION_GET_PEER_CONST_CHAR`. This logic is more brittle the automake logic, but someone following the MSVC build instructions should only get the more recent version of libevent. 2. This PR fixes the bcrypt.lib errors this by setting this library as a dependency in build_msvc/common.init.vcxproj.in. ACKs for top commit: hebasto: re-ACK 6a9a4d13b2b22632e0acd4f86f7bac238294ba42 Tree-SHA512: 69d2cb6a62ecca976540a39e5f83a4e5386d920a564761cedc5127d82e5fa66ced7fcde3e5e5eb3bd6cde1cc78f843e94aa2789f02bd3e3414118030017d0387
2023-04-05Fixes compile errors in MSVC build #27332Ethan Heilman
+ Pins the compatible version of libevent in vcpkg
2023-04-05Merge bitcoin/bitcoin#27404: ci: use clang-16 in tidy taskfanquake
a56c96507a9e943bbcd7e126bc827de9495f0ebd ci: use clang-16 in tidy task (fanquake) Pull request description: Follow up to https://github.com/bitcoin/bitcoin/pull/27311#issuecomment-1481020371, as IWYU now has a [clang_16 branch](https://github.com/include-what-you-use/include-what-you-use/tree/clang_16). This also removes some workarounds for (now fixed) clang-tidy issues, and simplifies the IWYU install steps. ACKs for top commit: MarcoFalke: lgtm ACK a56c96507a9e943bbcd7e126bc827de9495f0ebd josibake: ACK https://github.com/bitcoin/bitcoin/pull/27404/commits/a56c96507a9e943bbcd7e126bc827de9495f0ebd hebasto: ACK a56c96507a9e943bbcd7e126bc827de9495f0ebd Tree-SHA512: 5bbec6cc196c3305302895c77986f3695fc6f4024363ee57503654d54e0ebf108719a7a1d7908817f84115dcaa13377493eb764b00bdf574f1290c73251426fa
2023-04-05ci: fix git dubious permissions errorjosibake
2023-04-05Merge bitcoin/bitcoin#27406: depends: add `NO_HARDEN=` optionfanquake
436df1e826cae036caed3e983715a4ed4e441321 depends: add NO_HARDEN option (fanquake) Pull request description: Add an option that when passed, will disable hardening options, and pass `--disable-hardening` through to configure. Due to the way we link `libssp` for Windows builds, they now fail (after #27118), if building with depends, and configuring with `--disable-hardening` (Windows is the odd build out here). See: https://github.com/bitcoin/bitcoin/pull/27118#issuecomment-1492606272. This change would add a depends option such that, if someone wants to build with depends, for Windows, without hardening, they can do so. This may also be useful when building for debugging. ACKs for top commit: hebasto: re-ACK 436df1e826cae036caed3e983715a4ed4e441321 Tree-SHA512: 5a3ef5ec87b10a5ad0a284201988ce94789451735c7c7e20d337f7232955b0b9a0addab1c3b5725755f00d8ce6741aa9c8cb5e3d48d926515b7dde46acdbcaa0
2023-04-05Merge bitcoin/bitcoin#27418: test: Remove windows workaround in authproxyfanquake
fa584b4d01ca055488a10b280f45dca323b474d4 test: Remove windows workaround in authproxy (MarcoFalke) Pull request description: I wonder if the windows issues have also been fixed by bumping the server timeout in commit 88134fcee998849d9569368d6cefbfa487dc82d1. I guess the only way to find out and try. Note that even with the workaround, the issue would still happen occasionally: https://github.com/bitcoin/bitcoin/issues/18623 ACKs for top commit: fanquake: ACK fa584b4d01ca055488a10b280f45dca323b474d4 Tree-SHA512: 1c633d7d8b54fa47bb851457d48b7d80bf6d6ea353db80610231e0bd385061b795f97ea2b64022fa24e79b4d7dcb5e947e0d637da228f10998e950d84b920878
2023-04-05Merge bitcoin/bitcoin#27317: log: Check that the timestamp string is ↵fanquake
non-empty to avoid undefined behavior 73f4eb511cf80cf52b78627347727ca02774b731 Check that the Timestamp String is valid (John Moffett) Pull request description: Follow-up to https://github.com/bitcoin/bitcoin/pull/27233 The current `FormatISO8601DateTime` function will return an empty string if it encounters an error when converting the `int64_t` seconds-since-epoch to a formatted date time. In the unlikely case that happens, here `strStamped.pop_back()` would be undefined behavior. ACKs for top commit: MarcoFalke: lgtm ACK 73f4eb511cf80cf52b78627347727ca02774b731 stickies-v: ACK 73f4eb511cf80cf52b78627347727ca02774b731 Tree-SHA512: 089ed639c193deb98870a8385039b31b4baed821ea907937bfc6f65a5b0981bbf8284b2afec81b2d0a922e2340716b48cf55349640eb6b8c311ef7af25abc361
2023-04-05ci: use clang-16 in tidy taskfanquake
2023-04-05Merge bitcoin/bitcoin#27420: build: remove ancient unused definefanquake
9fbc5fcd28eeefd3ad1932a2d94e5558deeb16d7 build: remove ancient unused define (Cory Fields) Pull request description: The generic define was removed in [upstream miniupnpc in 2014](https://github.com/miniupnp/miniupnp/commit/f6774e33169b3101c3a242984510c9b6da033e26). Noticed while reviewing hebasto's new CMake buildsystem: https://github.com/hebasto/bitcoin/pull/12#discussion_r1156267350. ACKs for top commit: RandyMcMillan: utACK 9fbc5fc hebasto: ACK 9fbc5fcd28eeefd3ad1932a2d94e5558deeb16d7 TheCharlatan: ACK 9fbc5fcd28eeefd3ad1932a2d94e5558deeb16d7 Tree-SHA512: 2075a2e63441e32d939c23f30f811c73dd1ab1ddcc9e6bf079cc8060e77d9a2a6d707add7b72e9251939a53b53e28a134e9bb330ccf3556244497728f1b091ae
2023-04-05Merge bitcoin/bitcoin#26832: compat: move (win) S_* defines into bdbfanquake
54e406118926c2a526455a60f67961520dfb65da refactor: don't avoid sys/types.h on when building for Windows (fanquake) Pull request description: This is the only place these defines are used. They may also be available when building for Windows. `sys/stat.h` is available, and we already use it unguarded in other code. So move the defines into bdb, after the stat.h include, and remove compat from bdb.cpp. ACKs for top commit: TheCharlatan: re-ACK 54e406118926c2a526455a60f67961520dfb65da hebasto: ACK 54e406118926c2a526455a60f67961520dfb65da, I have reviewed the code and it looks OK. Tree-SHA512: b75bb120654b4dec9ccc83aa407ee1a50969fec92f196a3722ec51282b91ac50e455af04f07211f3e93270ab83660f1efdeef43928b44b1e4296f6b06ea807c8
2023-04-04build: remove ancient unused defineCory Fields
The generic define was removed in upstream miniupnpc in 2014: https://github.com/miniupnp/miniupnp/commit/f6774e33169b3101c3a242984510c9b6da033e26 Noticed while reviewing hebasto's new CMake buildsystem: https://github.com/hebasto/bitcoin/pull/12#discussion_r1156267350
2023-04-04test: Remove windows workaround in authproxyMarcoFalke
2023-04-04Merge bitcoin/bitcoin#27389: test: refactor: replace unnecessary `BytesIO` usesfanquake
f842ed9a40c0db656b86f85e84dd4978865cc0a0 test: refactor: replace unnecessary `BytesIO` uses (Sebastian Falbesoner) Pull request description: Rather than needing to create intermediate stream variables, we can use helper functions like `tx_from_hex` instead or access the result directly, leading both to increased readability and less code. ACKs for top commit: stickies-v: ACK f842ed9a40c0db656b86f85e84dd4978865cc0a0 brunoerg: crACK f842ed9a40c0db656b86f85e84dd4978865cc0a0 aureleoules: ACK f842ed9a40c0db656b86f85e84dd4978865cc0a0 - It seems that these are the only instances that can be changed and it simplifies test code. Tree-SHA512: 7f4fd7a26720d1988bf27f66c817ff6cd7060350a3be62d28e7848c768fd43578719ca475193d4057ccf4f2458af18564fd513fe3a1d458a11c799927c12bd65
2023-04-04depends: add NO_HARDEN optionfanquake
Add an option that when passed, will disable hardening options, and pass `--disable-hardening` through to configure. Due to the way we link libssp for Windows builds, they now fail (after #27118), if building with depends, and configuring with --disable-hardening. See: https://github.com/bitcoin/bitcoin/pull/27118#issuecomment-1492606272. This change would add a depends opiton such that, if someone wants to build with, for windows, without hardening, they can do so. This may also be useful when building for debugging.
2023-04-03test,gui: add coverage for PSBT creation on legacy watch-only walletsfurszy