Feature: add source ipcidr condition to rule final
This commit is contained in:
@@ -5,7 +5,8 @@ import (
|
||||
)
|
||||
|
||||
type Match struct {
|
||||
adapter string
|
||||
adapter string
|
||||
ruleExtra *C.RuleExtra
|
||||
}
|
||||
|
||||
func (f *Match) RuleType() C.RuleType {
|
||||
@@ -29,11 +30,15 @@ func (f *Match) ShouldResolveIP() bool {
|
||||
}
|
||||
|
||||
func (f *Match) RuleExtra() *C.RuleExtra {
|
||||
return nil
|
||||
return f.ruleExtra
|
||||
}
|
||||
|
||||
func NewMatch(adapter string) *Match {
|
||||
func NewMatch(adapter string, ruleExtra *C.RuleExtra) *Match {
|
||||
if ruleExtra.SourceIPs == nil {
|
||||
ruleExtra = nil
|
||||
}
|
||||
return &Match{
|
||||
adapter: adapter,
|
||||
adapter: adapter,
|
||||
ruleExtra: ruleExtra,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ func ParseRule(tp, payload, target string, params []string) (C.Rule, error) {
|
||||
case "PROCESS-NAME":
|
||||
parsed, parseErr = NewProcess(payload, target, ruleExtra)
|
||||
case "MATCH":
|
||||
parsed = NewMatch(target)
|
||||
parsed = NewMatch(target, ruleExtra)
|
||||
default:
|
||||
parseErr = fmt.Errorf("unsupported rule type %s", tp)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user