From 3a5932de38fcf8a85897a32a450bf7062396e02e Mon Sep 17 00:00:00 2001 From: evilsocket Date: Tue, 10 Apr 2018 20:04:59 +0200 Subject: [PATCH] misc: small fix or general refactoring i did not bother commenting --- daemon/rule/loader.go | 3 +++ daemon/rule/operator.go | 16 ++-------------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/daemon/rule/loader.go b/daemon/rule/loader.go index 85fe4b35..5dba8dfe 100644 --- a/daemon/rule/loader.go +++ b/daemon/rule/loader.go @@ -64,6 +64,7 @@ func (l *Loader) Load(path string) error { l.rules = make(map[string]*Rule) for _, fileName := range matches { + log.Debug("Reading rule from %s", fileName) raw, err := ioutil.ReadFile(fileName) if err != nil { return fmt.Errorf("Error while reading %s: %s", fileName, err) @@ -76,6 +77,8 @@ func (l *Loader) Load(path string) error { return fmt.Errorf("Error while parsing rule from %s: %s", fileName, err) } + r.Operator.Compile() + log.Debug("Loaded rule from %s: %s", fileName, r.String()) l.rules[r.Name] = &r } diff --git a/daemon/rule/operator.go b/daemon/rule/operator.go index d0c76941..bc6f8d41 100644 --- a/daemon/rule/operator.go +++ b/daemon/rule/operator.go @@ -1,7 +1,6 @@ package rule import ( - "encoding/json" "fmt" "regexp" @@ -45,22 +44,11 @@ func NewOperator(t Type, o Operand, data string) Operator { Operand: o, Data: data, } - op.compile() + op.Compile() return op } -func (o *Operator) UnmarshalJSON(b []byte) error { - err := json.Unmarshal(b, o) - if err != nil { - return err - } - // make sure it's ready to be used after being - // deserialized from a json rule file - o.compile() - return nil -} - -func (o *Operator) compile() { +func (o *Operator) Compile() { if o.Type == Simple { o.cb = o.simpleCmp } else if o.Type == Regexp {