diff --git a/caddyhttp/log/setup.go b/caddyhttp/log/setup.go index 2366aec0f..47b259781 100644 --- a/caddyhttp/log/setup.go +++ b/caddyhttp/log/setup.go @@ -41,12 +41,13 @@ func logParse(c *caddy.Controller) ([]*Rule, error) { } where := c.Val() - if httpserver.IsLogRollerSubdirective(what) { - var err error - err = httpserver.ParseRoller(logRoller, what, where) - if err != nil { - return nil, err - } + // only support roller related options inside a block + if !httpserver.IsLogRollerSubdirective(what) { + return nil, c.ArgErr() + } + + if err := httpserver.ParseRoller(logRoller, what, where); err != nil { + return nil, err } } diff --git a/caddyhttp/log/setup_test.go b/caddyhttp/log/setup_test.go index f56749c50..d248f394d 100644 --- a/caddyhttp/log/setup_test.go +++ b/caddyhttp/log/setup_test.go @@ -205,6 +205,8 @@ func TestLogParse(t *testing.T) { Format: "{when}", }}, }}}, + {`log access.log { rotate_size }`, true, nil}, + {`log access.log { invalid_option 1 }`, true, nil}, } for i, test := range tests { c := caddy.NewTestController("http", test.inputLogRules)