Merge remote-tracking branch 'origin/main'

This commit is contained in:
Snider 2026-03-22 00:57:34 +00:00
commit 0ffc73918a
2 changed files with 26 additions and 1 deletions

View file

@ -102,3 +102,28 @@ func TestCacheDefaults(t *testing.T) {
t.Fatal("expected cache instance")
}
}
func TestGitHubKeys(t *testing.T) {
key := cache.GitHubReposKey("myorg")
if key != "github/myorg/repos" {
t.Errorf("unexpected GitHubReposKey: %q", key)
}
key = cache.GitHubRepoKey("myorg", "myrepo")
if key != "github/myorg/myrepo/meta" {
t.Errorf("unexpected GitHubRepoKey: %q", key)
}
}
func TestPathTraversalRejected(t *testing.T) {
m := coreio.NewMockMedium()
c, err := cache.New(m, "/tmp/cache-traversal", 1*time.Minute)
if err != nil {
t.Fatalf("failed to create cache: %v", err)
}
_, err = c.Path("../../etc/passwd")
if err == nil {
t.Error("expected error for path traversal key, got nil")
}
}

View file

@ -179,7 +179,7 @@ paths, then checks that the result is still a prefix of the base:
```go
if !strings.HasPrefix(absPath, absBase) {
return "", fmt.Errorf("invalid cache key: path traversal attempt")
return "", coreerr.E("cache.Path", "invalid cache key: path traversal attempt", nil)
}
```