diff options
author | Francis Lavoie <[email protected]> | 2022-09-20 10:09:04 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2022-09-20 08:09:04 -0600 |
commit | 821a08a6e39ed0e7c43b0271ccf126c194eb6339 (patch) | |
tree | 3900e490a87626c50c3710e386cec8001aaf0813 | |
parent | e3d04ff86b5bf886bc4c6cf7806987eeda96d163 (diff) | |
download | caddy-821a08a6e39ed0e7c43b0271ccf126c194eb6339.tar.gz caddy-821a08a6e39ed0e7c43b0271ccf126c194eb6339.zip |
httpcaddyfile: Fix `protocols` global option parsing (#5054)v2.6.0
* 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 d53988b34..04aa8867f 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 8e021fd5d..8ab8969de 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 cfe6bfdfe..5fb673929 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 } } |