diff --git a/.github/workflows/Alpha.yml b/.github/workflows/Alpha.yml index 40d59658c..b5f3af246 100644 --- a/.github/workflows/Alpha.yml +++ b/.github/workflows/Alpha.yml @@ -8,7 +8,7 @@ jobs: - name: Get latest go version id: version run: | - echo ::set-output name=go_version::$(curl -s https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json | grep -oE '"version": "[0-9]{1}.[0-9]{1,}(.[0-9]{1,})?"' | head -1 | cut -d':' -f2 | sed 's/ //g; s/"//g') + echo ::set-output name=go_version::$(curl -s https://raw.githubusercontent.com/actions/go-versions/update-versions-manifest-file/versions-manifest.json | grep -oE '"version": "[0-9]{1}.[0-9]{1,}(.[0-9]{1,})?"' | head -1 | cut -d':' -f2 | sed 's/ //g; s/"//g') - name: Setup Go uses: actions/setup-go@v2 with: diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 39890cacc..87202e699 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -8,7 +8,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v1 with: - go-version: 1.17 + go-version: 1.18 - name: Check out code uses: actions/checkout@v1 - name: Build diff --git a/rule/logic/common.go b/rule/logic/common.go index f599df8d4..4b2879cac 100644 --- a/rule/logic/common.go +++ b/rule/logic/common.go @@ -94,7 +94,9 @@ func parseRule(tp, payload string, params []string) (C.Rule, error) { case "DST-PORT": parsed, parseErr = RC.NewPort(payload, "", false, nil) case "PROCESS-NAME": - parsed, parseErr = RC.NewProcess(payload, "", nil) + parsed, parseErr = RC.NewProcess(payload, "", true, nil) + case "PROCESS-PATH": + parsed, parseErr = RC.NewProcess(payload, "", false, nil) case "RULE-SET": parsed, parseErr = provider.NewRuleSet(payload, "", nil) case "NOT": diff --git a/rule/provider/parse.go b/rule/provider/parse.go index 20cdd5574..ec08f121d 100644 --- a/rule/provider/parse.go +++ b/rule/provider/parse.go @@ -81,7 +81,9 @@ func parseRule(tp, payload, target string, params []string) (C.Rule, error) { case "DST-PORT": parsed, parseErr = RC.NewPort(payload, target, false, ruleExtra) case "PROCESS-NAME": - parsed, parseErr = RC.NewProcess(payload, target, ruleExtra) + parsed, parseErr = RC.NewProcess(payload, target, true, ruleExtra) + case "PROCESS-PATH": + parsed, parseErr = RC.NewProcess(payload, target, false, ruleExtra) case "GEOIP": noResolve := RC.HasNoResolve(params) parsed, parseErr = RC.NewGEOIP(payload, target, noResolve, ruleExtra) diff --git a/tunnel/tunnel.go b/tunnel/tunnel.go index 6643bc955..34f069d6e 100644 --- a/tunnel/tunnel.go +++ b/tunnel/tunnel.go @@ -36,7 +36,7 @@ var ( // default timeout for UDP session udpTimeout = 60 * time.Second - preProcessCacheFinder, _ = R.NewProcess("", "", nil) + preProcessCacheFinder, _ = R.NewProcess("", "", false, nil) ) func init() {