mirror of
https://gitclone.com/github.com/MetaCubeX/Clash.Meta
synced 2024-11-14 21:31:16 +08:00
Fixed:Rule-Set Supported RuleExtra
This commit is contained in:
parent
6369921364
commit
b99b4ad15f
@ -46,7 +46,7 @@ func ParseRule(tp, payload, target string, params []string) (C.Rule, error) {
|
||||
case "MATCH":
|
||||
parsed = NewMatch(target, ruleExtra)
|
||||
case "RULE-SET":
|
||||
parsed, parseErr = NewRuleSet(payload, target)
|
||||
parsed, parseErr = NewRuleSet(payload, target, ruleExtra)
|
||||
default:
|
||||
parseErr = fmt.Errorf("unsupported rule type %s", tp)
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ type RuleSet struct {
|
||||
ruleProviderName string
|
||||
adapter string
|
||||
ruleProvider *P.RuleProvider
|
||||
ruleExtra *C.RuleExtra
|
||||
}
|
||||
|
||||
func (rs *RuleSet) RuleType() C.RuleType {
|
||||
@ -44,7 +45,7 @@ func (rs *RuleSet) RuleExtra() *C.RuleExtra {
|
||||
return nil
|
||||
}
|
||||
|
||||
func NewRuleSet(ruleProviderName string, adapter string) (*RuleSet, error) {
|
||||
func NewRuleSet(ruleProviderName string, adapter string, ruleExtra *C.RuleExtra) (*RuleSet, error) {
|
||||
rp, ok := RuleProviders()[ruleProviderName]
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("rule set %s not found", ruleProviderName)
|
||||
@ -53,5 +54,6 @@ func NewRuleSet(ruleProviderName string, adapter string) (*RuleSet, error) {
|
||||
ruleProviderName: ruleProviderName,
|
||||
adapter: adapter,
|
||||
ruleProvider: rp,
|
||||
ruleExtra: ruleExtra,
|
||||
}, nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user