diff --git a/cmd/mtwebmapper/tilesupdater.go b/cmd/mtwebmapper/tilesupdater.go index 04ff529..0a4e6c8 100644 --- a/cmd/mtwebmapper/tilesupdater.go +++ b/cmd/mtwebmapper/tilesupdater.go @@ -96,15 +96,16 @@ func (tu *tileUpdater) checkIP(r *http.Request) bool { return true } - var host []string - if host = strings.SplitN(r.RemoteAddr, ":", 2); len(host) < 1 { + idx := strings.LastIndex(r.RemoteAddr, ":") + if idx < 0 { log.Printf("WARN: cannot extract host from '%s'.\n", r.RemoteAddr) return false } - var ip net.IP - if ip = net.ParseIP(host[0]); ip == nil { - log.Printf("WARN: cannot get IP for host '%s'.\n", host[0]) + host := strings.Trim(r.RemoteAddr[:idx], "[]") + ip := net.ParseIP(host) + if ip == nil { + log.Printf("WARN: cannot get IP for host '%s'.\n", host) return false }