[skip ci][内容]
1.修复部分空指针问题 2.修改go.mod
This commit is contained in:
@ -13,20 +13,22 @@ type NetworkType struct {
|
||||
}
|
||||
|
||||
func NewNetworkType(network, adapter string) (*NetworkType, error) {
|
||||
ntType := new(NetworkType)
|
||||
ntType.adapter = adapter
|
||||
var netType C.NetWork
|
||||
switch strings.ToUpper(network) {
|
||||
case "TCP":
|
||||
ntType.network = C.TCP
|
||||
netType = C.TCP
|
||||
break
|
||||
case "UDP":
|
||||
ntType.network = C.UDP
|
||||
netType = C.UDP
|
||||
break
|
||||
default:
|
||||
return nil, fmt.Errorf("unsupported network type, only TCP/UDP")
|
||||
}
|
||||
|
||||
return ntType, nil
|
||||
return &NetworkType{
|
||||
Base: &Base{},
|
||||
network: netType,
|
||||
adapter: adapter,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (n *NetworkType) RuleType() C.RuleType {
|
||||
|
@ -6,7 +6,7 @@ import (
|
||||
)
|
||||
|
||||
type AND struct {
|
||||
common.Base
|
||||
*common.Base
|
||||
rules []C.Rule
|
||||
payload string
|
||||
adapter string
|
||||
@ -18,7 +18,7 @@ func (A *AND) ShouldFindProcess() bool {
|
||||
}
|
||||
|
||||
func NewAND(payload string, adapter string) (*AND, error) {
|
||||
and := &AND{payload: payload, adapter: adapter}
|
||||
and := &AND{Base: &common.Base{}, payload: payload, adapter: adapter}
|
||||
rules, err := parseRuleByPayload(payload)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -111,7 +111,19 @@ func parseRule(tp, payload string, params []string) (C.Rule, error) {
|
||||
parseErr = fmt.Errorf("unsupported rule type %s", tp)
|
||||
}
|
||||
|
||||
return parsed, parseErr
|
||||
if parseErr != nil {
|
||||
return nil, parseErr
|
||||
}
|
||||
|
||||
ruleExtra := &C.RuleExtra{
|
||||
Network: RC.FindNetwork(params),
|
||||
SourceIPs: RC.FindSourceIPs(params),
|
||||
ProcessNames: RC.FindProcessName(params),
|
||||
}
|
||||
|
||||
parsed.SetRuleExtra(ruleExtra)
|
||||
|
||||
return parsed, nil
|
||||
}
|
||||
|
||||
type Range struct {
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
)
|
||||
|
||||
type NOT struct {
|
||||
common.Base
|
||||
*common.Base
|
||||
rule C.Rule
|
||||
payload string
|
||||
adapter string
|
||||
@ -18,7 +18,7 @@ func (not *NOT) ShouldFindProcess() bool {
|
||||
}
|
||||
|
||||
func NewNOT(payload string, adapter string) (*NOT, error) {
|
||||
not := &NOT{payload: payload, adapter: adapter}
|
||||
not := &NOT{Base: &common.Base{}, payload: payload, adapter: adapter}
|
||||
rule, err := parseRuleByPayload(payload)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -6,7 +6,7 @@ import (
|
||||
)
|
||||
|
||||
type OR struct {
|
||||
common.Base
|
||||
*common.Base
|
||||
rules []C.Rule
|
||||
payload string
|
||||
adapter string
|
||||
@ -44,7 +44,7 @@ func (or *OR) ShouldResolveIP() bool {
|
||||
}
|
||||
|
||||
func NewOR(payload string, adapter string) (*OR, error) {
|
||||
or := &OR{payload: payload, adapter: adapter}
|
||||
or := &OR{Base: &common.Base{}, payload: payload, adapter: adapter}
|
||||
rules, err := parseRuleByPayload(payload)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
)
|
||||
|
||||
type RuleSet struct {
|
||||
common.Base
|
||||
*common.Base
|
||||
ruleProviderName string
|
||||
adapter string
|
||||
ruleProvider P.RuleProvider
|
||||
@ -52,6 +52,7 @@ func NewRuleSet(ruleProviderName string, adapter string) (*RuleSet, error) {
|
||||
return nil, fmt.Errorf("rule set %s not found", ruleProviderName)
|
||||
}
|
||||
return &RuleSet{
|
||||
Base: &common.Base{},
|
||||
ruleProviderName: ruleProviderName,
|
||||
adapter: adapter,
|
||||
ruleProvider: rp,
|
||||
|
Reference in New Issue
Block a user