fix: allow onion addresses and external peers in messages command#791
fix: allow onion addresses and external peers in messages command#791nkatha23 wants to merge 4 commits intobitcoin-dev-project:mainfrom
Conversation
- Add is_external_peer() helper to detect onion addresses and non-tank peers - Skip namespace parsing and kubectl IP lookups for external peers - Match message capture directories directly by address for external peers - Fix dot-split validation that would reject onion addresses containing dots - Add check_messages() test to onion_test.py to verify the fix Fixes bitcoin-dev-project#761
|
@pinheadmz I investigated the rpc_test failure and I believe it's a pre-existing issue unrelated to my changes. |
…e lookup The previous implementation used namespace_b = None as a sentinel for both 'known tank with no explicit namespace' and 'external/onion peer', causing known tanks like tank-0001 to fall into the external peer path in get_messages. This set tank_b_ip = 'tank-0001' instead of doing the kubectl IP lookup, so no message capture directories ever matched. Fix: resolve namespace_b via get_default_namespace_or() for known tanks before calling get_messages, so only genuine external peers arrive with namespace_b = None. Fixes rpc_test verack assertion failure introduced in previous commit.
|
14/16 checks passing. The only remaining failure is plugin_test which is a pre-existing issue in test_base.py, while investigating it I discovered that inspect.getsource() can't handle functools.partial objects, causing a TypeError that masks the real timeout error. I've opened a separate PR #795 to fix that. This PR is ready for review. |
Fixes #761