diff --git a/caddyhttp/httpserver/plugin.go b/caddyhttp/httpserver/plugin.go index b6fa575e..8d89ccb3 100644 --- a/caddyhttp/httpserver/plugin.go +++ b/caddyhttp/httpserver/plugin.go @@ -70,7 +70,7 @@ func hideCaddyfile(cctx caddy.Context) error { return err } if strings.HasPrefix(absOriginCaddyfile, absRoot) { - cfg.HiddenFiles = append(cfg.HiddenFiles, strings.TrimPrefix(absOriginCaddyfile, absRoot)) + cfg.HiddenFiles = append(cfg.HiddenFiles, filepath.ToSlash(strings.TrimPrefix(absOriginCaddyfile, absRoot))) } } return nil diff --git a/caddyhttp/httpserver/plugin_test.go b/caddyhttp/httpserver/plugin_test.go index 49bb54e6..34781388 100644 --- a/caddyhttp/httpserver/plugin_test.go +++ b/caddyhttp/httpserver/plugin_test.go @@ -209,3 +209,27 @@ func TestContextSaveConfig(t *testing.T) { t.Errorf("Expected len(siteConfigs) == %d, but was %d", want, got) } } + +// Test to make sure we are correctly hiding the Caddyfile +func TestHideCaddyfile(t *testing.T) { + ctx := newContext().(*httpContext) + ctx.saveConfig("test", &SiteConfig{ + Root: Root, + originCaddyfile: "Testfile", + }) + err := hideCaddyfile(ctx) + if err != nil { + t.Fatalf("Failed to hide Caddyfile, got: %v", err) + return + } + if len(ctx.siteConfigs[0].HiddenFiles) == 0 { + t.Fatal("Failed to add Caddyfile to HiddenFiles.") + return + } + for _, file := range ctx.siteConfigs[0].HiddenFiles { + if file == "/Testfile" { + return + } + } + t.Fatal("Caddyfile missing from HiddenFiles") +}