The records send the operator to "the controller's terminal", and nothing reaches it (hq issue 343). mesh-cli holds no credential: it asks the engine on its own machine over a socket. The engine reads the asking account from the kernel (SO_PEERCRED), never from the program, and asks the controller on mesh.control.<node>.cli, its own node's subject, so the bus server says which node asked. The controller decides what the line may do; nothing received on the socket is run or applied here, and the socket has no network address (ADR 0004 stands). The local protocol is the SDK's go/cli package, at a pseudo-version of its branch until that merges and is tagged go/v0.1.8.
17 lines
446 B
Go
17 lines
446 B
Go
//go:build !linux
|
|
|
|
package meshcli
|
|
|
|
import (
|
|
"errors"
|
|
"net"
|
|
)
|
|
|
|
// peerCredentials is unknown where the kernel's way of saying it is not built here: refused, never guessed.
|
|
func peerCredentials(*net.UnixConn) (uint32, error) {
|
|
return 0, errors.New("this engine reads a peer's account on Linux only")
|
|
}
|
|
|
|
// notOwnDirectory is never satisfied where peers cannot be read.
|
|
func notOwnDirectory(string) string { return "not served on this system" }
|