Commit Graph

27931 Commits

Author SHA1 Message Date
Kittywhiskers Van Gogh
291305b4d2
merge bitcoin#26497: Make ConsumeNetAddr always produce valid onion addresses 2024-10-26 19:22:31 +00:00
Kittywhiskers Van Gogh
6a37934af4
partial bitcoin#26396: Avoid SetTxRelay for feeler connections
excludes:
- fa24239a (changes to `p2p_sendtxrcncl.py`)
2024-10-26 19:22:31 +00:00
Kittywhiskers Van Gogh
221a78ea84
merge bitcoin#25156: Introduce PeerManagerImpl::RejectIncomingTxs
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2024-10-26 19:22:31 +00:00
merge-script
700b8c5ac5
Merge bitcoin/bitcoin#29658: Bugfix: GUI: Help messages already have a trailing newline, so don't add an extra one
d1ed09a7643b567e021b2ecb756bc925c48fc708 Bugfix: GUI: Help messages already have a trailing newline, so don't add an extra one (Luke Dashjr)

Pull request description:

  Reviewing #29585, I noticed that `bitcoin-qt` adds an extra newline for `-help` and `-version` beyond the other binaries'.

ACKs for top commit:
  hebasto:
    ACK d1ed09a7643b567e021b2ecb756bc925c48fc708, tested on Ubuntu 24.04.

Tree-SHA512: 15ee9d1060c2492bb3b04a0ac4cb53f7b959bbe32bce415793da0c221f1c963c8f2bb3996ea07d1a7c192bfc2e23be2cd7d4e5649c592eb3fc03906c2763f1aa
2024-10-26 12:29:53 -05:00
Ava Chow
a0cd305a7c
Merge bitcoin/bitcoin#29948: test: add missing comparison of node1's mempool in MempoolPackagesTest
e912717ff63f111d8f1cd7ed1fcf054e28f36409 test: add missing comparison of node1's mempool in MempoolPackagesTest (umiumi)

Pull request description:

  #29941 Recreated a pull request because there was a conflict. Trying to resolve the conflict but the old one automatically closed.

  Add missing comparison for TODO comments in `mempool_packages.py`

  Also, notice that the ancestor size limits and descendant size limits actually implemented in #21800   ,  so I removed the todo for those two size limits.

ACKs for top commit:
  kevkevinpal:
    ACK [e912717](e912717ff6)
  achow101:
    ACK e912717ff63f111d8f1cd7ed1fcf054e28f36409
  alfonsoromanz:
    Tested ACK e912717ff63f111d8f1cd7ed1fcf054e28f36409. The code looks good to me and the test execution is successful.
  rkrux:
    tACK [e912717](e912717ff6)

Tree-SHA512: 8cb51746b0547369344c9ceef59599bfe9c91d424687af5e24dc6641f9e99fb433515d79c724e71fd3d5e02994f0cef623d3674367b8296b05c3c6fcdde282ef
2024-10-26 12:29:52 -05:00
merge-script
f1907ea997
Merge bitcoin/bitcoin#29984: net: Replace ifname check with IFF_LOOPBACK in Discover
a68fed111be393ddbbcd7451f78bc63601253ee0 net: Fix misleading comment for Discover (laanwj)
7766dd280d9a4a7ffdfcec58224d0985cfd4169b net: Replace ifname check with IFF_LOOPBACK in Discover (laanwj)

Pull request description:

  Checking the interface name is kind of brittle. In the age of network namespaces and containers, there is no reason a loopback interface can't be called differently.

  Check for the `IFF_LOOPBACK` flag to detect loopback interface instead.

  Also remove a misleading comment in Discover's doc comment.

ACKs for top commit:
  sipa:
    utACK a68fed111be393ddbbcd7451f78bc63601253ee0
  willcl-ark:
    utACK a68fed111be393ddbbcd7451f78bc63601253ee0
  theuni:
    utACK a68fed111be393ddbbcd7451f78bc63601253ee0. Satoshi-era brittleness :)

Tree-SHA512: e2d7fc541f40f6a6af08286e7bcb0873ff55debdcd8b38b03f274897b673a6fb51d84d6c7241a02a9567ddf2645f50231d91bb1f55307ba7c6e68196c29b0edf
2024-10-26 12:29:52 -05:00
merge-script
daa6eeed5f
Merge bitcoin/bitcoin#29960: depends: pass verbose through to cmake based makefiles
7c69baf227252511455bc06e315f6a3c7fc5a398 depends: pass verbose through to cmake based make (Max Edwards)

Pull request description:

  While testing https://github.com/bitcoin/bitcoin/pull/29708 I was not able to enable verbose output to check which flags were being given to the compiler.

  With this PR, running depends with V=1 will enable verbose output from makefiles generated by cmake.

  How to test:

  ```shell
  make -C depends libnatpmp V=1
  ```

ACKs for top commit:
  hebasto:
    ACK 7c69baf227252511455bc06e315f6a3c7fc5a398. Tested using the folowing command:
  fanquake:
    ACK 7c69baf227252511455bc06e315f6a3c7fc5a398

Tree-SHA512: 81cd1326e940c5f14cbde96735fd02b03c1150881ed88d1e8dfa9385dfa12284bfa2cdfe097ce5f43a726c1718afb76ae16f71552ab68c207d74fdc1f7bb46ae
2024-10-26 12:29:52 -05:00
merge-script
61a5832a6a
Merge bitcoin/bitcoin#29907: test: Fix test/streams_tests.cpp compilation on SunOS / illumos
976e5d8f7b2bc77cb1443b8bf0f38cb07db70e9b test: Fix `test/streams_tests.cpp` compilation on SunOS / illumos (Hennadii Stepanov)

