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

@ -34,6 +34,26 @@ type Unix struct {
PeerAddr string
}
func newUnix(q Qualifier, rule rule) (Rule, error) {
accesses, err := toAccess(UNIX, rule.GetString())
if err != nil {
return nil, err
}
return &Unix{
RuleBase: newBase(rule),
Qualifier: q,
Access: accesses,
Type: rule.GetValuesAsString("type"),
Protocol: rule.GetValuesAsString("protocol"),
Address: rule.GetValuesAsString("addr"),
Label: rule.GetValuesAsString("label"),
Attr: rule.GetValuesAsString("attr"),
Opt: rule.GetValuesAsString("opt"),
PeerLabel: rule.GetValues("peer").GetValuesAsString("label"),
PeerAddr: rule.GetValues("peer").GetValuesAsString("addr"),
}, nil
}
func newUnixFromLog(log map[string]string) Rule {
return &Unix{
RuleBase: newBaseFromLog(log),