diff options
author | Francis Lavoie <lavofr@gmail.com> | 2022-09-20 10:09:04 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-20 08:09:04 -0600 |
commit | 821a08a6e39ed0e7c43b0271ccf126c194eb6339 (patch) | |
tree | 3900e490a87626c50c3710e386cec8001aaf0813 | |
parent | e3d04ff86b5bf886bc4c6cf7806987eeda96d163 (diff) |
httpcaddyfile: Fix `protocols` global option parsing (#5054)
* httpcaddyfile: Fix `protocols` global option parsing
When checking for a block, the current nesting must be used, otherwise it returns the wrong thing.
* Adjust adapt test to cover the broken behaviour that is now fixed
* Fix some admin tests which suddenly run even with -short
-rw-r--r-- | admin_test.go | 2 | ||||
-rw-r--r-- | caddyconfig/httpcaddyfile/serveroptions.go | 2 | ||||
-rw-r--r-- | caddytest/integration/caddyfile_adapt/global_server_options_single.txt | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/admin_test.go b/admin_test.go index d53988b..04aa886 100644 --- a/admin_test.go +++ b/admin_test.go @@ -161,7 +161,7 @@ func (fooModule) Stop() error { return nil } func TestETags(t *testing.T) { RegisterModule(fooModule{}) - if err := Load([]byte(`{"apps": {"foo": {"strField": "abc", "intField": 0}}}`), true); err != nil { + if err := Load([]byte(`{"admin": {"listen": "localhost:2999"}, "apps": {"foo": {"strField": "abc", "intField": 0}}}`), true); err != nil { t.Fatalf("loading: %s", err) } diff --git a/caddyconfig/httpcaddyfile/serveroptions.go b/caddyconfig/httpcaddyfile/serveroptions.go index 8e021fd..8ab8969 100644 --- a/caddyconfig/httpcaddyfile/serveroptions.go +++ b/caddyconfig/httpcaddyfile/serveroptions.go @@ -162,7 +162,7 @@ func unmarshalCaddyfileServerOptions(d *caddyfile.Dispenser) (any, error) { } serverOpts.Protocols = append(serverOpts.Protocols, proto) } - if d.NextBlock(0) { + if nesting := d.Nesting(); d.NextBlock(nesting) { return nil, d.ArgErr() } diff --git a/caddytest/integration/caddyfile_adapt/global_server_options_single.txt b/caddytest/integration/caddyfile_adapt/global_server_options_single.txt index cfe6bfd..5fb6739 100644 --- a/caddytest/integration/caddyfile_adapt/global_server_options_single.txt +++ b/caddytest/integration/caddyfile_adapt/global_server_options_single.txt @@ -12,8 +12,8 @@ } max_header_size 100MB log_credentials - strict_sni_host protocols h1 h2 h2c h3 + strict_sni_host } } |