Skip to content

Commit 2d9e4a2

Browse files
BigTailWolfcodyoss
authored andcommitted
oauth2/google: remove meta validations for aws external credentials
Remove the url validations to keep a consistency with other libraries. Change-Id: Icb1767edc000d9695db3f0c7ca271918fb2083f5 GitHub-Last-Rev: af89ee0 GitHub-Pull-Request: #660 Reviewed-on: https://go-review.googlesource.com/c/oauth2/+/522395 Reviewed-by: Leo Siracusa <leosiracusa@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Cody Oss <codyoss@google.com> Run-TryBot: Cody Oss <codyoss@google.com>
1 parent 55cd552 commit 2d9e4a2

File tree

3 files changed

+4
-259
lines changed

3 files changed

+4
-259
lines changed

google/internal/externalaccount/aws.go

-43
Original file line numberDiff line numberDiff line change
@@ -274,49 +274,6 @@ type awsRequest struct {
274274
Headers []awsRequestHeader `json:"headers"`
275275
}
276276

277-
func (cs awsCredentialSource) validateMetadataServers() error {
278-
if err := cs.validateMetadataServer(cs.RegionURL, "region_url"); err != nil {
279-
return err
280-
}
281-
if err := cs.validateMetadataServer(cs.CredVerificationURL, "url"); err != nil {
282-
return err
283-
}
284-
return cs.validateMetadataServer(cs.IMDSv2SessionTokenURL, "imdsv2_session_token_url")
285-
}
286-
287-
var validHostnames []string = []string{"169.254.169.254", "fd00:ec2::254"}
288-
289-
func (cs awsCredentialSource) isValidMetadataServer(metadataUrl string) bool {
290-
if metadataUrl == "" {
291-
// Zero value means use default, which is valid.
292-
return true
293-
}
294-
295-
u, err := url.Parse(metadataUrl)
296-
if err != nil {
297-
// Unparseable URL means invalid
298-
return false
299-
}
300-
301-
for _, validHostname := range validHostnames {
302-
if u.Hostname() == validHostname {
303-
// If it's one of the valid hostnames, everything is good
304-
return true
305-
}
306-
}
307-
308-
// hostname not found in our allowlist, so not valid
309-
return false
310-
}
311-
312-
func (cs awsCredentialSource) validateMetadataServer(metadataUrl, urlName string) error {
313-
if !cs.isValidMetadataServer(metadataUrl) {
314-
return fmt.Errorf("oauth2/google: invalid hostname %s for %s", metadataUrl, urlName)
315-
}
316-
317-
return nil
318-
}
319-
320277
func (cs awsCredentialSource) doRequest(req *http.Request) (*http.Response, error) {
321278
if cs.client == nil {
322279
cs.client = oauth2.NewClient(cs.ctx, nil)

0 commit comments

Comments
 (0)