Skip to content

Upgrade to iroh 1.2 and report relay auth denials - #9

Open
andrewchen5678 wants to merge 1 commit into
mainfrom
upgrade-iroh-1.2
Open

Upgrade to iroh 1.2 and report relay auth denials#9
andrewchen5678 wants to merge 1 commit into
mainfrom
upgrade-iroh-1.2

Conversation

@andrewchen5678

Copy link
Copy Markdown
Contributor

Summary

  • Require iroh >=1.2.0, <1.3.0. Lockfile: iroh / iroh-base / iroh-relay 1.2.0, iroh-dns 1.3.0, noq 1.3.0. No API breaks. The e2e CI job now installs iroh-relay 1.2.0.
  • Adopt the new RelayStatus::auth_denied_reason (feat(iroh): add RelayStatus::auth_denied_reason and example n0-computer/iroh#4501):
    • A relay probe (startup and restore) that times out now reads the relay's status before closing and reports the actual cause, e.g. authentication denied by the relay (<reason>); check the relay auth token or disconnected (<error>), instead of "unreachable or rejected the auth token".
    • The failover outage report uses the same description via a shared relay_failure() helper. Failover behaviour is unchanged.
  • Version references updated in Cargo.toml, README.md, src/lib.rs.

Relay failover in iroh 1.2.0

net_report (home-relay selection) did not change between 1.1.0 and 1.2.0, so a home relay that answers probes but refuses connections still wedges the endpoint; relay_failover is still needed. Upstream work to watch:

Test plan

  • cargo clippy --all-targets --all-features: clean
  • cargo test --all-features: 26 passed
  • e2e/run_e2e.sh --local-relays and --local-relays --relay-only against iroh-relay 1.2.0: all pass
  • e2e/run_relay_failover.sh against iroh-relay 1.2.0: phases A–D all pass
  • The new auth-denied message has not been observed in a live run (the e2e harness does not print server logs)

🤖 Generated with Claude Code

https://claude.ai/code/session_01C44v6KPU4Jc5arm6ML48Go

Require iroh >=1.2.0, <1.3.0 (iroh-relay 1.2.0 in the e2e CI job) and use
the new RelayStatus::auth_denied_reason: a relay probe that times out now
reports the relay's actual failure (authentication denied, or the last
connection error) instead of a guess, and the failover outage report uses
the same description.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C44v6KPU4Jc5arm6ML48Go
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant