From e7d450adb8c81c7e9e7d314206bb9b141718a31a Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Mon, 17 Aug 2020 12:28:20 +0100 Subject: [PATCH] Add SkipClean and UseEncodedPaths to intermediate routers (#1275) --- cmd/dendrite-demo-libp2p/main.go | 4 ++-- cmd/dendrite-demo-yggdrasil/main.go | 4 ++-- cmd/dendritejs/main.go | 4 ++-- internal/setup/base.go | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/cmd/dendrite-demo-libp2p/main.go b/cmd/dendrite-demo-libp2p/main.go index 18c85b3b6..78b6e477b 100644 --- a/cmd/dendrite-demo-libp2p/main.go +++ b/cmd/dendrite-demo-libp2p/main.go @@ -198,12 +198,12 @@ func main() { base.Base.PublicMediaAPIMux, ) - httpRouter := mux.NewRouter() + httpRouter := mux.NewRouter().SkipClean(true).UseEncodedPath() httpRouter.PathPrefix(httputil.InternalPathPrefix).Handler(base.Base.InternalAPIMux) httpRouter.PathPrefix(httputil.PublicClientPathPrefix).Handler(base.Base.PublicClientAPIMux) httpRouter.PathPrefix(httputil.PublicMediaPathPrefix).Handler(base.Base.PublicMediaAPIMux) - libp2pRouter := mux.NewRouter() + libp2pRouter := mux.NewRouter().SkipClean(true).UseEncodedPath() libp2pRouter.PathPrefix(httputil.PublicFederationPathPrefix).Handler(base.Base.PublicFederationAPIMux) libp2pRouter.PathPrefix(httputil.PublicKeyPathPrefix).Handler(base.Base.PublicKeyAPIMux) libp2pRouter.PathPrefix(httputil.PublicMediaPathPrefix).Handler(base.Base.PublicMediaAPIMux) diff --git a/cmd/dendrite-demo-yggdrasil/main.go b/cmd/dendrite-demo-yggdrasil/main.go index 43bbe94fa..f62b0627b 100644 --- a/cmd/dendrite-demo-yggdrasil/main.go +++ b/cmd/dendrite-demo-yggdrasil/main.go @@ -163,12 +163,12 @@ func main() { base.PublicMediaAPIMux, ) - httpRouter := mux.NewRouter() + httpRouter := mux.NewRouter().SkipClean(true).UseEncodedPath() httpRouter.PathPrefix(httputil.InternalPathPrefix).Handler(base.InternalAPIMux) httpRouter.PathPrefix(httputil.PublicClientPathPrefix).Handler(base.PublicClientAPIMux) httpRouter.PathPrefix(httputil.PublicMediaPathPrefix).Handler(base.PublicMediaAPIMux) - yggRouter := mux.NewRouter() + yggRouter := mux.NewRouter().SkipClean(true).UseEncodedPath() yggRouter.PathPrefix(httputil.PublicFederationPathPrefix).Handler(base.PublicFederationAPIMux) yggRouter.PathPrefix(httputil.PublicMediaPathPrefix).Handler(base.PublicMediaAPIMux) diff --git a/cmd/dendritejs/main.go b/cmd/dendritejs/main.go index ada48cd87..ceb252d82 100644 --- a/cmd/dendritejs/main.go +++ b/cmd/dendritejs/main.go @@ -242,12 +242,12 @@ func main() { base.PublicMediaAPIMux, ) - httpRouter := mux.NewRouter() + httpRouter := mux.NewRouter().SkipClean(true).UseEncodedPath() httpRouter.PathPrefix(httputil.InternalPathPrefix).Handler(base.InternalAPIMux) httpRouter.PathPrefix(httputil.PublicClientPathPrefix).Handler(base.PublicClientAPIMux) httpRouter.PathPrefix(httputil.PublicMediaPathPrefix).Handler(base.PublicMediaAPIMux) - libp2pRouter := mux.NewRouter() + libp2pRouter := mux.NewRouter().SkipClean(true).UseEncodedPath() libp2pRouter.PathPrefix(httputil.PublicFederationPathPrefix).Handler(base.PublicFederationAPIMux) libp2pRouter.PathPrefix(httputil.PublicMediaPathPrefix).Handler(base.PublicMediaAPIMux) diff --git a/internal/setup/base.go b/internal/setup/base.go index 854f39f0b..a7b495ebc 100644 --- a/internal/setup/base.go +++ b/internal/setup/base.go @@ -277,7 +277,7 @@ func (b *BaseDendrite) SetupAndServeHTTP( internalAddr, _ := internalHTTPAddr.Address() externalAddr, _ := externalHTTPAddr.Address() - internalRouter := mux.NewRouter() + internalRouter := mux.NewRouter().SkipClean(true).UseEncodedPath() externalRouter := internalRouter internalServ := &http.Server{ @@ -288,7 +288,7 @@ func (b *BaseDendrite) SetupAndServeHTTP( externalServ := internalServ if externalAddr != NoExternalListener && externalAddr != internalAddr { - externalRouter = mux.NewRouter() + externalRouter = mux.NewRouter().SkipClean(true).UseEncodedPath() externalServ = &http.Server{ Addr: string(externalAddr), WriteTimeout: HTTPServerTimeout,