Conversation
Noah-Tervalon-Nvidia
self-requested a review
September 18, 2026 19:20
engine:start accepted any valid IP as a bind override, silently exposing the unauthenticated engine API to the LAN. Non-loopback binds now fail with -32602, matching the remote-start path that hard-binds 127.0.0.1. Signed-off-by: Mallikh Kaula <mallikh@users.noreply.github.com>
Validation flow for the loopback bind requirement, plus a reading-order entry in the README. Signed-off-by: Mallikh Kaula <mallikh@users.noreply.github.com>
NewManager now wires the executor into the settings relay at construction, so the test fixture builds it with a real Executor and nils it back out right after to keep the panic-on-reach signal. Signed-off-by: Mallikh Kaula <mallikh@users.noreply.github.com>
mkalkere
force-pushed
the
fix/engine-bind-validation
branch
from
September 26, 2026 19:33
5938625 to
77bd271
Compare
Author
|
Same rebase as #80 — onto current develop, versions.json bump dropped in favor of the release-intent declaration. One adaptation was needed: NewManager now wires the executor into the settings relay at construction, which broke the test fixture's nil-executor trick, so the fixture builds a real Executor and nils it back out right after (separate commit, same panic-on-reach behavior). Full module suite passes with -race. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changelog title
Local engine starts reject non-loopback bind addresses
Changelog body
engine:startandengine:installnow reject non-loopbackbindoverrides with-32602, closing an accidental LAN exposure of the unauthenticated engine API. Remote starts already hard-bind loopback; local starts now match.Bumps
Description
engine:start/engine:installaccepted any valid IP as thebindoverride, which put an unauthenticated engine API on0.0.0.0. Remote starts already hard-bind127.0.0.1; local starts now reject non-loopback binds with-32602 "bind must be a loopback address".Scope
Included:
services/nvpair-engine-managerbind validation,bind_validation_test.go, release-intent bump declaration,docs/engine-bind-validation.mdx. Nothing else touched.Validation
go test -race ./...inservices/nvpair-engine-manager: pass (full suite ~49s).0.0.0.0,192.168.1.5,::rejected; invalid IPs still rejected as invalid; loopback passes.go vetclean,gofmtclean,node scripts/spdx-headers.mjsreports 0 missing headers on every branch.Risk
Checklist
git commit -s), certifying the Developer Certificate of Origin.pair-release-intent:v1block above (services/versions.jsonis automation-managed; CI rejects hand edits), and described user-visible changes so they reach the release notes.