mirror of https://github.com/bitcoin/bitcoin.git
Merge 78cb0a2417
into ee048cd32b
This commit is contained in:
commit
1fe780a982
|
@ -1,10 +1,10 @@
|
||||||
AC_PREREQ([2.69])
|
AC_PREREQ([2.69])
|
||||||
define(_CLIENT_VERSION_MAJOR, 27)
|
define(_CLIENT_VERSION_MAJOR, 27)
|
||||||
define(_CLIENT_VERSION_MINOR, 2)
|
define(_CLIENT_VERSION_MINOR, 3)
|
||||||
define(_CLIENT_VERSION_BUILD, 0)
|
define(_CLIENT_VERSION_BUILD, 0)
|
||||||
define(_CLIENT_VERSION_RC, 0)
|
define(_CLIENT_VERSION_RC, 1)
|
||||||
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/])
|
||||||
|
|
|
@ -22,6 +22,7 @@ $(package)_patches += fast_fixed_dtoa_no_optimize.patch
|
||||||
$(package)_patches += guix_cross_lib_path.patch
|
$(package)_patches += guix_cross_lib_path.patch
|
||||||
$(package)_patches += fix-macos-linker.patch
|
$(package)_patches += fix-macos-linker.patch
|
||||||
$(package)_patches += memory_resource.patch
|
$(package)_patches += memory_resource.patch
|
||||||
|
$(package)_patches += clang_18_libpng.patch
|
||||||
$(package)_patches += utc_from_string_no_optimize.patch
|
$(package)_patches += utc_from_string_no_optimize.patch
|
||||||
$(package)_patches += windows_lto.patch
|
$(package)_patches += windows_lto.patch
|
||||||
$(package)_patches += zlib-timebits64.patch
|
$(package)_patches += zlib-timebits64.patch
|
||||||
|
@ -250,6 +251,7 @@ define $(package)_preprocess_cmds
|
||||||
patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
|
patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
|
||||||
patch -p1 -i $($(package)_patch_dir)/use_android_ndk23.patch && \
|
patch -p1 -i $($(package)_patch_dir)/use_android_ndk23.patch && \
|
||||||
patch -p1 -i $($(package)_patch_dir)/memory_resource.patch && \
|
patch -p1 -i $($(package)_patch_dir)/memory_resource.patch && \
|
||||||
|
patch -p1 -i $($(package)_patch_dir)/clang_18_libpng.patch && \
|
||||||
patch -p1 -i $($(package)_patch_dir)/rcc_hardcode_timestamp.patch && \
|
patch -p1 -i $($(package)_patch_dir)/rcc_hardcode_timestamp.patch && \
|
||||||
patch -p1 -i $($(package)_patch_dir)/duplicate_lcqpafonts.patch && \
|
patch -p1 -i $($(package)_patch_dir)/duplicate_lcqpafonts.patch && \
|
||||||
patch -p1 -i $($(package)_patch_dir)/utc_from_string_no_optimize.patch && \
|
patch -p1 -i $($(package)_patch_dir)/utc_from_string_no_optimize.patch && \
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
fix Qt macOS build with Clang 18
|
||||||
|
|
||||||
|
See:
|
||||||
|
https://github.com/pnggroup/libpng/commit/893b8113f04d408cc6177c6de19c9889a48faa24.
|
||||||
|
|
||||||
|
In a similar manner as zlib (madler/zlib#895),
|
||||||
|
libpng contains a header configuration that's no longer valid and
|
||||||
|
hasn't been exercised for the macOS target.
|
||||||
|
|
||||||
|
- The target OS conditional macros are misused. Specifically
|
||||||
|
`TARGET_OS_MAC` covers all Apple targets, including iOS, and it
|
||||||
|
should not be checked with `#if defined` as they would always be
|
||||||
|
defined (to either 1 or 0) on Apple platforms.
|
||||||
|
- `#include <fp.h>` no longer works for the macOS target and results
|
||||||
|
in a compilation failure. macOS ships all required functions in
|
||||||
|
`math.h`, and clients should use `math.h` instead.
|
||||||
|
|
||||||
|
--- a/qtbase/src/3rdparty/libpng/pngpriv.h
|
||||||
|
+++ b/qtbase/src/3rdparty/libpng/pngpriv.h
|
||||||
|
@@ -514,18 +514,8 @@
|
||||||
|
*/
|
||||||
|
# include <float.h>
|
||||||
|
|
||||||
|
-# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
|
||||||
|
- defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
|
||||||
|
- /* We need to check that <math.h> hasn't already been included earlier
|
||||||
|
- * as it seems it doesn't agree with <fp.h>, yet we should really use
|
||||||
|
- * <fp.h> if possible.
|
||||||
|
- */
|
||||||
|
-# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
|
||||||
|
-# include <fp.h>
|
||||||
|
-# endif
|
||||||
|
-# else
|
||||||
|
-# include <math.h>
|
||||||
|
-# endif
|
||||||
|
+# include <math.h>
|
||||||
|
+
|
||||||
|
# if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
|
||||||
|
/* Amiga SAS/C: We must include builtin FPU functions when compiling using
|
||||||
|
* MATH=68881
|
|
@ -1,7 +1,7 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||||
.TH BITCOIN-CLI "1" "October 2024" "bitcoin-cli v27.2.0" "User Commands"
|
.TH BITCOIN-CLI "1" "September 2025" "bitcoin-cli v27.3.0rc1" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
bitcoin-cli \- manual page for bitcoin-cli v27.2.0
|
bitcoin-cli \- manual page for bitcoin-cli v27.3.0rc1
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B bitcoin-cli
|
.B bitcoin-cli
|
||||||
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR] \fI\,Send command to Bitcoin Core\/\fR
|
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR] \fI\,Send command to Bitcoin Core\/\fR
|
||||||
|
@ -15,7 +15,7 @@ bitcoin-cli \- manual page for bitcoin-cli v27.2.0
|
||||||
.B bitcoin-cli
|
.B bitcoin-cli
|
||||||
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
|
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
Bitcoin Core RPC client version v27.2.0
|
Bitcoin Core RPC client version v27.3.0rc1
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
.HP
|
.HP
|
||||||
\-?
|
\-?
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||||
.TH BITCOIN-QT "1" "October 2024" "bitcoin-qt v27.2.0" "User Commands"
|
.TH BITCOIN-QT "1" "September 2025" "bitcoin-qt v27.3.0rc1" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
bitcoin-qt \- manual page for bitcoin-qt v27.2.0
|
bitcoin-qt \- manual page for bitcoin-qt v27.3.0rc1
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B bitcoin-qt
|
.B bitcoin-qt
|
||||||
[\fI\,command-line options\/\fR] [\fI\,URI\/\fR]
|
[\fI\,command-line options\/\fR] [\fI\,URI\/\fR]
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
Bitcoin Core version v27.2.0
|
Bitcoin Core version v27.3.0rc1
|
||||||
.PP
|
.PP
|
||||||
Optional URI is a Bitcoin address in BIP21 URI format.
|
Optional URI is a Bitcoin address in BIP21 URI format.
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||||
.TH BITCOIN-TX "1" "October 2024" "bitcoin-tx v27.2.0" "User Commands"
|
.TH BITCOIN-TX "1" "September 2025" "bitcoin-tx v27.3.0rc1" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
bitcoin-tx \- manual page for bitcoin-tx v27.2.0
|
bitcoin-tx \- manual page for bitcoin-tx v27.3.0rc1
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B bitcoin-tx
|
.B bitcoin-tx
|
||||||
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded bitcoin transaction\/\fR
|
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded bitcoin transaction\/\fR
|
||||||
|
@ -9,7 +9,7 @@ bitcoin-tx \- manual page for bitcoin-tx v27.2.0
|
||||||
.B bitcoin-tx
|
.B bitcoin-tx
|
||||||
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded bitcoin transaction\/\fR
|
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded bitcoin transaction\/\fR
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
Bitcoin Core bitcoin\-tx utility version v27.2.0
|
Bitcoin Core bitcoin\-tx utility version v27.3.0rc1
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
.HP
|
.HP
|
||||||
\-?
|
\-?
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||||
.TH BITCOIN-UTIL "1" "October 2024" "bitcoin-util v27.2.0" "User Commands"
|
.TH BITCOIN-UTIL "1" "September 2025" "bitcoin-util v27.3.0rc1" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
bitcoin-util \- manual page for bitcoin-util v27.2.0
|
bitcoin-util \- manual page for bitcoin-util v27.3.0rc1
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B bitcoin-util
|
.B bitcoin-util
|
||||||
[\fI\,options\/\fR] [\fI\,commands\/\fR] \fI\,Do stuff\/\fR
|
[\fI\,options\/\fR] [\fI\,commands\/\fR] \fI\,Do stuff\/\fR
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
Bitcoin Core bitcoin\-util utility version v27.2.0
|
Bitcoin Core bitcoin\-util utility version v27.3.0rc1
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
.HP
|
.HP
|
||||||
\-?
|
\-?
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||||
.TH BITCOIN-WALLET "1" "October 2024" "bitcoin-wallet v27.2.0" "User Commands"
|
.TH BITCOIN-WALLET "1" "September 2025" "bitcoin-wallet v27.3.0rc1" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
bitcoin-wallet \- manual page for bitcoin-wallet v27.2.0
|
bitcoin-wallet \- manual page for bitcoin-wallet v27.3.0rc1
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
Bitcoin Core bitcoin\-wallet version v27.2.0
|
Bitcoin Core bitcoin\-wallet version v27.3.0rc1
|
||||||
.PP
|
.PP
|
||||||
bitcoin\-wallet is an offline tool for creating and interacting with Bitcoin Core wallet files.
|
bitcoin\-wallet is an offline tool for creating and interacting with Bitcoin Core wallet files.
|
||||||
By default bitcoin\-wallet will act on wallets in the default mainnet wallet directory in the datadir.
|
By default bitcoin\-wallet will act on wallets in the default mainnet wallet directory in the datadir.
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||||
.TH BITCOIND "1" "October 2024" "bitcoind v27.2.0" "User Commands"
|
.TH BITCOIND "1" "September 2025" "bitcoind v27.3.0rc1" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
bitcoind \- manual page for bitcoind v27.2.0
|
bitcoind \- manual page for bitcoind v27.3.0rc1
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B bitcoind
|
.B bitcoind
|
||||||
[\fI\,options\/\fR] \fI\,Start Bitcoin Core\/\fR
|
[\fI\,options\/\fR] \fI\,Start Bitcoin Core\/\fR
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
Bitcoin Core version v27.2.0
|
Bitcoin Core version v27.3.0rc1
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
.HP
|
.HP
|
||||||
\-?
|
\-?
|
||||||
|
|
|
@ -42,6 +42,10 @@ Notable changes
|
||||||
|
|
||||||
External signing is not currently supported when compiling with Boost version 1.88.0 or later.
|
External signing is not currently supported when compiling with Boost version 1.88.0 or later.
|
||||||
|
|
||||||
|
### P2P
|
||||||
|
|
||||||
|
- #33395 net: Do not apply whitelist permission to onion inbounds
|
||||||
|
|
||||||
### Test
|
### Test
|
||||||
|
|
||||||
- #31419 test: fix MIN macro redefinition
|
- #31419 test: fix MIN macro redefinition
|
||||||
|
@ -50,6 +54,7 @@ External signing is not currently supported when compiling with Boost version 1.
|
||||||
|
|
||||||
### Build
|
### Build
|
||||||
|
|
||||||
|
- #30198 depends: fix Qt macOS build with Clang 18
|
||||||
- #31502 depends: Fix CXXFLAGS on NetBSD
|
- #31502 depends: Fix CXXFLAGS on NetBSD
|
||||||
- #31627 depends: Fix spacing issue
|
- #31627 depends: Fix spacing issue
|
||||||
- #32070 build: use make < 3.82 syntax for define directive
|
- #32070 build: use make < 3.82 syntax for define directive
|
||||||
|
@ -74,7 +79,9 @@ Thanks to everyone who directly contributed to this release:
|
||||||
- fanquake
|
- fanquake
|
||||||
- Hennadii Stepanov
|
- Hennadii Stepanov
|
||||||
- MarcoFalke
|
- MarcoFalke
|
||||||
|
- Martin Zumsande
|
||||||
- Sjors Provoost
|
- Sjors Provoost
|
||||||
|
- Vasil Dimov
|
||||||
|
|
||||||
As well as to everyone that helped with translations on
|
As well as to everyone that helped with translations on
|
||||||
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
||||||
|
|
11
src/net.cpp
11
src/net.cpp
|
@ -558,9 +558,9 @@ void CNode::CloseSocketDisconnect()
|
||||||
m_i2p_sam_session.reset();
|
m_i2p_sam_session.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CConnman::AddWhitelistPermissionFlags(NetPermissionFlags& flags, const CNetAddr &addr) const {
|
void CConnman::AddWhitelistPermissionFlags(NetPermissionFlags& flags, std::optional<CNetAddr> addr) const {
|
||||||
for (const auto& subnet : vWhitelistedRange) {
|
for (const auto& subnet : vWhitelistedRange) {
|
||||||
if (subnet.m_subnet.Match(addr)) NetPermissions::AddFlag(flags, subnet.m_flags);
|
if (addr.has_value() && subnet.m_subnet.Match(addr.value())) NetPermissions::AddFlag(flags, subnet.m_flags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1726,7 +1726,11 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&& sock,
|
||||||
{
|
{
|
||||||
int nInbound = 0;
|
int nInbound = 0;
|
||||||
|
|
||||||
AddWhitelistPermissionFlags(permission_flags, addr);
|
const bool inbound_onion = std::find(m_onion_binds.begin(), m_onion_binds.end(), addr_bind) != m_onion_binds.end();
|
||||||
|
|
||||||
|
// Tor inbound connections do not reveal the peer's actual network address.
|
||||||
|
// Therefore do not apply address-based whitelist permissions to them.
|
||||||
|
AddWhitelistPermissionFlags(permission_flags, inbound_onion ? std::optional<CNetAddr>{} : addr);
|
||||||
if (NetPermissions::HasFlag(permission_flags, NetPermissionFlags::Implicit)) {
|
if (NetPermissions::HasFlag(permission_flags, NetPermissionFlags::Implicit)) {
|
||||||
NetPermissions::ClearFlag(permission_flags, NetPermissionFlags::Implicit);
|
NetPermissions::ClearFlag(permission_flags, NetPermissionFlags::Implicit);
|
||||||
if (gArgs.GetBoolArg("-whitelistforcerelay", DEFAULT_WHITELISTFORCERELAY)) NetPermissions::AddFlag(permission_flags, NetPermissionFlags::ForceRelay);
|
if (gArgs.GetBoolArg("-whitelistforcerelay", DEFAULT_WHITELISTFORCERELAY)) NetPermissions::AddFlag(permission_flags, NetPermissionFlags::ForceRelay);
|
||||||
|
@ -1793,7 +1797,6 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&& sock,
|
||||||
nodeServices = static_cast<ServiceFlags>(nodeServices | NODE_BLOOM);
|
nodeServices = static_cast<ServiceFlags>(nodeServices | NODE_BLOOM);
|
||||||
}
|
}
|
||||||
|
|
||||||
const bool inbound_onion = std::find(m_onion_binds.begin(), m_onion_binds.end(), addr_bind) != m_onion_binds.end();
|
|
||||||
// The V2Transport transparently falls back to V1 behavior when an incoming V1 connection is
|
// The V2Transport transparently falls back to V1 behavior when an incoming V1 connection is
|
||||||
// detected, so use it whenever we signal NODE_P2P_V2.
|
// detected, so use it whenever we signal NODE_P2P_V2.
|
||||||
const bool use_v2transport(nodeServices & NODE_P2P_V2);
|
const bool use_v2transport(nodeServices & NODE_P2P_V2);
|
||||||
|
|
|
@ -1339,7 +1339,7 @@ private:
|
||||||
|
|
||||||
bool AttemptToEvictConnection();
|
bool AttemptToEvictConnection();
|
||||||
CNode* ConnectNode(CAddress addrConnect, const char *pszDest, bool fCountFailure, ConnectionType conn_type, bool use_v2transport) EXCLUSIVE_LOCKS_REQUIRED(!m_unused_i2p_sessions_mutex);
|
CNode* ConnectNode(CAddress addrConnect, const char *pszDest, bool fCountFailure, ConnectionType conn_type, bool use_v2transport) EXCLUSIVE_LOCKS_REQUIRED(!m_unused_i2p_sessions_mutex);
|
||||||
void AddWhitelistPermissionFlags(NetPermissionFlags& flags, const CNetAddr &addr) const;
|
void AddWhitelistPermissionFlags(NetPermissionFlags& flags, std::optional<CNetAddr> addr) const;
|
||||||
|
|
||||||
void DeleteNode(CNode* pnode);
|
void DeleteNode(CNode* pnode);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue