mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 06:49:38 -04:00
Merge bitcoin/bitcoin#31648: [28.x] Backports
Some checks failed
Some checks failed
e57359c7dd
doc: Update release notes (fanquake)51fbcba682
depends: Fix compiling `libevent` package on NetBSD (Hennadii Stepanov)2829588882
tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs (0xb10c)f676da82fa
depends: Fix spacing issue (Hennadii Stepanov)4e7dd0ac20
doc: upgrade license to 2025. (Kay) Pull request description: Backports: * https://github.com/bitcoin/bitcoin/pull/31500 * https://github.com/bitcoin/bitcoin/pull/31611 * https://github.com/bitcoin/bitcoin/pull/31623 * https://github.com/bitcoin/bitcoin/pull/31627 ACKs for top commit: stickies-v: ACKe57359c7dd
willcl-ark: ACKe57359c7dd
Tree-SHA512: 2ddc7e5cf1b84846b5b066509074a475bdce6ba70938c5100c985b1135ae0662568654c4053aeddb4a022c7c2c38c49f6ed42f9cc2ff68a3057236202fae141c
This commit is contained in:
commit
dbc450c1b5
8 changed files with 44 additions and 55 deletions
4
COPYING
4
COPYING
|
@ -1,7 +1,7 @@
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2009-2024 The Bitcoin Core developers
|
Copyright (c) 2009-2025 The Bitcoin Core developers
|
||||||
Copyright (c) 2009-2024 Bitcoin Developers
|
Copyright (c) 2009-2025 Bitcoin Developers
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|
|
@ -4,7 +4,7 @@ define(_CLIENT_VERSION_MINOR, 1)
|
||||||
define(_CLIENT_VERSION_BUILD, 0)
|
define(_CLIENT_VERSION_BUILD, 0)
|
||||||
define(_CLIENT_VERSION_RC, 0)
|
define(_CLIENT_VERSION_RC, 0)
|
||||||
define(_CLIENT_VERSION_IS_RELEASE, true)
|
define(_CLIENT_VERSION_IS_RELEASE, true)
|
||||||
define(_COPYRIGHT_YEAR, 2024)
|
define(_COPYRIGHT_YEAR, 2025)
|
||||||
define(_COPYRIGHT_HOLDERS,[The %s developers])
|
define(_COPYRIGHT_HOLDERS,[The %s developers])
|
||||||
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Bitcoin Core]])
|
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Bitcoin Core]])
|
||||||
AC_INIT([Bitcoin Core],m4_join([.], _CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MINOR, _CLIENT_VERSION_BUILD)m4_if(_CLIENT_VERSION_RC, [0], [], [rc]_CLIENT_VERSION_RC),[https://github.com/bitcoin/bitcoin/issues],[bitcoin],[https://bitcoincore.org/])
|
AC_INIT([Bitcoin Core],m4_join([.], _CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MINOR, _CLIENT_VERSION_BUILD)m4_if(_CLIENT_VERSION_RC, [0], [], [rc]_CLIENT_VERSION_RC),[https://github.com/bitcoin/bitcoin/issues],[bitcoin],[https://bitcoincore.org/])
|
||||||
|
|
|
@ -5,7 +5,7 @@ Upstream-Contact: Satoshi Nakamoto <satoshin@gmx.com>
|
||||||
Source: https://github.com/bitcoin/bitcoin
|
Source: https://github.com/bitcoin/bitcoin
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: 2009-2024, Bitcoin Core Developers
|
Copyright: 2009-2025, Bitcoin Core Developers
|
||||||
License: Expat
|
License: Expat
|
||||||
Comment: The Bitcoin Core Developers encompasses all contributors to the
|
Comment: The Bitcoin Core Developers encompasses all contributors to the
|
||||||
project, listed in the release notes or the git log.
|
project, listed in the release notes or the git log.
|
||||||
|
|
|
@ -41,7 +41,8 @@ from bcc import BPF, USDT
|
||||||
program = """
|
program = """
|
||||||
#include <uapi/linux/ptrace.h>
|
#include <uapi/linux/ptrace.h>
|
||||||
|
|
||||||
#define MIN(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
|
// A min() macro. Prefixed with _TRACEPOINT_TEST to avoid collision with other MIN macros.
|
||||||
|
#define _TRACEPOINT_TEST_MIN(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
|
||||||
|
|
||||||
// Maximum possible allocation size
|
// Maximum possible allocation size
|
||||||
// from include/linux/percpu.h in the Linux kernel
|
// from include/linux/percpu.h in the Linux kernel
|
||||||
|
@ -88,7 +89,7 @@ int trace_inbound_message(struct pt_regs *ctx) {
|
||||||
bpf_usdt_readarg_p(3, ctx, &msg->peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
|
bpf_usdt_readarg_p(3, ctx, &msg->peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
|
||||||
bpf_usdt_readarg_p(4, ctx, &msg->msg_type, MAX_MSG_TYPE_LENGTH);
|
bpf_usdt_readarg_p(4, ctx, &msg->msg_type, MAX_MSG_TYPE_LENGTH);
|
||||||
bpf_usdt_readarg(5, ctx, &msg->msg_size);
|
bpf_usdt_readarg(5, ctx, &msg->msg_size);
|
||||||
bpf_usdt_readarg_p(6, ctx, &msg->msg, MIN(msg->msg_size, MAX_MSG_DATA_LENGTH));
|
bpf_usdt_readarg_p(6, ctx, &msg->msg, _TRACEPOINT_TEST_MIN(msg->msg_size, MAX_MSG_DATA_LENGTH));
|
||||||
|
|
||||||
inbound_messages.perf_submit(ctx, msg, sizeof(*msg));
|
inbound_messages.perf_submit(ctx, msg, sizeof(*msg));
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -108,7 +109,7 @@ int trace_outbound_message(struct pt_regs *ctx) {
|
||||||
bpf_usdt_readarg_p(3, ctx, &msg->peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
|
bpf_usdt_readarg_p(3, ctx, &msg->peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
|
||||||
bpf_usdt_readarg_p(4, ctx, &msg->msg_type, MAX_MSG_TYPE_LENGTH);
|
bpf_usdt_readarg_p(4, ctx, &msg->msg_type, MAX_MSG_TYPE_LENGTH);
|
||||||
bpf_usdt_readarg(5, ctx, &msg->msg_size);
|
bpf_usdt_readarg(5, ctx, &msg->msg_size);
|
||||||
bpf_usdt_readarg_p(6, ctx, &msg->msg, MIN(msg->msg_size, MAX_MSG_DATA_LENGTH));
|
bpf_usdt_readarg_p(6, ctx, &msg->msg, _TRACEPOINT_TEST_MIN(msg->msg_size, MAX_MSG_DATA_LENGTH));
|
||||||
|
|
||||||
outbound_messages.perf_submit(ctx, msg, sizeof(*msg));
|
outbound_messages.perf_submit(ctx, msg, sizeof(*msg));
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -143,7 +143,7 @@ include packages/packages.mk
|
||||||
# 2. Before including packages/*.mk (excluding packages/packages.mk), since
|
# 2. Before including packages/*.mk (excluding packages/packages.mk), since
|
||||||
# they rely on the build_id variables
|
# they rely on the build_id variables
|
||||||
#
|
#
|
||||||
build_id:=$(shell env CC='$(build_CC)' C_STANDARD='$(C_STANDARD)' CXX='$(build_CXX)' CXX_STANDARD='$(CXX_STANDARD)' AR='$(build_AR) 'NM='$(build_NM)' RANLIB='$(build_RANLIB)' STRIP='$(build_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' LTO='$(LTO)' NO_HARDEN='$(NO_HARDEN)' ./gen_id '$(BUILD_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
|
build_id:=$(shell env CC='$(build_CC)' C_STANDARD='$(C_STANDARD)' CXX='$(build_CXX)' CXX_STANDARD='$(CXX_STANDARD)' AR='$(build_AR)' NM='$(build_NM)' RANLIB='$(build_RANLIB)' STRIP='$(build_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' LTO='$(LTO)' NO_HARDEN='$(NO_HARDEN)' ./gen_id '$(BUILD_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
|
||||||
$(host_arch)_$(host_os)_id:=$(shell env CC='$(host_CC)' C_STANDARD='$(C_STANDARD)' CXX='$(host_CXX)' CXX_STANDARD='$(CXX_STANDARD)' AR='$(host_AR)' NM='$(host_NM)' RANLIB='$(host_RANLIB)' STRIP='$(host_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' LTO='$(LTO)' NO_HARDEN='$(NO_HARDEN)' ./gen_id '$(HOST_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
|
$(host_arch)_$(host_os)_id:=$(shell env CC='$(host_CC)' C_STANDARD='$(C_STANDARD)' CXX='$(host_CXX)' CXX_STANDARD='$(CXX_STANDARD)' AR='$(host_AR)' NM='$(host_NM)' RANLIB='$(host_RANLIB)' STRIP='$(host_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' LTO='$(LTO)' NO_HARDEN='$(NO_HARDEN)' ./gen_id '$(HOST_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
|
||||||
|
|
||||||
boost_packages_$(NO_BOOST) = $(boost_packages)
|
boost_packages_$(NO_BOOST) = $(boost_packages)
|
||||||
|
|
|
@ -5,6 +5,7 @@ $(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||||
$(package)_sha256_hash=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
|
$(package)_sha256_hash=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
|
||||||
$(package)_patches=cmake_fixups.patch
|
$(package)_patches=cmake_fixups.patch
|
||||||
$(package)_patches+=fix_mingw_link.patch
|
$(package)_patches+=fix_mingw_link.patch
|
||||||
|
$(package)_patches += netbsd_fixup.patch
|
||||||
$(package)_build_subdir=build
|
$(package)_build_subdir=build
|
||||||
|
|
||||||
# When building for Windows, we set _WIN32_WINNT to target the same Windows
|
# When building for Windows, we set _WIN32_WINNT to target the same Windows
|
||||||
|
@ -24,7 +25,8 @@ endef
|
||||||
|
|
||||||
define $(package)_preprocess_cmds
|
define $(package)_preprocess_cmds
|
||||||
patch -p1 < $($(package)_patch_dir)/cmake_fixups.patch && \
|
patch -p1 < $($(package)_patch_dir)/cmake_fixups.patch && \
|
||||||
patch -p1 < $($(package)_patch_dir)/fix_mingw_link.patch
|
patch -p1 < $($(package)_patch_dir)/fix_mingw_link.patch && \
|
||||||
|
patch -p1 < $($(package)_patch_dir)/netbsd_fixup.patch
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
|
|
23
depends/patches/libevent/netbsd_fixup.patch
Normal file
23
depends/patches/libevent/netbsd_fixup.patch
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
Improve portability on NetBSD
|
||||||
|
|
||||||
|
According to GCC documentation, "the various `-std` options disable
|
||||||
|
certain keywords".
|
||||||
|
This change adheres to GCC's recommendation by replacing the `typeof`
|
||||||
|
keyword with its alternative, `__typeof__`.
|
||||||
|
|
||||||
|
See https://github.com/libevent/libevent/commit/1759485e9a59147a47a674f5132fcfe764e7748c.
|
||||||
|
|
||||||
|
|
||||||
|
--- a/kqueue.c
|
||||||
|
+++ b/kqueue.c
|
||||||
|
@@ -52,8 +52,8 @@
|
||||||
|
* intptr_t, whereas others define it as void*. There doesn't seem to be an
|
||||||
|
* easy way to tell them apart via autoconf, so we need to use OS macros. */
|
||||||
|
#if defined(__NetBSD__)
|
||||||
|
-#define PTR_TO_UDATA(x) ((typeof(((struct kevent *)0)->udata))(x))
|
||||||
|
-#define INT_TO_UDATA(x) ((typeof(((struct kevent *)0)->udata))(intptr_t)(x))
|
||||||
|
+#define PTR_TO_UDATA(x) ((__typeof__(((struct kevent *)0)->udata))(x))
|
||||||
|
+#define INT_TO_UDATA(x) ((__typeof__(((struct kevent *)0)->udata))(intptr_t)(x))
|
||||||
|
#elif defined(EVENT__HAVE_INTTYPES_H) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__darwin__) && !defined(__APPLE__) && !defined(__CloudABI__)
|
||||||
|
#define PTR_TO_UDATA(x) ((intptr_t)(x))
|
||||||
|
#define INT_TO_UDATA(x) ((intptr_t)(x))
|
|
@ -1,6 +1,6 @@
|
||||||
Bitcoin Core version 28.1 is now available from:
|
Bitcoin Core version 28.x is now available from:
|
||||||
|
|
||||||
<https://bitcoincore.org/bin/bitcoin-core-28.1>
|
<https://bitcoincore.org/bin/bitcoin-core-28.x>
|
||||||
|
|
||||||
This release includes new features, various bug fixes and performance
|
This release includes new features, various bug fixes and performance
|
||||||
improvements, as well as updated translations.
|
improvements, as well as updated translations.
|
||||||
|
@ -44,62 +44,25 @@ unsupported systems.
|
||||||
Notable changes
|
Notable changes
|
||||||
===============
|
===============
|
||||||
|
|
||||||
### P2P
|
|
||||||
|
|
||||||
- When the `-port` configuration option is used, the default onion listening port will now
|
|
||||||
be derived to be that port + 1 instead of being set to a fixed value (8334 on mainnet).
|
|
||||||
This re-allows setups with multiple local nodes using different `-port` and not using `-bind`,
|
|
||||||
which would lead to a startup failure in v28.0 due to a port collision.
|
|
||||||
|
|
||||||
Note that a `HiddenServicePort` manually configured in `torrc` may need adjustment if used in
|
|
||||||
connection with the `-port` option.
|
|
||||||
For example, if you are using `-port=5555` with a non-standard value and not using `-bind=...=onion`,
|
|
||||||
previously Bitcoin Core would listen for incoming Tor connections on `127.0.0.1:8334`.
|
|
||||||
Now it would listen on `127.0.0.1:5556` (`-port` plus one). If you configured the hidden service manually
|
|
||||||
in torrc now you have to change it from `HiddenServicePort 8333 127.0.0.1:8334` to `HiddenServicePort 8333
|
|
||||||
127.0.0.1:5556`, or configure bitcoind with `-bind=127.0.0.1:8334=onion` to get the previous behavior.
|
|
||||||
(#31223)
|
|
||||||
- #30568 addrman: change internal id counting to int64_t
|
|
||||||
|
|
||||||
### Key
|
|
||||||
|
|
||||||
- #31166 key: clear out secret data in DecodeExtKey
|
|
||||||
|
|
||||||
### Build
|
### Build
|
||||||
|
|
||||||
- #31013 depends: For mingw cross compile use `-gcc-posix` to prevent library conflict
|
- #31627 depends: Fix spacing issue
|
||||||
- #31502 depends: Fix CXXFLAGS on NetBSD
|
- #31500 depends: Fix compiling libevent package on NetBSD
|
||||||
|
|
||||||
### Test
|
### Tracing
|
||||||
|
|
||||||
- #31016 test: add missing sync to feature_fee_estimation.py
|
- #31623 tracing: Rename the MIN macro to TRACEPOINT_TEST_MIN in log_raw_p2p_msgs
|
||||||
- #31448 fuzz: add cstdlib to FuzzedDataProvider
|
|
||||||
- #31419 test: fix MIN macro redefinition
|
|
||||||
- #31563 rpc: Extend scope of validation mutex in generateblock
|
|
||||||
|
|
||||||
### Doc
|
|
||||||
|
|
||||||
- #31007 doc: add testnet4 section header for config file
|
|
||||||
|
|
||||||
### CI
|
|
||||||
|
|
||||||
- #30961 ci: add LLVM_SYMBOLIZER_PATH to Valgrind fuzz job
|
|
||||||
|
|
||||||
### Misc
|
### Misc
|
||||||
|
|
||||||
- #31267 refactor: Drop deprecated space in `operator""_mst`
|
- #31611 doc: upgrade license to 2025
|
||||||
- #31431 util: use explicit cast in MultiIntBitSet::Fill()
|
|
||||||
|
|
||||||
Credits
|
Credits
|
||||||
=======
|
=======
|
||||||
|
|
||||||
- fanquake
|
- 0xB10C
|
||||||
- Hennadii Stepanov
|
- Hennadii Stepanov
|
||||||
- laanwj
|
- kehiy
|
||||||
- MarcoFalke
|
|
||||||
- Martin Zumsande
|
|
||||||
- Marnix
|
|
||||||
- Sebastian Falbesoner
|
|
||||||
|
|
||||||
Thanks to everyone who directly contributed to this release:
|
Thanks to everyone who directly contributed to this release:
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue