[31.x] Backports #35046

pull fanquake wants to merge 9 commits into bitcoin:31.x from fanquake:31_1_backports changing 11 files +209 −390
  1. fanquake commented at 8:50 AM on April 10, 2026: member
  2. fanquake added this to the milestone 31.1 on Apr 10, 2026
  3. DrahtBot added the label Backport on Apr 10, 2026
  4. DrahtBot commented at 8:50 AM on April 10, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    Stale ACK optout21

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

    LLM Linter (✨ experimental)

    Possible places where comparison-specific test macros should replace generic comparisons:

    • [test/functional/test_framework/socks5.py] assert(conn.handler_index < len(self._handlers)) -> use assert_greater_than(len(self._handlers), conn.handler_index)

    <sup>2026-04-29 18:54:38</sup>

  5. net_processing: don't modify addrman for private broadcast connections
    It is best if the internal addrman database is not modified with
    information coming from private broadcast connections because that
    information can potentially later be sent via other connections.
    
    Co-authored-by: Greg Sanders <gsanders87@gmail.com>
    Co-authored-by: Lőrinc <pap.lorinc@gmail.com>
    
    Github-Pull: #35032
    Rebased-From: 1ed1a124028aa6783ecdd8c82083a3d7a6a16e53
    27e5a3020a
  6. test: Add missing self.options.timeout_factor scale in tool_bitcoin_chainstate.py
    Apply the timeout factor inside the add_block function.
    
    Also, force named args for the two expected strings.
    
    Also, add trailing comma for style.
    
    Github-Pull: #35080
    Rebased-From: fa02eb87df0b4a615a3e027711326f5506e5507a
    20480f5eb9
  7. fanquake force-pushed on Apr 16, 2026
  8. DrahtBot added the label CI failed on Apr 16, 2026
  9. in doc/release-notes.md:333 in 7078a84664 outdated
     332 | -- Murch
     333 | -- Musa Haruna
     334 | -- naiyoma
     335 | -- nervana21
     336 | -- Novo
     337 | -- optout
    


    optout21 commented at 10:01 AM on April 21, 2026:

    7078a84 doc: update release notes for v31.x:

    Nit: Not sure if this is auto-generated, but I wouldn't mind being mentioned here 😎 (due to #34863)


    fanquake commented at 10:45 AM on April 21, 2026:

    Just hadn't updated the docs yet. You are listed now.

  10. optout21 commented at 10:06 AM on April 21, 2026: contributor

    crACK 39455140b92a5a27307ff33b12b72eb43440b6b1

    Looked through all 4 commits (as of 39455140b92a5a27307ff33b12b72eb43440b6b1), LGTM.

  11. test: Add clean shutdown to Socks5Server
    The `Socks5Server` utility handles multiple incoming connections,
    which are handled in separate background threads.
    The `stop()` method unblocks and waits for the main background thread
    cleanly, but it doesn't attempt to wait for any handler threads.
    This change stores handler threads and connections, and attempts
    to shut them down before `stop()` returns.
    
    Co-authored-by: vasild <vd@FreeBSD.org>
    Co-authored-by: w0xlt <94266259+w0xlt@users.noreply.github.com>
    
    Github-Pull: #34863
    Rebased-From: 6ac49373aac1228e427e17a4b7b38fc1ba029208
    e1545b56b9
  12. test: Add is_connected_to helper
    Needed in the next commit.
    
    Co-Authored-By: David Gumberg <davidzgumberg@gmail.com>
    
    Github-Pull: #34425
    Rebased-From: faa404e119c54526077b056f6f380782e64986c4
    332d2a2ef2
  13. test: Stricter checks in rpc_setban.py
    Make the checks stricter and easier to follow:
    * Fix a typo.
    * After the first ban from node 1 wait until node 0 "sees" the ban.
    * Move the restart_node out of the debug log context, to avoid bloat.
    * Removed the timeout from the outer/lower exit stack to check "dropped
      (banned)\n" on node 1, because the inner/top exit stack waits longer.
    * The inner/top exit stack checks for the both disconnections peer=2 and
      possibly peer=3 (for v2->v1 retry).
    * And finally, add a redundant assert to confirm once more that node 0
      is has "seen" the ban.
    
    Github-Pull: #34425
    Rebased-From: fa21edddb2722f7188130e56b06985ee2ec3ec1c
    402f347fd5
  14. test: Fix all races after a socket is closed gracefully
    This waits for any disconnect (e.g. from a restart of one of the nodes)
    to fully happen before the next connect.
    
    Can be reviewed with the git option:
    
    --color-moved=dimmed-zebra
    
    Github-Pull: #34425
    Rebased-From: fab27726478d686dcd66d26d3b7b34aa323b8066
    bb536df042
  15. test: Remove unused, confusing and brittle connect_nodes.wait_for_connect
    The option is unused since the last removals in:
    * 4c40a923f003420193aa574745f70788bcf35265, and
    * 81bf3ebff7e7108bbfbf6fe4e122f4e52f278701
    
    It was brittle and lead to intermittent test issues. Generally, it is
    also confusing, because if a test wanted to connect nodes without
    checking their connection, it can use `addnode`, like the rpc_setban.py
    test.
    
    So fix all issues by removing it.
    
    Github-Pull: #34425
    Rebased-From: fae807ed25561bab7148c5a0d7bd847314c79d88
    ab19213660
  16. DrahtBot removed the label CI failed on Apr 21, 2026
  17. fanquake force-pushed on Apr 21, 2026
  18. multi_index: fix compilation failure with boost >= 1.91
    This effectively reverts a3cb309e7c31853f272bffaa65fb6ab0a7cc4083 from PR #30194.
    
    That PR reduced the multi_index type signatures as recommended upstream, but
    this is no longer supported as of boost 1.91 because it is no longer necessary.
    1.91 drops support for the pre-c++11 work-arounds that bloated the type
    signatures to begin with.
    
    The upstream `BOOST_MULTI_INDEX_ENABLE_MPL_SUPPORT` define is meant to provide
    compatibility with removed features, but it does not work for this case. Using
    `indexed_by` directly when defining the `multi_index` (as opposed to inheriting
    from it) works with all versions, and avoids the use of the back-compat define.
    
    This is a slight regression when building against boost < 1.91 because the
    bloated type signatures are reintroduced in that case, but it's not significant
    enough to go to the trouble of introducing version detection and ifdefs.
    
    Github-Pull: #35175
    Rebased-From: 0bc9d354dfd8074d1c36a891a69b6585a8775c65
    2eafae9dc1
  19. doc: update release notes for v31.x fe8bd712f7
  20. fanquake force-pushed on Apr 29, 2026
  21. fanquake marked this as ready for review on Apr 30, 2026

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-01 12:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me