mirror of
https://seed.radicle.dev/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5.git
synced 2026-10-18 19:10:30 +08:00
node: Skip unreadable address rows in entries()
- Decode each row independently so one corrupt entry no longer aborts
the whole address-book iterator
- Log a warn with the raw `value` and continue past parse failures
- Add a regression test that mimics the post-migration-8 state where a
legacy `[]:8776` row lands as `type='ipv6'`
A pre-`df8e4e6c` parser admitted `[]:8776` as `HostName::Dns("[]")`.
Migration 8 retyped any `[..]:N` dns row to `ipv6` without validating
the inner part, so on read `Address::from_str` rejects the row with
"invalid IPv6 address syntax", which bubbled up and caused
`available_peers()` to silently return empty, breaking peer discovery
for the affected node.
This commit is contained in:
committed by
Lorenz Leutgeb
parent
5dae2a8b58
commit
a45a1078ab
@@ -50,6 +50,14 @@ COB type names and payload IDs remain unchanged for backwards compatibility.
|
||||
with your favorite text editor (e.g. via `rad config edit`), or specialized
|
||||
tools like `jq`.
|
||||
|
||||
## Fixed Bugs
|
||||
|
||||
- Skip node address entries that cannot be parsed from an SQLite row into a
|
||||
valid address entry. This improves the node service, when it checks available
|
||||
peers. Previously, if it found a row it could not parse, then it would fail
|
||||
the whole process. Now, it will continue, providing valid entries to connect
|
||||
to.
|
||||
|
||||
## 1.8.0
|
||||
|
||||
## New Features
|
||||
|
||||
Reference in New Issue
Block a user