Age | Commit message (Collapse) | Author |
|
5576618152aff0358aeb1c5189422882b419de2d doc: update release notes for 28.1rc2 (Ava Chow)
01fe07a2cea07b6e72a33a5d230ec16118b9a26b examples: Generate example bitcoin.conf (Ava Chow)
7ddfcf32da7a0bfb40bc3b4f5d28ac078fd1c5d7 doc: Generate manpages (Ava Chow)
e0b27b234cb31f53ddd51a923d8f5d0a30f92375 build: Bump to 28.1rc2 (Ava Chow)
bdc6b3e531a107c52d73f72ddf788114381e241c Add release note for #31223 (Martin Zumsande)
a0585b6087ac2f3e54efa50795cba83caeac5ab0 test: add functional test for -port behavior (Martin Zumsande)
bbde830b97000b8bbfbaefc54504f659a34f651c net, init: derive default onion port if a user specified a -port (Martin Zumsande)
227642d5afeb9918269192500d1a41bcb64b51c5 test: fix MIN macro-redefinition (0xb10c)
b8112cf4226265a5b43e2b556ce9fa97caf3c28a util: use explicit cast in MultiIntBitSet::Fill() (Vasil Dimov)
2835158be0410fe82a56752d9ffe60e2a77dc0cd fuzz: add cstdlib to FuzzedDataProvider (fanquake)
Pull request description:
Backports:
* #31223
* #31448
* #31431
* #31419
ACKs for top commit:
hodlinator:
re-ACK 5576618152aff0358aeb1c5189422882b419de2d
Tree-SHA512: f99f3c5960f18f6894832c5f9a827f97fd3c6e086670341760ce1b77c304d53136492371c59148f3b4bbcfe2d5428c835fe632c61b229b40f1f6f6cf2b72cdca
|
|
|
|
|
|
|
|
|
|
Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
Github-Pull: bitcoin/bitcoin#31223
Rebased-From: 1dd3af8fbc350c6f1efa8ae6449e67e1b42ccff4
|
|
Github-Pull: bitcoin/bitcoin#31223
Rebased-From: 997757dd2b4d7b20b17299fbd21970b2efb8bbc8
|
|
After port collisions are no longer tolerated but lead to
a startup failure in v28.0, local setups of multiple nodes,
each with a different -port value would not be possible anymore
due to collision of the onion default port - even if the nodes
were using tor or not interested in receiving onion inbound connections.
Fix this by deriving the onion listening port to be -port + 1.
(idea by vasild / laanwj)
Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
Github-Pull: bitcoin/bitcoin#31223
Rebased-From: 0e2b12b92a28a2949e75bf50f31563f52e647d6e
|
|
Renames the `MIN` macro to `_TRACEPOINT_TEST_MIN`.
From #31418:
```
stderr:
/virtual/main.c:70:9: warning: 'MIN' macro redefined [-Wmacro-redefined]
70 | #define MIN(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
| ^
include/linux/minmax.h:329:9: note: previous definition is here
329 | #define MIN(a,b) __cmp(min,a,b)
| ^
1 warning generated.
```
fixes: https://github.com/bitcoin/bitcoin/issues/31418
Github-Pull: bitcoin/bitcoin#31419
Rebased-From: 00c1dbd26ddb816e5541c5724397015a92a3d06b
|
|
The current code does not have a bug, but is implicitly casting -1 to
65535 and the sanitizer has no way to know whether we intend that or
not.
```
FUZZ=bitset src/test/fuzz/fuzz /tmp/fuz
error: implicit conversion from type 'int' of value -1 (32-bit, signed)
to type 'value_type' (aka 'unsigned short') changed the value to 65535
(16-bit, unsigned)
Base64: Qv7bX/8=
```
Github-Pull: bitcoin/bitcoin#31431
Rebased-From: edb41e4814ccc2c06a5694b2d2632dbbd22bc0cf
|
|
Same as https://github.com/llvm/llvm-project/pull/113951.
Avoids compile failures under clang-20 &
`D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES`:
```bash
In file included from /bitcoin/src/test/fuzz/addition_overflow.cpp:5:
/bitcoin/src/test/fuzz/FuzzedDataProvider.h:209:5: error: use of undeclared identifier 'abort'
209 | abort();
| ^
/bitcoin/src/test/fuzz/FuzzedDataProvider.h:250:5: error: use of undeclared identifier 'abort'
250 | abort();
```
Github-Pull: bitcoin/bitcoin#31448
Rebased-From: bb7e686341e437b2e7aae887827710918c00ae0f
|
|
8fef83a0a03f884e0c5399b318eb55064b84b718 doc: update manual pages for 28.1rc1 (fanquake)
df7764621e2d41e2dd35e10f68f0059c0e09bf18 build: bump version to 28.1rc1 (fanquake)
9add853b652ac37214011909e7777772ec6256fa doc: update release notes for 28.1rc1 (fanquake)
1025090fbe215286239ff6dd5dbedd3291f0b196 build: disable compiling fuzz/utxo_snapshot.cpp with MSVC (fanquake)
446f5d20d6c8da951c97e5a5e52c92b0fab4728d refactor: Drop deprecated space in operator""_mst (MarcoFalke)
9976162a0e0847502c075ae8524b6e5cfefba0ed addrman: change nid_type from int to int64_t (Martin Zumsande)
1d0411dc8fea96eb4d65ffef98d71f6cc4e12af5 addrman, refactor: introduce user-defined type for internal nId (Martin Zumsande)
7fec6382221b49b7ffd5121ee0442b4f2a5169ef depends: For mingw cross compile use -gcc-posix to prevent library conflict (laanwj)
f998ac628685c6459d5de3bd7469f9046901fc47 key: clear out secret data in `DecodeExtKey` (Sebastian Falbesoner)
0773560abf991fbc60c415e1556d86c4d5505f1b ci: add LLVM_SYMBOLIZER_PATH to Valgrind fuzz job (fanquake)
b9173342084b1340a639e7a20e2b4a0f5852304a test: add missing sync to feature_fee_estimation.py (Martin Zumsande)
f072721181c727f37cf1253e0a629f865eae7178 doc: add testnet4 section header for config file (Marnix)
6643fd2145f8ef211e719dd401b8ac966c5dc9ea doc: Archive 28.0 release notes (Ava Chow)
Pull request description:
Backports:
* #30568
* #31007
* #31013
* #31016
* #31035
* #31166
Contains:
* A commit to do the same as #31307.
ACKs for top commit:
willcl-ark:
ACK 8fef83a0a03f884e0c5399b318eb55064b84b718
Tree-SHA512: 58f0c6cb9e5b7ac17ad20141acdc5423dbe8e79cc3a2cf1c4e503d289b75940632c9838c64e3ac733b1a55e65723fc1071ccdd9a860a710256cc88e29f42ccdb
|
|
|
|
|
|
|
|
This is a backport of #31307 / b2d536100282bd901d3e0be7f7f4a6966e0ef817
for 28.x.
|
|
Github-Pull: #31267
Rebased-From: faf21625652fd0d4bbf9b86fd9ebedb5857505ea
|
|
With nId being incremented for each addr received,
an attacker could cause an overflow in the past.
(https://bitcoincore.org/en/2024/07/31/disclose-addrman-int-overflow/)
Even though that attack was made infeasible by
rate-limiting (PR #22387), to be on the safe side change the
type to an int64_t.
Github-Pull: #30568
Rebased-From: 51f7668d31e2624e41c7ce77fe33162802808f3f
|
|
This makes it easier to track which spots refer to an nId
(as opposed to, for example, bucket index etc. which also use int)
Co-authored-by: Pieter Wuille <pieter@wuille.net>
Github-Pull: #30568
Rebased-From: 051ba3290e30e210bfc50dea974063053313ad3e
|
|
CMake parses some paths from the spec of the C compiler, assuming it
will be the linker, resulting in the link to end up with
`-L/usr/lib/gcc/x86_64-w64-mingw32/12-win32` on debian bookworm if both
-win32 and -posix variants are installed, and -win32 is the default
alternative.
This results in the wrong C++ library being linked, missing
std::threads::hardware_concurrency and other threading functions.
To fix this, use the -posix variant of gcc as well when available. This
fixes a regression compared to autotools, where this scenario worked.
Github-Pull: #31013
Rebased-From: ae56b3230b287eef5a5657d3089abebffde51484
|
|
Same as in `DecodeSecret`, we should also clear out the secret data from
the vector resulting from the Base58Check parsing for xprv keys. Note
that the if condition is needed in order to avoid UB, see #14242 (commit
d855e4cac8303ad4e34ac31cfa7634286589ce99).
Github-Pull: #31166
Rebased-From: 559a8dd9c0aafcecf00f9ccd9aabe5720bcebe8c
|
|
Otherwise:
```bash
NEW_FUNC[1/23]: ==4710==WARNING: invalid path to external symbolizer!
==4710==WARNING: Failed to use and restart external symbolizer!
0xb72010 (/ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/fuzz+0xa6a010) (BuildId: 2087ad415cb752eea259ed750f3b78a7fcb0b43b)
NEW_FUNC[2/23]: 0xb72240 (/ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/test/fuzz/fuzz+0xa6a240) (BuildId: 2087ad415cb752eea259ed750f3b78a7fcb0b43b)
```
Github-Pull: #30961
Rebased-From: c1832584bfd1b352095bc41a13ff17564e456d43
|
|
Fixes a race between node 1 catching up with the chain and mining a
new block in the sanity_check_rbf_estimates subtest.
Github-Pull: #31016
Rebased-From: a1576edab356053c4c736691e4950b58e9a14f76
|
|
Github-Pull: #31007
Rebased-From: 61cdb1c9d83778b95f4f9596f34617b7a191d0a5
|
|
Github-Pull: #31035
Rebased-From: f019fcec4126aa2618734016711063d3b44260fc
|
|
89d34cffedcb6ec752fa2ca355ad32e1e413b2f0 doc: Sync 28.0 release notes with website (Ava Chow)
Pull request description:
Since there were some changes to the release notes after the tagging, update the in branch release notes to match those that ended up on the website.
ACKs for top commit:
tdb3:
ACK 89d34cffedcb6ec752fa2ca355ad32e1e413b2f0
Tree-SHA512: 1feeafb0f604d36c1817e8bf38cbaef5d41f958dd823c99a19a1a9f7f1f1d38f917872c84b536dd784d7a672904ed2399369693f200a2837cd5707a686d3e634
|
|
|
|
5de225f5c145368f70cb5f870933bcf9df6b92c8 doc: 28.0 Release Notes (Ava Chow)
98745e03ffc9f69f901b827e19e4d8d645a27112 doc: generate manpages (Ava Chow)
5feef9ce7ebf608e45aa9682512599494c0d46d8 build: Bump to 28.0 (Ava Chow)
7fcd7b85c64ffbcd67d8ff1add46d258b26b2029 validation: Disable CheckForkWarningConditions for background chainstate (Martin Zumsande)
e24a25d882ba8c8dacc1eede6b9373fe7601f85b test: Use shell builtins in run_command test case (Ava Chow)
Pull request description:
* #30952
* #30962
* Finalize 28.0 (or rc3 if additional backports are needed)
ACKs for top commit:
sipa:
utACK 5de225f5c145368f70cb5f870933bcf9df6b92c8
Tree-SHA512: b42948a04d4250f2c9ef3331a39a4c3d7de9ceb9f4f294dd283599d08f3e2b7147297ef9ec1c4276e291a015fc2daa5a72c1f1c33fb517e8ea5c740c4459bf32
|
|
|
|
|
|
|
|
The comparison of m_best_invalid with the tip of the respective chainstate
makes no sense for the background chainstate, and can lead to incorrect
error messages.
Github-Pull: bitcoin/bitcoin#30962
Rebased-From: c0a0c72b4d68a4f0c53c2c4b95f4d6e399f8e4ee
|
|
Github-Pull: bitcoin/bitcoin#30952
Rebased-From: 7bd3ee62f6d6f59ca599e85f81776d282dee1539
|
|
06a7df70df30879e0b691d1a252636f703b8cdfb doc: Generate manpages (Ava Chow)
5315886bf5bb430ced1b23ebfcd0b8865b523675 build: Bump to 28.0rc2 (Ava Chow)
ff95cb31da6ab6af70125b2c0b78aa976780c61e streams: remove AutoFile::Get() entirely (Pieter Wuille)
8229e981167f61e2d4c2e8b7761cba68374ea92f streams: cache file position within AutoFile (Pieter Wuille)
1b853fdb0a40064a5c75b2dae96dfe1d590de6e1 qt: Translations update (Hennadii Stepanov)
674dded8756ddf9b731f3149c66dd044090e4c8e gui: fix crash when closing wallet (furszy)
d39262e5d41e92d22e020d283ddb6e4e406647b2 test: Wait for local services to update in feature_assumeutxo (Fabian Jahr)
b329ed739b7311b3b47cae1ef8d576a90e0a36a1 test: add coverage for assumeUTXO honest peers disconnection (furszy)
c6b5db1d591f0984cd0e6918970a9e4fc32595d3 assumeUTXO: fix peers disconnection during sync (furszy)
598415bcc1d1f8d516159a1501dda24e8d7c2ea9 test: Work around boost compilation error (MarcoFalke)
Pull request description:
* #30834
* #30807
* #30880
* https://github.com/bitcoin-core/gui/pull/835
* #30899
* #30884
ACKs for top commit:
stickies-v:
ACK 06a7df70df30879e0b691d1a252636f703b8cdfb
hebasto:
ACK 06a7df70df30879e0b691d1a252636f703b8cdfb, I've backported the listed PRs locally. The only merge conflict I faced was in https://github.com/bitcoin/bitcoin/pull/30807. It was trivial to resolve.
Tree-SHA512: 779d734b50fdce379a20865ba30c969def028963ba51da0f497ddf1b5375e1f6166365295f226c1a07bab8be0c1aa0a6a3296fc6acd9fcf17bcc4874aac980a6
|
|
|
|
|
|
Co-Authored-By: David Gumberg <davidzgumberg@gmail.com>
Github-Pull: bitcoin/bitcoin#30884
Rebased-From: a240e150e837b5a95ed19765a2e8b7c5b6013f35
|
|
Github-Pull: bitcoin/bitcoin#30884
Rebased-From: e624a9bef16b6335fd119c10698352b59bf2930a
|
|
The recent translations from Transifex.com 28.x fetched with the
bitcoin-maintainer-tools/update-translations.py tool.
Github-Pull: bitcoin/bitcoin#30899
Rebased-From: ae0529576147a1a5bee992574e2cefc8a1fa37d0
|
|
The crash occurs because 'WalletController::removeAndDeleteWallet' is called
twice for the same wallet model: first in the GUI's button connected function
'WalletController::closeWallet', and then again when the backend emits the
'WalletModel::unload' signal.
This causes the issue because 'removeAndDeleteWallet' inlines an
erase(std::remove()). So, if 'std::remove' returns an iterator to the end
(indicating the element wasn't found because it was already erased), the
subsequent call to 'erase' leads to an undefined behavior.
Github-Pull: bitcoin-core/gui#835
Rebased-From: a965f2bc07a3588f8c2b8d6a542961562e3f5d0e
|
|
Github-Pull: bitcoin/bitcoin#30880
Rebased-From: 19f4a7c95a99162122068d4badffeea240967a65
|
|
Exercising and verifying the following points:
1. An IBD node can sync headers from an AssumeUTXO node at
any time.
2. IBD nodes do not request historical blocks from AssumeUTXO
nodes while they are syncing the background-chain.
3. The assumeUTXO node dynamically adjusts the network services
it offers according to its state.
4. IBD nodes can fully sync from AssumeUTXO nodes after they
finish the background-chain sync.
Github-Pull: bitcoin/bitcoin#30807
Rebased-From: 992f83bb6f4b29b44f4eaace1d1a2c0001d43cac
|
|
Because AssumeUTXO nodes prioritize tip synchronization, they relay their local
address through the network before completing the background chain sync.
This, combined with the advertising of full-node service (NODE_NETWORK), can
result in an honest peer in IBD connecting to the AssumeUTXO node (while syncing)
and requesting an historical block the node does not have. This behavior leads to
an abrupt disconnection due to perceived unresponsiveness (lack of response)
from the AssumeUTXO node.
This lack of response occurs because nodes ignore getdata requests when they do
not have the block data available (further discussion can be found in PR 30385).
Fix this by refraining from signaling full-node service support while the
background chain is being synced. During this period, the node will only
signal 'NODE_NETWORK_LIMITED' support. Then, full-node ('NODE_NETWORK')
support will be re-enabled once the background chain sync is completed.
Github-Pull: bitcoin/bitcoin#30807
Rebased-From: 6d5812e5c852c233bd7ead2ceef051f8567619ed
|
|
Github-Pull: bitcoin/bitcoin#30834
Rebased-From: fa9d7d5d205ada8915cbbc29599ab8e7bf1fffe0
|
|
b2a137929a20baed161988e24de592b1f59c0096 depends: build libevent with -D_GNU_SOURCE (fanquake)
199bb09d88e28d951c5068eb65643390dbedd066 test: fixing failing system_tests/run_command under some Locales (Jadi)
342baabaffc385dc44a44f6d8cf32728a25a0356 test: Avoid intermittent timeout in p2p_headers_sync_with_minchainwork.py (MarcoFalke)
5577d5a3c0904a4805e7b768cb60144daa2a0854 test: fix `TestShell` initialization (late follow-up for #30463) (Sebastian Falbesoner)
Pull request description:
Backports:
* https://github.com/bitcoin/bitcoin/pull/30714
* https://github.com/bitcoin/bitcoin/pull/30743
* https://github.com/bitcoin/bitcoin/pull/30761
* https://github.com/bitcoin/bitcoin/pull/30788
ACKs for top commit:
willcl-ark:
ACK b2a137929a20baed161988e24de592b1f59c0096
achow101:
ACK b2a137929a20baed161988e24de592b1f59c0096
stickies-v:
ACK b2a137929a20baed161988e24de592b1f59c0096
Tree-SHA512: bf08ac0c613395def974a1b287345d4a64edc066c14f8c9f0184478b0e33e48333760eeb6e96b6b5fbafbb21b40d01875e3f526213a2734e226b2e111d71f3a3
|
|
Currently, builds of libevent in depends, using CMake, fail on some
systems, like Alpine, with the following:
```bash
/bitcoin/depends/work/build/aarch64-unknown-linux-musl/libevent/2.1.12-stable-1516ed47ea8/evmap.c: In function 'evmap_signal_add_':
/bitcoin/depends/work/build/aarch64-unknown-linux-musl/libevent/2.1.12-stable-1516ed47ea8/evmap.c:456:31: error: 'NSIG' undeclared (first use in this function)
456 | if (sig < 0 || sig >= NSIG)
```
From what I can tell the `_GNU_SOURCE` "detection" in libevents CMake build
system, never? really worked, and it's not clear what a nice fix is.
For now, always use `_GNU_SOURCE` when building libevent in depends.
Github-Pull: #30743
Rebased-From: 556775408797d8e27154c3edaf139820b0979cce
|
|
the run_command test under system_tests fails if the locale is anything
other than English ones because results such as "No such file or directory"
will be different under Non-English locales.
On the old version, a `ls nonexistingfile` was used to generate the error
output which is not ideal. In the current version we are using a Python one-liner
to generate a non 0 zero return value and "err" on stderr and check the
expected value against this.
fixes #30608
Github-Pull: #30788
Rebased-From: ae48a22a3df086fb59843b7b814619ed5df7557b
|
|
Github-Pull: #30761
Rebased-From: fa247e6e8c7fddf9e3461c3e2e6f5fade0fe64cf
|
|
Github-Pull: #30714
Rebased-From: bd7ce05f9d9d21903163a2bd9dd2df3ed3990c3e
|
|
bd45bc611b8b245d0a6bc8e0f5a224b0642f06d0 doc: Point release notes to wiki draft (Ava Chow)
27b63004851c1c2bb14387fc537052a27265145f examples: Generate example bitcoin.conf (Ava Chow)
08887d3297175ca1eed800319b958d5d8247b885 doc: Generate manpages (Ava Chow)
6974e30bdd2b32197f543050c21f8fc2cca5a0b9 build: Bump to 28.0rc1 (Ava Chow)
Pull request description:
* Bump version to 28.0rc1
* Generated manpages
* Generated example bitcoin.conf
* Point release notes to wiki
ACKs for top commit:
hebasto:
ACK bd45bc611b8b245d0a6bc8e0f5a224b0642f06d0.
Tree-SHA512: c3cd28b003ead64631b8c2d1bdbf7403d4d9f53ee5ccdc448d89ca25941678f6d1d8966c2f9a92fa021c815b3e36a84056342caa4eaacdab371f0d581e4e58dc
|