From caae75ff96b5892108f28774a909434265b58d58 Mon Sep 17 00:00:00 2001 From: xfy Date: Wed, 3 Jun 2026 13:44:22 +0800 Subject: [PATCH] refactor: remove unused validateStatic function and its test --- internal/config/validate.go | 20 ----------- internal/config/validate_test.go | 59 -------------------------------- 2 files changed, 79 deletions(-) diff --git a/internal/config/validate.go b/internal/config/validate.go index 69d9a6e..995df36 100644 --- a/internal/config/validate.go +++ b/internal/config/validate.go @@ -463,26 +463,6 @@ func validatePathConflicts(s *ServerConfig) error { return nil } -// validateStatic 验证静态文件配置。 -// -// 检查静态文件根目录路径的安全性,防止路径遍历攻击。 -// -// 参数: -// - s: 静态文件配置对象 -// -// 返回值: -// - error: 验证失败时返回错误信息,成功返回 nil -func validateStatic(s *StaticConfig) error { - // 静态文件根目录非空时验证路径有效性 - if s.Root != "" { - // 路径安全检查:不允许包含 ".." - if err := ValidatePathTraversal(s.Root, "根目录路径"); err != nil { - return err - } - } - return nil -} - // validateProxy 验证代理配置。 // // 检查代理路径、目标地址和负载均衡算法的有效性。 diff --git a/internal/config/validate_test.go b/internal/config/validate_test.go index c99d154..8cdf157 100644 --- a/internal/config/validate_test.go +++ b/internal/config/validate_test.go @@ -749,65 +749,6 @@ func TestValidateAccess(t *testing.T) { } } -func TestValidateStatic(t *testing.T) { - t.Parallel() - // TestValidateStatic 测试静态文件配置验证。 - tests := []struct { - name string - errMsg string - config StaticConfig - wantErr bool - }{ - { - name: "空配置有效", - config: StaticConfig{}, - wantErr: false, - }, - { - name: "有效根目录", - config: StaticConfig{ - Root: "/var/www/html", - }, - wantErr: false, - }, - { - name: "根目录含..路径遍历", - config: StaticConfig{ - Root: "/var/www/../etc", - }, - wantErr: true, - errMsg: "根目录路径不能包含 '..'", - }, - { - name: "根目录含多个..", - config: StaticConfig{ - Root: "/var/../www/../html", - }, - wantErr: true, - errMsg: "根目录路径不能包含 '..'", - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := validateStatic(&tt.config) - if tt.wantErr { - if err == nil { - t.Errorf("validateStatic() 期望返回错误,但返回 nil") - return - } - if tt.errMsg != "" && !strings.Contains(err.Error(), tt.errMsg) { - t.Errorf("validateStatic() 错误消息不匹配,期望包含 %q,实际 %q", tt.errMsg, err.Error()) - } - } else { - if err != nil { - t.Errorf("validateStatic() 期望返回 nil,但返回错误: %v", err) - } - } - }) - } -} - func TestValidateSecurity(t *testing.T) { t.Parallel() // TestValidateSecurity 测试安全配置验证。