chore: retarget upstream portal-tunnel v2.4.0 #90
Loading…
Reference in a new issue
No description provided.
Delete branch "codex/release-v2.4.0-20260911T085905Z-v2.4.0"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
29dfdd54,b46e8bc5).b50e91a0CI run already established a native ARM64 image build/start pass.Review dispositions
scripts/v240-axis-b-ivnp-smoke.shnow builds a five-router isolated signed-RouterInfo mesh with three ready floodfills, NTCP2 only, no reseed, fixed deterministic destination selection, and one genuine IVNP tunnel per direction. It proves official v2.4.0 client -> selected candidate/sdk/connectgateway -> IVNP -> fixed exact-upstream Go v2.4.0 ingress -> run-unique backend response. The control changes only the gateway to Go. Exact endpoint/capability, distinct gateway/ingress identities, the fresh fully correlated Rust post-bridge marker, no direct fallback, and per-arm cleanup are fail-closed prerequisites to the sole JSON pass marker.2; gateway handling maps it to retryable HTTP 429/rate-limited behavior.b50e91a0. The Axis B run at final HEAD also rebuilt and ran the ARM64 candidate image on native aarch64 uvm.Exact evidence
Final implementation under test:
05b2a1aa9fca840aeab9cd0c4f6d41ba2d8c360b(deterministic mesh94829a8d, fixed tunnel selection05b2a1aa). Exact upstream v2.4.0 commit:ba9866553db657c0a4c95ae5cc092f7389f3a6dc.Final local verification:
cargo fmt --all -- --check,cargo check --workspace --locked,cargo test --workspace --locked(187 passed; 0 failed; 3 ignored),cargo clippy --workspace --all-targets --locked -- -D warnings, helpergo test ./..., Axis-B static regression,bash -n, andgit diff --checkall passed.Final Axis-B artifacts: uvm
/home/inseo/tmp/axis-b-deterministic-05b2a1aa-20260912t; local copy/Users/inseo/.hermes/profiles/ada/state/portal-tunnel-release/artifacts/axis-b-05b2a1aa-20260912t.cargo test --locked:running 189 tests;test result: ok. 186 passed; 0 failed; 3 ignored; ... finished in 6.24s.cargo clippy --locked --all-targets -- -D warnings:Finished dev profile ... in 3.42s.go test -count=1 ./...:ok portal-tunnel-rs/helpers/portal-ivnp-helper 0.725s.go test -race -count=1 ./...:ok portal-tunnel-rs/helpers/portal-ivnp-helper 1.902s.Static helper: Linux ARM64 ELF, statically linked (
CGO_ENABLED=0 GOOS=linux GOARCH=arm64).scripts/v240-ivnp-capability-compat.sh: upstream Go overlay packageok ... 0.535s; Rust1 passed; 0 failed; 188 filtered;Go v2.4.0 IVNP capability verified by Rust.scripts/test-compose-config.sh:bundled Compose relay settings render with configured values and safe defaults.scripts/test-container-image-tag.sh:container image tag gate accepts only exact production/dev release tags.cargo fmt --all -- --check,git diff --check,bash -n scripts/*.sh, andsh -n scripts/container-image-tag.sh: exit 0, no output.Forgejo run 162, primary
Format, lint, and test:Job succeeded; CI reported193 passed; 0 failed; 5 ignored, helper tests passed, and the Windows GNU cross-check completed after installing MinGW.Deterministic Axis B pass
Command:
ARTIFACT_DIR=/home/inseo/tmp/axis-b-deterministic-05b2a1aa-20260912t WAIT_SECONDS=180 scripts/v240-axis-b-ivnp-smoke.sh{"arms":["control-go-gateway","candidate-rust-gateway"],"candidate_commit":"05b2a1aa9fca840aeab9cd0c4f6d41ba2d8c360b","cleanup_verified":true,"marker":"IVNP_AXIS_B_PASS","upstream_commit":"ba9866553db657c0a4c95ae5cc092f7389f3a6dc"}.protocol-9-axis-b-control-03c2532b4721andprotocol-9-axis-b-candidate-95e5586c1064.https://localhost:45141/sdk/connect,overlay=true, and allowlisted as the sole selection. Gateway destination7vo6zs2ex3dyb2oterkexmqi6fz7uptgklclwmrierb3mv4lnbvq.b32.i2pand ingress destinationbhtkjsxjv2jv2k6mqm4jtyrd4ijwsbxk5hqefgizggu4kublls4q.b32.i2pwere distinct and bound into capability SHA-2569510d4d452d626432e9b91e4750c8e5e3b50032f9f97eb3bf9736584536f1a44.axis_b_event="ivnp_gateway_bridge_ready"after authenticated IVNP dial, capability framing/acceptance, and bridge activation; the marker proof matches the exact lease, ingress, gateway, and capability hash above.[3,3,4,4,4], NTCP2 only, SSU2 disabled, public reseed disabled, and one-hop inbound/outbound destination tunnels. The recorded fixture diff uses authenticated direct I2NP netdb replies only; application streaming still uses LeaseSet/Garlic/tunnel routing.Files changed by this review lane
.forgejo/workflows/rust-ci.yml,Dockerfile,docker-compose.yml,README.md,scripts/test-compose-config.sh.crates/portal-relay/src/config.rs,relay/{bridge,discovery,ivnp,ivnp_stub,leases,mod,server}.rs.helpers/portal-ivnp-helper/main.go,main_test.go.scripts/v240-axis-b-ivnp-smoke.sh,docs/unsupported-features.md.Release state / remaining gates
codex/release-v2.4.0-20260911T085905Z-v2.4.0; PR #90 is closed and unmerged.Superseded by #91 for upstream v2.4.1; the replacement preserves this PR’s reviewed commit ancestry and carries the protocol-compatible v2.4.1 delta.
Pull request closed