Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
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
|
|
as these RPCs have a "warnings" field, not a "warning" one.
|
|
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
|
|
|
|
|
|
This string field has been replaced in these four RPCs by a "warnings" field
returning a JSON array of strings.
|
|
and clarify the "warning" field behavior.
|
|
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.
|
|
|
|
- clarify that there can be multiple warning messages
- specify the correct wallet action
- describe the use of newlines as delimiters
|
|
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.
|
|
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.
|
|
Sync up with other CI infra.
|
|
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
|
|
|
|
Followup to #27358, fixing up the example command docs.
|
|
|
|
|
|
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)"
|
|
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
|
|
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
|
|
|
|
|
|
Co-authored-by: Reproducibility Matters <seb.kung@gmail.com>
|
|
|
|
|
|
It may be useful for local validation.
|
|
- Use correct name for verify.py
- Add usage examples for verifybinaries bin
- Document proper use of new cleanup option
- Fixup broken example
|
|
|
|
|
|
Co-authored-by: Suhas Daftuar <sdaftuar@gmail.com>
|
|
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.
|
|
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
|
|
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
|
|
+ Pins the compatible version of libevent in vcpkg
|
|
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
|
|
|
|
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
|
|
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
|
|
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
|
|
|
|
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
|
|
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
|
|
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
|
|
|
|
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
|
|
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.
|
|
|