feat(aa): add rule constructors from internal parser.

This commit is contained in:
Alexandre Pujol 2024-06-19 23:22:49 +01:00
parent ac9d6d859f
commit 163c5be61c
No known key found for this signature in database
GPG key ID: C5469996F0DF68EC
19 changed files with 456 additions and 75 deletions

View file

@ -18,17 +18,19 @@ type RuleBase struct {
Optional bool
}
func newRule(rule []string) RuleBase {
func newBase(rule rule) RuleBase {
comment := ""
fileInherit, noNewPrivs, optional := false, false, false
idx := 0
for idx < len(rule) {
if rule[idx] == COMMENT.Tok() {
comment = " " + strings.Join(rule[idx+1:], " ")
break
if len(rule) > 0 {
if len(rule.Get(0)) > 0 && rule.Get(0)[0] == '#' {
// Line rule is a comment
rule = rule[1:]
comment = rule.GetString()
} else {
// Comma rule, with comment at the end
comment = rule[len(rule)-1].comment
}
idx++
}
switch {
case strings.Contains(comment, "file_inherit"):