From 334c930969db89f3f85b002da5c2f69e5277973b Mon Sep 17 00:00:00 2001 From: Alexandre Pujol <alexandre@pujol.io> Date: Sat, 30 Mar 2024 18:17:55 +0000 Subject: [PATCH] fix(profile): temporary allow environment in profile transition. Turn out this is the actual source of issues #80 #235: - Some programs do not start well with scrub the environment - Not related to dbus (but dbus was affected) - May concern a lot of profiles As a temporary solution, we convert all Px in px while we find out a proper solution. --- pkg/prebuild/builder/dev.go | 35 +++++++++++++++++++++++++++++++++++ pkg/prebuild/prebuild.go | 1 + 2 files changed, 36 insertions(+) create mode 100644 pkg/prebuild/builder/dev.go diff --git a/pkg/prebuild/builder/dev.go b/pkg/prebuild/builder/dev.go new file mode 100644 index 00000000..3f4840b4 --- /dev/null +++ b/pkg/prebuild/builder/dev.go @@ -0,0 +1,35 @@ +// apparmor.d - Full set of apparmor profiles +// Copyright (C) 2021-2024 Alexandre Pujol <alexandre@pujol.io> +// SPDX-License-Identifier: GPL-2.0-only + +package builder + +import ( + "github.com/roddhjav/apparmor.d/pkg/prebuild/cfg" + "github.com/roddhjav/apparmor.d/pkg/util" +) + +var ( + regDev = util.ToRegexRepl([]string{ + `PUx`, `pux`, + `Px`, `px`, + `Ux`, `ux`, + }) +) + +type Dev struct { + cfg.Base +} + +func init() { + RegisterBuilder(&Dev{ + Base: cfg.Base{ + Keyword: "dev", + Msg: "Apply test development changes", + }, + }) +} + +func (b Dev) Apply(profile string) string { + return regDev.Replace(profile) +} diff --git a/pkg/prebuild/prebuild.go b/pkg/prebuild/prebuild.go index e5fb1fa9..412f465e 100644 --- a/pkg/prebuild/prebuild.go +++ b/pkg/prebuild/prebuild.go @@ -28,6 +28,7 @@ func init() { // Build tasks applied by default builder.Register("userspace") + builder.Register("dev") switch cfg.Distribution { case "ubuntu":