feat(aa-log): improve the regex helper type.

This commit is contained in:
Alexandre Pujol 2024-03-10 15:53:25 +00:00
parent 84247e390c
commit e3545cc3bb
Failed to generate hash of commit
4 changed files with 12 additions and 9 deletions

View file

@ -71,9 +71,7 @@ func (t *TestSuite) Write(path *paths.Path) error {
`{{`, `{{ `,
`}}`, ` }}`,
})
for _, aa := range regClean {
res = aa.Regex.ReplaceAllLiteralString(res, aa.Repl)
}
res = regClean.Replace(res)
_, err = file.WriteString("---\n" + res)
return err
}

View file

@ -51,9 +51,7 @@ func GetApparmorLogs(file io.Reader, profile string) []string {
// Clean & remove doublon in logs
res = util.DecodeHexInString(res)
for _, aa := range regCleanLogs {
res = aa.Regex.ReplaceAllLiteralString(res, aa.Repl)
}
res = regCleanLogs.Replace(res)
logs := strings.Split(res, "\n")
return util.RemoveDuplicate(logs)
}

View file

@ -184,9 +184,7 @@ func DirectiveStack(file *paths.Path, profile string) string {
panic(fmt.Sprintf("No profile found in %s", name))
}
stackedRules := m[1]
for _, aa := range regCleanStakedRules {
stackedRules = aa.Regex.ReplaceAllLiteralString(stackedRules, aa.Repl)
}
stackedRules = regCleanStakedRules.Replace(stackedRules)
res += " # Stacked profile: " + name + "\n" + stackedRules + "\n"
}

View file

@ -9,6 +9,8 @@ import (
"regexp"
)
type RegexReplList []RegexRepl
type RegexRepl struct {
Regex *regexp.Regexp
Repl string
@ -58,3 +60,10 @@ func ToRegexRepl(in []string) []RegexRepl {
}
return out
}
func (rr RegexReplList) Replace(str string) string {
for _, aa := range rr {
str = aa.Regex.ReplaceAllLiteralString(str, aa.Repl)
}
return str
}