Pull request description:

  On systems where `int8_t` is defined as `char`, the `{S,Uns}erialize(Stream&, signed char)` functions become undefined.

  This PR resolves the issue by testing `{S,Uns}erialize(Stream&, int8_t)` instead.

  No behavior change on systems where `int8_t` is defined as `signed char`, which is the case for most other systems.

  Fixes https://github.com/bitcoin/bitcoin/issues/29884.

  An alternative approach is mentioned in https://github.com/bitcoin/bitcoin/issues/29884#issuecomment-2058434577 as well.

ACKs for top commit:
  maflcko:
    lgtm ACK 976e5d8f7b2bc77cb1443b8bf0f38cb07db70e9b
  theuni:
    ACK 976e5d8f7b2bc77cb1443b8bf0f38cb07db70e9b. Nice to have the serialization concept actually tested :)

Tree-SHA512: 1033863e584fa8e99a281b236fa01fc919f610a024bcec792116762e28c1c16ee481bd01325c3a0ca9dd9d753176aa63bd9ac7e08a9bbce772db2949d06f6e61
2024-10-26 12:29:52 -05:00
merge-script
23f25a94fa
Merge bitcoin/bitcoin#29872: test: Add missing Assert(mock_time_in >= 0s) to SetMockTime
fae0db555c12dca75fb09e5fa7bbabdf39b8c1df refactor: Use chrono type for g_mock_time (MarcoFalke)
fa382d3dd0592f3cbd6e1de791449f49e06dae86 test: Add missing Assert(mock_time_in >= 0s) to SetMockTime (MarcoFalke)

Pull request description:

  Seems odd to have the assert in the *deprecated* function, but not in the other.

  Fix this by adding it to the other, and by inlining the deprecated one.

  Also, use chrono type for the global mocktime variable.

ACKs for top commit:
  davidgumberg:
    crACK fae0db555c
  stickies-v:
    ACK fae0db555c12dca75fb09e5fa7bbabdf39b8c1df

Tree-SHA512: 630c2917422ff2a7fa307114f95f22ad3c205429ffe36e67f0b2650733e40c876289c1aecebe882a9123d3106db7606bd6eff067ed6e2ecb95765984d3fe8612
2024-10-26 12:29:52 -05:00
Ava Chow
a7daee71da
Merge bitcoin/bitcoin#29689: lint: scripted-diff verification also requires GNU grep
3bf4f8db669e1e274ce2633cf84add2938b9914b lint: scripted-diff verification also requires GNU grep (Sjors Provoost)

Pull request description:

  I noticed while trying to verify all historical `scripted-diff:` commits on macOS that some scripts require GNU sed.

  For example 0d6d2b650d1017691f48c9109a6cd020ab46aa73 uses `git grep --perl-regexp`.

ACKs for top commit:
  hernanmarino:
    cr ACK 3bf4f8db669e1e274ce2633cf84add2938b9914b
  maflcko:
    utACK 3bf4f8db669e1e274ce2633cf84add2938b9914b
  achow101:
    ACK 3bf4f8db669e1e274ce2633cf84add2938b9914b
  alfonsoromanz:
    Tested ACK 3bf4f8db669e1e274ce2633cf84add2938b9914b
  kristapsk:
    cr utACK 3bf4f8db669e1e274ce2633cf84add2938b9914b

Tree-SHA512: 09a060ab1bafad03df60d0f20c3dd1451850868dbd66ea38b18178b6230c1f06cf48622db82d9c51422d5689962ee0cd7aae0a31f84bd6d878215e6d73c1d47e
2024-10-26 12:29:52 -05:00
merge-script
3df1ca102b
Merge bitcoin/bitcoin#29953: doc: Bash is needed in gen_id and is not installed on FreeBSD by default
9381052194a78024b3994cc6ad906858c477b88f doc: Bash is needed in gen_id and is not installed on FreeBSD by default (Hennadii Stepanov)

Pull request description:

  On FreeBSD 14.0, in the `depends` directory:

  - without `bash`:
  ```
  $ gmake print-bdb_build_id_long
  env: bash: No such file or directory
  env: bash: No such file or directory
  bdb_build_id_long=bdb-4.8.30-4b0c6f8e95251b9c6731844fc34111c04b75fd9f15c671d6e34f2a4d014ec1be-release
  $ gmake print-final_build_id
  env: bash: No such file or directory
  env: bash: No such file or directory
  final_build_id=722b2d3e264
  ```

  - with `bash`:
  ```
  $ gmake print-bdb_build_id_long
  bdb_build_id_long=bdb-4.8.30-4b0c6f8e95251b9c6731844fc34111c04b75fd9f15c671d6e34f2a4d014ec1be-release  1ed47cefe468014c79dedb275cf921f44ab28d91dd56bf94712409b81326d765
  $ gmake print-final_build_id
  final_build_id=7b4f9aaa683
  ```

ACKs for top commit:
  vasild:
    ACK 9381052194a78024b3994cc6ad906858c477b88f
  kristapsk:
    ACK 9381052194a78024b3994cc6ad906858c477b88f
  alfonsoromanz:
    ACK 9381052194a78024b3994cc6ad906858c477b88f

Tree-SHA512: da3f3469ac416518180194f09fb054fb352a2793848fb9a7982439de08244ff6149a7f449ad21fcdf0e9bd79b6949a91751f9cc35833953d2b6a35cea5c6ae21
2024-10-26 12:29:52 -05:00
Ava Chow
b53b85409f
Merge bitcoin/bitcoin#29850: net: Decrease nMaxIPs when learning from DNS seeds
f2e3662e57eca1330962faf38ff428a564d50a11 net: Decrease nMaxIPs when learning from DNS seeds (laanwj)

Pull request description:

  Limit number of IPs learned from a single DNS seed to 32, to prevent the results from one DNS seed from dominating AddrMan. Note that the number of results from a UDP DNS query is bounded to 33 already, but it is possible for it to use TCP where a larger number of results can be returned.

  Closes #16070.

ACKs for top commit:
  Sjors:
    utACK f2e3662e57eca1330962faf38ff428a564d50a11
  achow101:
    ACK f2e3662e57eca1330962faf38ff428a564d50a11
  1440000bytes:
    utACK f2e3662e57
  mzumsande:
    utACK f2e3662e57eca1330962faf38ff428a564d50a11

Tree-SHA512: 3f108c2baba7adfedb8019daaf60aa00e628b38d3942e1319c7183a4683670be01929ced9e6372c8e983c902e8633f81fbef12d7cdcaadd7f77ed729c1019942
2024-10-26 12:29:51 -05:00
Ryan Ofsky
c4a147cfea
Merge bitcoin/bitcoin#28340: security: restrict abis in bitcoind.service
0244416aacbad03e4ebe8f2c95c7861a318916ea security: restrict abis in bitcoind.service (Charlie)

Pull request description:

  [As noted here](https://www.freedesktop.org/software/systemd/man/systemd.exec.html#MemoryDenyWriteExecute=), it's a good idea to pair `MemoryDenyWriteExecute=true` with `SystemCallArchitectures=native` because `MemoryDenyWriteExecute` can be circumvented in some operating systems which support multiple ABIs like x86/x86-64.
  This helps restrict the possible application binary interfaces (ABIs) that can be used when running bitcoind through systemd, reducing the attack surface area.

ACKs for top commit:
  laanwj:
    ACK 0244416aacbad03e4ebe8f2c95c7861a318916ea . This is a sensible security feature.
  0xB10C:
    ACK 0244416aacbad03e4ebe8f2c95c7861a318916ea

Tree-SHA512: 77a35b0674d8d67d857cd20ae1b8cd011f82d6f5ed21bc106cbe45bfa937e786ddc1bf7261e3bdb8c289df1224e91658760905d2c8f37cc4c6506ef8037ad158
2024-10-26 12:29:51 -05:00
Ava Chow
acfdf9e438
Merge bitcoin/bitcoin#28373: doc: Add example of mixing private and public keys in descriptors
24b67fa9f602cdeac0e9736256f77d048f616c48 doc: Add example of mixing private and public keys in descriptors (Anton A)

Pull request description:

  closes: #27414

ACKs for top commit:
  achow101:
    ACK 24b67fa9f602cdeac0e9736256f77d048f616c48
  alfonsoromanz:
    Re ACK 24b67fa9f602cdeac0e9736256f77d048f616c48

Tree-SHA512: 8c063f23199ac0ff35909f786a5b0de1b4a9b15d1e93bdcdac10cb4bd2002c12e99b6fb1c2e56d16971e7622b67d910b79088429df92c48279be2d7797049911
2024-10-26 12:29:51 -05:00
merge-script
51bc8bdcd6
Merge bitcoin/bitcoin#29859: build: Fix false positive CHECK_ATOMIC test
dd3e0fa12534c9e782dc9c24d2e30b70a0d73176 build: Fix false positive `CHECK_ATOMIC` test for clang-15 (Hennadii Stepanov)

Pull request description:

  On the master branch @ 0de63b8b46eff5cda85b4950062703324ba65a80, a building `bitcoind` with clang-15 for `i686-pc-linux-gnu` fails to link:
  ```
    CXXLD    bitcoind
  /usr/bin/ld: libbitcoin_wallet.a(libbitcoin_wallet_a-wallet.o): in function `std::remove_volatile<double>::type std::__atomic_impl::load<double>(double const*, std::memory_order)':
  /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:948: undefined reference to `__atomic_load'
  /usr/bin/ld: libbitcoin_wallet.a(libbitcoin_wallet_a-wallet.o): in function `void std::__atomic_impl::store<double>(double*, std::remove_volatile<double>::type, std::memory_order)':
  /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:940: undefined reference to `__atomic_store'
  /usr/bin/ld: libbitcoin_wallet.a(libbitcoin_wallet_a-wallet.o): in function `void std::__atomic_impl::store<double>(double*, std::remove_volatile<double>::type, std::memory_order)':
  /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:940: undefined reference to `__atomic_store'
  /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:940: undefined reference to `__atomic_store'
  /usr/bin/ld: libbitcoin_wallet.a(libbitcoin_wallet_a-wallet.o): in function `std::remove_volatile<double>::type std::__atomic_impl::load<double>(double const*, std::memory_order)':
  /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:948: undefined reference to `__atomic_load'
  /usr/bin/ld: libbitcoin_wallet.a(libbitcoin_wallet_a-wallet.o): in function `void std::__atomic_impl::store<double>(double*, std::remove_volatile<double>::type, std::memory_order)':
  /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:940: undefined reference to `__atomic_store'
  /usr/bin/ld: libbitcoin_wallet.a(libbitcoin_wallet_a-backup.o): in function `void std::__atomic_impl::store<double>(double*, std::remove_volatile<double>::type, std::memory_order)':
  /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:940: undefined reference to `__atomic_store'
  /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:940: undefined reference to `__atomic_store'
  /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:940: undefined reference to `__atomic_store'
  /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:940: undefined reference to `__atomic_store'
  /usr/bin/ld: libbitcoin_wallet.a(libbitcoin_wallet_a-backup.o):/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/atomic_base.h:940: more undefined references to `__atomic_store' follow
  clang: error: linker command failed with exit code 1 (use -v to see invocation)
  ```

  due to false positive `CHECK_ATOMIC` test in the `configure` script.

  This PR fixes this test.

ACKs for top commit:
  maflcko:
    review ACK dd3e0fa12534c9e782dc9c24d2e30b70a0d73176
  fanquake:
    ACK dd3e0fa12534c9e782dc9c24d2e30b70a0d73176

Tree-SHA512: b60acf8d83fc84cc3280d95028395d341ed9ed2fcf38ae0a101d50aa19cc35540e9763aa36668c4dc1e1bc7e1f33dbda0e662df39c9e414a284ef91d7fc55fba
2024-10-26 12:29:51 -05:00
glozow
bb4102c590
Merge bitcoin/bitcoin#29893: test: fix intermittent failure in p2p_compactblocks_hb.py
1ae5b208d339fa984d9caf4fab89b0b2ba9cc197 test: fix intermittent failure in p2p_compactblocks_hb.py (Martin Zumsande)

Pull request description:

  Fixes #29860

  As a result of node1 receiving a block, it sends out SENDCMPCT messages to some of its peers to update the high-bandwidth status. We need to wait until those are received and processed by the peers to avoid intermittent failures. Before, we'd only wait until all peers have synced with the new block (within `generate`) which is not sufficient.

  I could reproduce the failure by adding a `std::this_thread::sleep_for(std::chrono::milliseconds(1000));` sleep to the [net_processing code](c7567d9223/src/net_processing.cpp (L3763)) that processes `NetMsgType::SENDCMPCT`.

ACKs for top commit:
  instagibbs:
    ACK 1ae5b208d339fa984d9caf4fab89b0b2ba9cc197
  alfonsoromanz:
    Tested ACK 1ae5b208d339fa984d9caf4fab89b0b2ba9cc197
  glozow:
    ACK 1ae5b208d339fa984d9caf4fab89b0b2ba9cc197

Tree-SHA512: 47c29616e73a5e0ff966fc231e4f672c1a6892511e5c10a3905b30ad6b2a3d1267fa0a88bd8f64b523fe580199d22a43545c84e361879e5096483152065c4b9a
2024-10-26 12:29:51 -05:00
fanquake
4ecb76104e
Merge bitcoin/bitcoin#29786: Drop Windows Socket dependency for randomenv.cpp
03b87a3e64305ba651e22a730e35271dea8fea64 Drop Windows Socket dependency for `randomenv.cpp` (Hennadii Stepanov)

Pull request description:

  This change drops a dependency on the ws2_32 library for our libbitcoinkernel by switching to [`GetComputerName`](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getcomputernamew) function.

ACKs for top commit:
  sipsorcery:
    utACK 03b87a3e64305ba651e22a730e35271dea8fea64.
  laanwj:
    Code review ACK 03b87a3e64305ba651e22a730e35271dea8fea64.
  fanquake:
    ACK 03b87a3e64305ba651e22a730e35271dea8fea64

Tree-SHA512: a4abd5499176634d5f3fbf4e794a7504c40232fb73bd7f41955fbfb2cc7c44bc7ea4518c5203836e52f552c30414c6c3e1b24f0922641dbf1c8377981c0ffaf0
2024-10-26 12:29:27 -05:00
fanquake
1a8e805aab
Merge bitcoin/bitcoin#29498: test: Update --tmpdir doc string to say directory must not exist
d4e36ae80d4b3f03647fd9057461edf7ecd794a3 test: Update --tmpdir doc string to say directory must not exist (kevkevin)

Pull request description:

  The error message given if passing an existing dir to --tmpdir is confusing so this makes it clear that the directory must not already exist

  This change is motivated by this comment https://github.com/bitcoin/bitcoin/pull/29335#issuecomment-1960913020

ACKs for top commit:
  maflcko:
    lgtm ACK d4e36ae80d4b3f03647fd9057461edf7ecd794a3
  davidgumberg:
    ACK d4e36ae80d

Tree-SHA512: fb31fd079767abbf94076615817943f35f5c9262fc97e65c631a18d33b3a343fe6a2d151613256e632d2b372ab2de0435f4712309b4a77ed3c663fd93a7dcdd1
2024-10-26 12:29:27 -05:00
fanquake
81ca71c266
Merge bitcoin/bitcoin#29781: depends: add new LLVM debug macro
5efebc0edbb479d2041b3fb2d43be3a77e817b3e depends: add the new LLVM debug macro (fanquake)

Pull request description:

  `LIBCXX_HARDENING_MODE` is the new macro, the previous one was removed in LLVM 18.

  See https://libcxx.llvm.org/Hardening.html.

  Required before https://github.com/google/oss-fuzz/pull/11725 will do anything (with the bump to 18.x).

  Seems reasonable to do now that almost all our test infra is using LLVM 18.

ACKs for top commit:
  theuni:
    ACK 5efebc0edbb479d2041b3fb2d43be3a77e817b3e

Tree-SHA512: 43078eeb5940c55ef4f95c72682f8a372dcd3eb97956b3114149c16d9f59b067a999b2aab7f34ffb57eab191524514408e2bba154ff4a6ea0cd6ec4d119c5d18
2024-10-26 12:29:27 -05:00
pasta
ceb1fe70cf
Merge #6337: backport: merge bitcoin-core/gui#337, #354, #317, #349, #403, #418, #416, #449, #477, #563, #554, #615 (qt backports: part 2)
1a2c02a42d merge bitcoin-core/gui#615: If -prune=0 is set, Uncheck Prune on Intro page (Kittywhiskers Van Gogh)
3d5aca6a0b merge bitcoin-core/gui#554: Add and improve translator comments and tooltips for peers tab address fields (Kittywhiskers Van Gogh)
0c545ac0e9 merge bitcoin-core/gui#563: Remove network detection based on address in BIP21 (Kittywhiskers Van Gogh)
f088334c8a merge bitcoin-core/gui#477: Monospaced output in Console on macOS (Kittywhiskers Van Gogh)
694f3e9cf1 merge bitcoin-core/gui#449: Restore "S" accelerator for "Start on system login" option (Kittywhiskers Van Gogh)
063ef3a2d0 merge bitcoin-core/gui#416: Add RPC setting (Kittywhiskers Van Gogh)
fa2f7acc2a merge bitcoin-core/gui#418: fix bitcoin-qt app categorization on apple silicon (Kittywhiskers Van Gogh)
594177d5fe merge bitcoin-core/gui#403: Make paths to update Encryption and HD wallet statuses simpler (Kittywhiskers Van Gogh)
ba5ad1fc6c merge bitcoin-core/gui#349: replace QDateTime::fromTime_t with QDateTime::fromSecsSinceEpoch (Kittywhiskers Van Gogh)
70d4e08011 merge bitcoin-core/gui#317: Add Direction column to Peers Tab (Kittywhiskers Van Gogh)
0a5481cf44 merge bitcoin-core/gui#354: Refactor open date range to use std::optional (Kittywhiskers Van Gogh)
17a7e9ba85 merge bitcoin-core/gui#337: Use Regex Search in Apptests (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  | `develop` (3a18f087)                                       | This PR                                                      |
  | ------------------------------------------------------------ | ------------------------------------------------------------ |
  | ![image](https://github.com/user-attachments/assets/e5d48b17-2eae-4e58-bbbf-6c011dc98c9c) | ![image](https://github.com/user-attachments/assets/fc47c1f1-d3c2-45dc-bdd5-2e94bc02489d) |
  | ![image](https://github.com/user-attachments/assets/e75bd85a-30a7-4e49-8a75-c8ce5090ba50) | ![image](https://github.com/user-attachments/assets/51fd865a-91fd-4742-b745-1cfb6866ae14) |

  ## Breaking changes

  None observed.

  ## Checklist

  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas (note: N/A)
  - [x] I have added or updated relevant unit/integration/functional/e2e tests (note: N/A)
  - [x] I have made corresponding changes to the documentation (note: N/A)
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 1a2c02a42d

Tree-SHA512: d424a0ebe817c08a50c2455fea1c3bf798a1a53dd87bc9b71cd7173824d7892a83035f046dfccc85d1925b91705d4db7ac2a498e4299d91504a1a8306762e5b0
2024-10-26 12:26:29 -05:00
pasta
9d27259063
Merge #6334: backport: merge bitcoin#22951, #23137, #23293, #23439, #23152, #23517, #23637, #24080, #25485, #24565 (auxiliary backports: part 20)
85b0b78d47 merge bitcoin#24565: Remove LOCKTIME_MEDIAN_TIME_PAST constant (Kittywhiskers Van Gogh)
7068abd796 merge bitcoin#25485: Use enum instead of string for `filtertype_name` (Kittywhiskers Van Gogh)
1c1fcc60a8 merge bitcoin#24080: Remove unused locktime flags (Kittywhiskers Van Gogh)
536c4e1b27 merge bitcoin#23637: Remove uncompiled MTP code (Kittywhiskers Van Gogh)
0b65f1d241 merge bitcoin#23517: Move miner to src/node (Kittywhiskers Van Gogh)
b7db4cbab0 merge bitcoin#23152: add `--enable-lto` configuration option (Kittywhiskers Van Gogh)
4a46391791 merge bitcoin#23439: Open streams_test_tmp file in temporary folder (Kittywhiskers Van Gogh)
e3e225f59d merge bitcoin#23293: Add comment to COIN constant (Kittywhiskers Van Gogh)
5fb2cc8bb6 merge bitcoin#23137: move-only bloom to src/common (Kittywhiskers Van Gogh)
20d15056f1 merge bitcoin#22951: move amount.h into consensus (Kittywhiskers Van Gogh)

Pull request description:

  ## Breaking Changes

  None expected.

  ## Checklist

  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**
  - [x] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 85b0b78d47

Tree-SHA512: 2bd31056291f86e8f33f6b8ca5a8236a5f876d6811f852d13ac0d6d818013a62af3cfdd05893f16f7476338ac93655e150fbbe651b0b8cbf414afc7f82b05664
2024-10-26 12:23:36 -05:00
Kittywhiskers Van Gogh
cc694c2e5b
merge bitcoin#22778: Reduce resource usage for inbound block-relay-only connections
continuation of 60b5392d in dash#6276

excludes:
- 42e3250497b03478d61cd6bfe6cd904de73d57b1 (Dash does not have FEEFILTER support)
2024-10-26 09:07:14 +00:00
Kittywhiskers Van Gogh
6e6de54e5e
net: use Peer::m_can_relay_tx when we mean m_tx_relay != nullptr
Right now, it's not immediately obvious which checks are to see if we
are looking for block-relay-only status or are using that status as a
proxy to see if we can relay transactions. Let's fix that.
2024-10-26 09:07:14 +00:00
Kittywhiskers Van Gogh
77526d2129
net: rename Peer::m_block_relay_only to Peer::m_can_tx_relay
The true purpose of `m_block_relay_only` is to use it in place of
`m_tx_relay == nullptr`, used to indicate if the node is permitted
to relay transactions.

In upcoming commits, being a block-relay-only node will not be the only
reason to not relay transactions, so let's rename the variable to what
we actually use it for.
2024-10-26 09:07:14 +00:00
Kittywhiskers Van Gogh
85b0b78d47
merge bitcoin#24565: Remove LOCKTIME_MEDIAN_TIME_PAST constant 2024-10-25 21:36:54 +00:00
Kittywhiskers Van Gogh
7068abd796
merge bitcoin#25485: Use enum instead of string for filtertype_name 2024-10-25 21:36:53 +00:00
Kittywhiskers Van Gogh
1c1fcc60a8
merge bitcoin#24080: Remove unused locktime flags 2024-10-25 21:36:53 +00:00
Kittywhiskers Van Gogh
536c4e1b27
merge bitcoin#23637: Remove uncompiled MTP code 2024-10-25 21:36:53 +00:00
Kittywhiskers Van Gogh
0b65f1d241
merge bitcoin#23517: Move miner to src/node 2024-10-25 21:36:53 +00:00
Kittywhiskers Van Gogh
b7db4cbab0
merge bitcoin#23152: add --enable-lto configuration option 2024-10-25 21:36:53 +00:00
Kittywhiskers Van Gogh
4a46391791
merge bitcoin#23439: Open streams_test_tmp file in temporary folder 2024-10-25 21:36:53 +00:00
Kittywhiskers Van Gogh
e3e225f59d
merge bitcoin#23293: Add comment to COIN constant 2024-10-25 21:36:53 +00:00
Kittywhiskers Van Gogh
5fb2cc8bb6
merge bitcoin#23137: move-only bloom to src/common
excludes:
- fac303c5 (`MakeUCharSpan` is reintroduced by bitcoin#23438, a part of
  dash#5574)
2024-10-25 21:36:52 +00:00
Kittywhiskers Van Gogh
1a2c02a42d
merge bitcoin-core/gui#615: If -prune=0 is set, Uncheck Prune on Intro page 2024-10-25 21:26:06 +00:00
Kittywhiskers Van Gogh
3d5aca6a0b
merge bitcoin-core/gui#554: Add and improve translator comments and tooltips for peers tab address fields 2024-10-25 21:26:06 +00:00
Kittywhiskers Van Gogh
0c545ac0e9
merge bitcoin-core/gui#563: Remove network detection based on address in BIP21 2024-10-25 21:26:06 +00:00
Kittywhiskers Van Gogh
f088334c8a
merge bitcoin-core/gui#477: Monospaced output in Console on macOS 2024-10-25 21:26:06 +00:00
Kittywhiskers Van Gogh
694f3e9cf1
merge bitcoin-core/gui#449: Restore "S" accelerator for "Start on system login" option 2024-10-25 21:26:05 +00:00
Kittywhiskers Van Gogh
063ef3a2d0
merge bitcoin-core/gui#416: Add RPC setting 2024-10-25 21:26:05 +00:00
Kittywhiskers Van Gogh
fa2f7acc2a
merge bitcoin-core/gui#418: fix bitcoin-qt app categorization on apple silicon 2024-10-25 21:26:05 +00:00
Kittywhiskers Van Gogh
594177d5fe
merge bitcoin-core/gui#403: Make paths to update Encryption and HD wallet statuses simpler 2024-10-25 21:26:02 +00:00
pasta
4b5e39290c
Merge #6357: backport: bitcoin/bitcoin#22229 test: consolidate to f-strings and related fixes
7c6c93d201 fix: remove missing comment to follow-up for bitcoin#15864 (Konstantin Akimov)
65226da849 Merge bitcoin/bitcoin#22229: test: consolidate to f-strings (part 1) (MarcoFalke)
ad2c5a53ee refactor: unify feature_notifications.py after #5522 with bitcoin's codebase (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  Just one backport bitcoin#22229 because it is a big size, even though there's nothing non-trivial in it.

  Though, even it is called as part I, there has not been part II yet.

  ## What was done?
  Some preparation, code unifications to make bitcoin#22229 with less conflicts and finally backport of itselfl.

  ## How Has This Been Tested?
  Run unit & functional test

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  UdjinM6:
    utACK 7c6c93d201
  PastaPastaPasta:
    utACK 7c6c93d201

Tree-SHA512: fe296e3255d45a7a1924bd1e5e21634b3cd36ea3f71cf5e8684b54336771665ea7758de7bfc78721669a928f967e7d4db7b1da0a5cd275feb1a2ec0df841ad5c
2024-10-25 15:49:53 -05:00
pasta
54bec782d3
Merge #6361: ci: better caching gh actions
a856b81f0e ci: drop unneeded comments (pasta)
189233b987 ci: handle ccache / depends based on build_target not host to avoid failing to cache all the linux 86_64 runs (pasta)
cbeeb9e00d ci: adjust caching strategy (pasta)
354d6a9aab ci: cache depends sources in a seperate step (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Improve GitHub Actions caching to not have such large caches that get evicted frequently

  ## What was done?
  Use hash files on depends for depends related caching
  bring all depends sources under shared cache

  ## How Has This Been Tested?
  CI in my branches

  ## Breaking Changes
  None

  ## Checklist:
    _Go over all the following points, and put an `x` in all the boxes that apply._
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK a856b81f0e

Tree-SHA512: f3d6cfeccfed0c811686a8becc548097b63c34a338cd5ff84445a8e9254c6aa03a394125c90aab705873f39156375bbbbd6d90979d6fa78b7479f10508b21d6e
2024-10-25 15:48:05 -05:00
fanquake
5ce92ca9ea
Merge bitcoin/bitcoin#29527: depends: add -g to DEBUG=1 flags
84fbf9b2841a9ba1ebd1421b9ff9fe444bb1abd9 depends: remove -g from sqlite debug flags (fanquake)
eef51afc6a29c693a68400930ef8011be41b7401 depends: add -g to DEBUG=1 flags (fanquake)

Pull request description:

  Add `-g` to the base DEBUG=1 flags in depends.
  Avoids the need to specify it per-package.
  More alignment with `--enable-debug` behaviour in configure.

  We also want to align the optimization flags, currently -O1 vs -O0, however that can be it's own PR.

ACKs for top commit:
  theuni:
    ACK 84fbf9b2841a9ba1ebd1421b9ff9fe444bb1abd9

Tree-SHA512: 1ee98ba0c13e4b80bb87632658b4f53ce49c73e0e7712990c30da60deca4a349a744232f2d78f243dee9a07f5b9b70f9c2c4ae34082c34ae51b37b054fac61fd
2024-10-25 15:37:15 -05:00
merge-script
63e139d11b
Merge bitcoin/bitcoin#30185: guix: show *_FLAGS variables in pre-build output
5f2c1d84e37697f4f8a20e3c12f37bba71b3c2a6 guix: show *_FLAGS variables in pre-build output (fanquake)

Pull request description:

  For example:
  ```bash
  # ADDITIONAL_GUIX_COMMON_FLAGS set in the ENV
  ADDITIONAL_GUIX_ENVIRONMENT_FLAGS="--emulate-fhs" ./contrib/guix/guix-build
  <snip>
  INFO: Building f751991 for platform triple x86_64-linux-gnu:
        ...using reference timestamp: 1716905119
        ...running at most 10 jobs
        ...from worktree directory: '/bitcoin'
            ...bind-mounted in container to: '/bitcoin'
        ...in build directory: '/bitcoin/guix-build-f75199182133/distsrc-f75199182133-x86_64-linux-gnu'
            ...bind-mounted in container to: '/distsrc-base/distsrc-f75199182133-x86_64-linux-gnu'
        ...outputting in: '/bitcoin/guix-build-f75199182133/output/x86_64-linux-gnu'
            ...bind-mounted in container to: '/outdir-base/x86_64-linux-gnu'
        ADDITIONAL FLAGS (if set)
            ADDITIONAL_GUIX_COMMON_FLAGS: --no-substitutes
            ADDITIONAL_GUIX_ENVIRONMENT_FLAGS: --emulate-fhs
            ADDITIONAL_GUIX_TIMEMACHINE_FLAGS:
  ```

ACKs for top commit:
  hebasto:
    ACK 5f2c1d84e37697f4f8a20e3c12f37bba71b3c2a6.

Tree-SHA512: 85a6d508499b4ec1d6166343a1707b682d327b2fcfb2fb438571894478aac0062d21e1239b5092091ff98711c5c747151973c4f325a7a7c447d0e807166fcb07
2024-10-25 15:30:56 -05:00
merge-script
3be0d3e5cd
Merge bitcoin/bitcoin#30097: crypto: disable asan for sha256_sse4 with clang and -O0
141df0a28810470e53fdbc6d32d3cb4020fe3ca1 crypto: disable asan for sha256_sse4 with clang and -O0 (Cory Fields)

Pull request description:

  Clang is unable to compile the Transform function for that combination of options.

  Fixes #29801.

ACKs for top commit:
  achow101:
    ACK 141df0a28810470e53fdbc6d32d3cb4020fe3ca1

Tree-SHA512: d74fdac5840ad7524edfde069fb43ae75c31146e90ecc58bbc7912ff57a02b068547431b1766afeed782272c0b93b0b41a286c1cf26ec55ce332d94ce917d810
2024-10-25 15:30:56 -05:00
merge-script
3070c3e388
Merge bitcoin/bitcoin#30078: depends: set AR & RANLIB for CMake
019ad7327c397094d7648b55503bf5373b108a57 depends: set RANLIB for CMake (fanquake)
43cfb428cba04b8db98d4d0d56ffe28ad686e58c depends: set NM for CMake (fanquake)
1e4412b317f74dd64069309544fe73c95e2c10e7 depends: set AR for CMake (fanquake)

Pull request description:

  Needed for #21778. Should be more correct in any case.

ACKs for top commit:
  theuni:
    utACK 019ad7327c397094d7648b55503bf5373b108a57. I didn't test, but I tried this approach on a few deps and it seemed to work as expected.
  TheCharlatan:
    ACK 019ad7327c397094d7648b55503bf5373b108a57

Tree-SHA512: 78cc8981456f7476cafca0e40fcc569e474b92004c8024d1c4268b6aab53175074a06ab17ebded8d706bf0a7f77401642dd38bb7ce2e4b04abdcd149d3d69969
2024-10-25 15:30:55 -05:00
pasta
e12afdf175
Merge #6350: backport: trivial 2024 10 23 pr7
37389c7d38 Merge bitcoin/bitcoin#28781: depends: latest config.guess & config.sub (fanquake)
3239f1525d Merge bitcoin/bitcoin#28479: build: use _LIBCPP_ENABLE_DEBUG_MODE over ENABLE_ASSERTIONS (fanquake)
45cc44bcf9 Merge bitcoin/bitcoin#27628: build: Fix shared lib linking for darwin with lld (fanquake)
b8ddcd937c Merge bitcoin/bitcoin#27575: Introduce platform-agnostic `ALWAYS_INLINE` macro (fanquake)
71c6d7f6ca Merge bitcoin/bitcoin#26653: test, init: perturb file to ensure failure instead of only deleting them (fanquake)
417f71a587 Merge bitcoin/bitcoin#27422: test: add coverage to rpc_scantxoutset.py (fanquake)
898dcbdc4f Merge bitcoin/bitcoin#27559: doc: clarify processing of mempool-msgs when NODE_BLOOM (glozow)
a4e429cb5a Merge bitcoin/bitcoin#26953: contrib: add ELF OS ABI check to symbol-check.py (fanquake)
deb7de26dd Merge bitcoin/bitcoin#26604: test: add coverage for `-bantime` (fanquake)
f725ed509a Merge bitcoin/bitcoin#26314: test: perturb anchors.dat to test error during initialization (fanquake)
3306f96d80 Merge bitcoin/bitcoin#25937: test: add coverage for rpc error when trying to rescan beyond pruned data (fanquake)
712dcaf86b Merge bitcoin/bitcoin#27516: test: simplify uint256 (de)serialization routines (fanquake)
90d65f25e1 Merge bitcoin/bitcoin#27508: build: use latest config.{guess,sub} in depends (fanquake)
df7be026e4 Merge bitcoin/bitcoin#27506: test: prevent intermittent failures (fanquake)
9b58b2d97b Merge bitcoin/bitcoin#27447: depends: Remove `_LIBCPP_DEBUG` from depends DEBUG mode (fanquake)
07770b77a1 Merge bitcoin/bitcoin#26741: doc: FreeBSD DataDirectoryGroupReadable Setting (fanquake)
5645362f11 Merge bitcoin/bitcoin#27362: test: remove `GetRNGState` lsan suppression (fanquake)
671e8e6851 Merge bitcoin/bitcoin#27368: refactor: Drop no longer used `CNetMsgMaker` instances (fanquake)
a11690bf62 Merge bitcoin/bitcoin#27301: depends: make fontconfig build under clang-16 (fanquake)
0a94b3f27b Merge bitcoin/bitcoin#27328: depends: fix osx build with clang 16 (fanquake)

Pull request description:

  ## Issue being fixed or feature implemented
  Batch of trivial backports

  ## What was done?
  See commits

  ## How Has This Been Tested?
  built locally; large combined merge passed tests locally

  ## Breaking Changes
  Should be none

  ## Checklist:
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 37389c7d38
  kwvg:
    utACK 37389c7d38

Tree-SHA512: 1ea075a58361f57e037febcf003d380ab845b6c8e1c62d9fcf8954d46cd006046d1951f15a41a5deb9ab7af734df9dafcf89f33d115d78246752f7e2cd13f4ee
2024-10-25 12:58:26 -05:00
pasta
e43d75bca2
Merge #6352: backport: trivial 2024 10 23 pr9
168e5e4a50 Merge bitcoin/bitcoin#28877: bench: Update nanobench to 4.3.11 (fanquake)
417c86b949 Merge bitcoin/bitcoin#28105: doc: Clarify that -fstack-reuse=all bugs exist on all versions of GCC (fanquake)
a620cccd81 Merge bitcoin/bitcoin#26970: test: fix immediate tx relay in wallet_groups.py (merge-script)
f115d9c27f Merge bitcoin/bitcoin#27061: doc: Document affected gcc versions for -fstack-reuse=none workaround (fanquake)
6889a8db29 Merge bitcoin/bitcoin#27056: doc: use arch agnostic clang path in fuzzing doc (macOS) (MarcoFalke)
97858384ec Merge bitcoin/bitcoin#21995: build: Make dependency package archive timestamps deterministic (fanquake)
c4760bb32e Merge bitcoin/bitcoin#27030: Update nanobench to version v4.3.10 (fanquake)
a7e3c2c916 Merge bitcoin-core/gui#705: doc: Fix comment about how wallet txs are sorted (Hennadii Stepanov)
44e6c9e902 Merge bitcoin/bitcoin#27004: test: Use std::unique_ptr over manual delete in coins_tests (fanquake)
2ab1989a39 Merge bitcoin/bitcoin#27010: refactor: use `Hash` helpers for double-SHA256 calculations (MarcoFalke)
c681aaad30 Merge bitcoin/bitcoin#22811: build: Fix depends build system when working with subtargets (fanquake)
d1b7386374 Merge bitcoin/bitcoin#26930: fuzz: Actually use mocked mempool in tx_pool target (MarcoFalke)
cd53a195a6 Merge bitcoin/bitcoin#26873: doc: add databases/py-sqlite3 to FreeBSD test suite deps (fanquake)
8cc5f11a2f Merge bitcoin/bitcoin#26506: refactor: rpc: use convenience fn to auto parse non-string parameters (MarcoFalke)
662302c42b Merge bitcoin/bitcoin#26805: tests: Use unique port for ZMQ tests to allow for multiple test instances (MarcoFalke)
66a3981a7a Merge bitcoin/bitcoin#24279: build: Make `$(package)_*_env` available to all `$(package)_*_cmds` (fanquake)
3261092f85 Merge bitcoin/bitcoin#26520: doc: test: update/fix TestShell example instructions (fanquake)
5f78859562 Merge bitcoin/bitcoin#25248: refactor: Add LIFETIMEBOUND / -Wdangling-gsl to Assert() (fanquake)
459425776c Merge bitcoin/bitcoin#26229: test: Use proper Boost macros instead of assertions (MacroFake)
3be81a2d4c Merge bitcoin/bitcoin#25915: test: Fix wallet_balance intermittent issue (Andrew Chow)
da1d3f2654 Merge bitcoin/bitcoin#25663: tracing: do not use `coin` after move in `CCoinsViewCache::AddCoin` (MacroFake)

Pull request description:

  ## Issue being fixed or feature implemented
  Batch of trivial backports

  ## What was done?
  See commits

  ## How Has This Been Tested?
  built locally; large combined merge passed tests locally

  ## Breaking Changes
  Should be none

  ## Checklist:
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 168e5e4a50

Tree-SHA512: 3099e09bc500a86bffafea0db136e3213f69b69e7af74304c171780e56ff1ff4c973a228962cf80aec62158ded19365d6f8506ef202a15751a43851574f082e2
2024-10-25 12:56:23 -05:00
pasta
a856b81f0e
ci: drop unneeded comments 2024-10-25 12:05:42 -05:00