mirror of
https://github.com/Twigpine/zero.git
synced 2026-11-10 05:01:28 -10:00
* fix(daemon): publish status files atomically * fix(daemon): bind status publication to directory handle * fix(daemon): validate status directory access * fix(daemon): accept current token directory owner * fix(daemon): migrate owned runtime directories safely * fix(daemon): open Windows security handle relatively * fix(daemon): use current NT directory object * fix(observability): harden existing crash directories * fix(security): bind crash report creation to private root * fix(observability): atomically publish crash reports * fix(observability): preserve committed crash reports * fix(observability): revalidate committed crash path * fix(daemon): secure runtime lifecycle boundaries * fix(daemon): bind status ownership through cleanup * fix(daemon): preserve Windows status security * fix(daemon): retain trusted runtime root for lifecycle * fix(daemon): roll back redirected socket binds * fix(daemon): address status publication review
17 lines
449 B
Go
17 lines
449 B
Go
//go:build !windows
|
|
|
|
package daemon
|
|
|
|
import "os"
|
|
|
|
// hardenSocketFile restricts the control socket to its owner (0600) so no other
|
|
// local user can connect. Combined with the 0700 parent directory this makes the
|
|
// control plane owner-only, as required by the security model.
|
|
func hardenSocketFile(path string) error {
|
|
return os.Chmod(path, 0o600)
|
|
}
|
|
|
|
func hardenSocketFileRoot(root *os.Root, name string) error {
|
|
return root.Chmod(name, 0o600)
|
|
}
|