]> Cypherpunks repositories - gostls13.git/commit
net/http/httputil: always deep copy the Request.Header map in ReverseProxy
authorBrad Fitzpatrick <bradfitz@golang.org>
Mon, 26 Jun 2017 19:07:24 +0000 (19:07 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Mon, 26 Jun 2017 19:32:47 +0000 (19:32 +0000)
commit3c0f69a52101c69b5a8288195fa74c7ecfa2fa43
tree65397b43e439c2b5f0f78d7ca2a49bef0608d7f2
parent489620d8787a988aea4a083803608b55703f78a6
net/http/httputil: always deep copy the Request.Header map in ReverseProxy

We used to do it sometimes as an optimization, but the optimization is
flawed: in all non-contrived cases we need to deep clone the map
anyway. So do it always, which both simplifies the code but also fixes
the X-Forward-For value leaking to the caller's Request, as well as
modifications from the optional Director func.

Fixes #18327

Change-Id: I0c86d10c557254bf99fdd988227dcb15f968770b
Reviewed-on: https://go-review.googlesource.com/46716
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/net/http/httputil/reverseproxy.go
src/net/http/httputil/reverseproxy_test.go