diff --git a/internal/caches/list_file_db.go b/internal/caches/list_file_db.go index 5620024..7c3ae32 100644 --- a/internal/caches/list_file_db.go +++ b/internal/caches/list_file_db.go @@ -180,6 +180,9 @@ func (this *FileListDB) Init() error { } this.selectHashListStmt, err = this.readDB.Prepare(`SELECT "id", "hash" FROM "` + this.itemsTableName + `" WHERE id>:id ORDER BY id ASC LIMIT 2000`) + if err != nil { + return err + } this.deleteByHashSQL = `DELETE FROM "` + this.itemsTableName + `" WHERE "hash"=?` this.deleteByHashStmt, err = this.writeDB.Prepare(this.deleteByHashSQL) diff --git a/internal/caches/storage_file.go b/internal/caches/storage_file.go index d573245..ec7758a 100644 --- a/internal/caches/storage_file.go +++ b/internal/caches/storage_file.go @@ -767,6 +767,7 @@ func (this *FileStorage) CleanAll() error { } } + var dirNameReg = regexp.MustCompile(`^[0-9a-f]{2}$`) for _, rootDir := range rootDirs { var dir = rootDir + "/p" + types.String(this.policy.Id) fp, err := os.Open(dir) @@ -795,11 +796,7 @@ func (this *FileStorage) CleanAll() error { subDir := info.Name() // 检查目录名 - ok, err := regexp.MatchString(`^[0-9a-f]{2}$`, subDir) - if err != nil { - return err - } - if !ok { + if !dirNameReg.MatchString(subDir) { continue } diff --git a/internal/utils/get.go b/internal/utils/get.go index ecac7ce..6630f7f 100644 --- a/internal/utils/get.go +++ b/internal/utils/get.go @@ -6,7 +6,7 @@ import ( "regexp" ) -var RegexpDigitNumber = regexp.MustCompile("^\\d+$") +var RegexpDigitNumber = regexp.MustCompile(`^\d+$`) func Get(object interface{}, keys []string) interface{} { if len(keys) == 0 { diff --git a/internal/utils/ranges/range_test.go b/internal/utils/ranges/range_test.go index 73ec1b3..29df200 100644 --- a/internal/utils/ranges/range_test.go +++ b/internal/utils/ranges/range_test.go @@ -67,10 +67,3 @@ func TestRange_ComposeContentRangeHeader(t *testing.T) { var r = rangeutils.NewRange(1, 100) t.Log(r.ComposeContentRangeHeader("1000")) } - -func TestRange_SetLength(t *testing.T) { - var r = rangeutils.NewRange(1, 100) - t.Log(r) - - t.Log(r.SetLength(1024)) -} diff --git a/internal/waf/rule.go b/internal/waf/rule.go index 9bff108..dd927a4 100644 --- a/internal/waf/rule.go +++ b/internal/waf/rule.go @@ -362,13 +362,13 @@ func (this *Rule) Test(value interface{}) bool { return types.Float64(value) != this.floatValue case RuleOperatorEqString: if this.IsCaseInsensitive { - return strings.ToLower(types.String(value)) == strings.ToLower(this.Value) + return strings.EqualFold(types.String(value), this.Value) } else { return types.String(value) == this.Value } case RuleOperatorNeqString: if this.IsCaseInsensitive { - return strings.ToLower(types.String(value)) != strings.ToLower(this.Value) + return !strings.EqualFold(types.String(value), this.Value) } else { return types.String(value) != this.Value }