Browse Source

caddyhttp: Corrected host label index check (fix #3502)

master
Matthew Holt 5 years ago
parent
commit
77f233a484
  1. 2
      modules/caddyhttp/replacer.go
  2. 4
      modules/caddyhttp/replacer_test.go

2
modules/caddyhttp/replacer.go

@ -172,7 +172,7 @@ func addHTTPVarsToReplacer(repl *caddy.Replacer, req *http.Request, w http.Respo
reqHost = req.Host // OK; assume there was no port
}
hostLabels := strings.Split(reqHost, ".")
if idx > len(hostLabels) {
if idx >= len(hostLabels) {
return "", true
}
return hostLabels[len(hostLabels)-idx-1], true

4
modules/caddyhttp/replacer_test.go

@ -107,6 +107,10 @@ eqp31wM9il1n+guTNyxJd+FzVAH+hCZE5K+tCgVDdVFUlDEHHbS/wqb2PSIoouLV
input: "{http.request.host.labels.1}",
expect: "example",
},
{
input: "{http.request.host.labels.2}",
expect: "<empty>",
},
{
input: "{http.request.tls.cipher_suite}",
expect: "TLS_AES_256_GCM_SHA384",

Loading…
Cancel
Save