forked from security/hakurei
internal/app/spcontainer: resolve path through dispatcher
This prevents state from os tainting the test data. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -581,6 +581,8 @@ func (k *stubNixOS) lookupEnv(key string) (string, bool) {
|
||||
return "/run/user/1971", true
|
||||
case "XDG_CONFIG_HOME":
|
||||
return "/home/ophestra/xdg/config", true
|
||||
case "DBUS_SYSTEM_BUS_ADDRESS":
|
||||
return "", false
|
||||
default:
|
||||
panic(fmt.Sprintf("attempted to access unexpected environment variable %q", key))
|
||||
}
|
||||
|
||||
@@ -139,7 +139,12 @@ func (s *spFilesystemOp) toSystem(state *outcomeStateSys) error {
|
||||
varRunNscd,
|
||||
}
|
||||
|
||||
_, systemBusAddr := dbus.Address()
|
||||
// dbus.Address does not go through syscallDispatcher
|
||||
systemBusAddr := dbus.FallbackSystemBusAddress
|
||||
if addr, ok := state.k.lookupEnv(dbus.SystemBusAddress); ok {
|
||||
systemBusAddr = addr
|
||||
}
|
||||
|
||||
if entries, err := dbus.Parse([]byte(systemBusAddr)); err != nil {
|
||||
return &hst.AppError{Step: "parse dbus address", Err: err}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user