]> Cypherpunks repositories - gostls13.git/commit
cmd/go/internal/web: don't follow an infinite number of redirects
authorBaokun Lee <nototon@gmail.com>
Tue, 9 Jun 2020 15:03:35 +0000 (23:03 +0800)
committerJay Conrod <jayconrod@google.com>
Thu, 11 Jun 2020 14:40:28 +0000 (14:40 +0000)
commitf7ba82d68f90e20aa9e6aa973cb6f12321abec71
tree90891ce9fb31076422ab52d65d20380a5f820653
parent5adaa1290ec4a7507c0be56743c237d9bf311055
cmd/go/internal/web: don't follow an infinite number of redirects

We replaced http.DefaultClient with securityPreservingHTTPClient,
but we still need that too many redirects check. This issue introduced
by CL 156838.

We introduce a special path to test rediret requests in the script test
framework. You can specify the number of redirects in the path.

$GOPROXY/redirect/<count>/...

Redirect request sequence details(count=8):

 request:  $GOPROXY/mod/redirect/8/rsc.io/quote/@v/v1.2.0.mod
redirect:  $GOPROXY/mod/redirect/7/rsc.io/quote/@v/v1.2.0.mod
redirect:  $GOPROXY/mod/redirect/6/rsc.io/quote/@v/v1.2.0.mod
redirect:  $GOPROXY/mod/redirect/5/rsc.io/quote/@v/v1.2.0.mod
redirect:  $GOPROXY/mod/redirect/4/rsc.io/quote/@v/v1.2.0.mod
redirect:  $GOPROXY/mod/redirect/3/rsc.io/quote/@v/v1.2.0.mod
redirect:  $GOPROXY/mod/redirect/2/rsc.io/quote/@v/v1.2.0.mod
redirect:  $GOPROXY/mod/redirect/1/rsc.io/quote/@v/v1.2.0.mod
the last:  $GOPROXY/mod/rsc.io/quote/@v/v1.2.0.mod

Fixes #39482

Change-Id: I149a3702b2b616069baeef787b2e4b73afc93b0e
Reviewed-on: https://go-review.googlesource.com/c/go/+/237177
Run-TryBot: Baokun Lee <nototon@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
src/cmd/go/internal/web/http.go
src/cmd/go/proxy_test.go
src/cmd/go/testdata/script/mod_get_too_many_redirects.txt [new file with mode: 0644]