0
Fork 0
mirror of https://github.com/caddyserver/caddy.git synced 2024-12-23 22:27:38 -05:00

Merge pull request #846 from nesl247/fix-845

Strip [] from IPv6 addresses for FastCGI.
This commit is contained in:
Matt Holt 2016-05-24 13:56:55 -06:00
commit 6d9dcb1729
2 changed files with 6 additions and 2 deletions

View file

@ -183,6 +183,10 @@ func (h Handler) buildEnv(r *http.Request, rule Rule, fpath string) (map[string]
ip = r.RemoteAddr ip = r.RemoteAddr
} }
// Remove [] from IPv6 addresses
ip = strings.Replace(ip, "[", "", 1)
ip = strings.Replace(ip, "]", "", 1)
// Split path in preparation for env variables. // Split path in preparation for env variables.
// Previous rule.canSplit checks ensure this can never be -1. // Previous rule.canSplit checks ensure this can never be -1.
splitPos := rule.splitPos(fpath) splitPos := rule.splitPos(fpath)

View file

@ -137,7 +137,7 @@ func TestBuildEnv(t *testing.T) {
fpath := "/fgci_test.php" fpath := "/fgci_test.php"
var envExpected = map[string]string{ var envExpected = map[string]string{
"REMOTE_ADDR": "[2b02:1810:4f2d:9400:70ab:f822:be8a:9093]", "REMOTE_ADDR": "2b02:1810:4f2d:9400:70ab:f822:be8a:9093",
"REMOTE_PORT": "51688", "REMOTE_PORT": "51688",
"SERVER_PROTOCOL": "HTTP/1.1", "SERVER_PROTOCOL": "HTTP/1.1",
"QUERY_STRING": "test=blabla", "QUERY_STRING": "test=blabla",
@ -150,7 +150,7 @@ func TestBuildEnv(t *testing.T) {
// 2. Test for shorthand notation of IPv6 address // 2. Test for shorthand notation of IPv6 address
r.RemoteAddr = "[::1]:51688" r.RemoteAddr = "[::1]:51688"
envExpected["REMOTE_ADDR"] = "[::1]" envExpected["REMOTE_ADDR"] = "::1"
testBuildEnv(&r, rule, fpath, envExpected) testBuildEnv(&r, rule, fpath, envExpected)
// 3. Test for IPv4 address // 3. Test for IPv4 address