Skip to content
Snippets Groups Projects
Commit 5b3da585 authored by Rohith's avatar Rohith
Browse files

- fixing the forwarding domains check

parent 04403a8c
Branches
Tags
No related merge requests found
......@@ -219,7 +219,7 @@ func (r *oauthProxy) forwardProxyHandler() gin.HandlerFunc {
// step: does the host being signed?
// a) if the forwarding domain set and we are NOT in the list, just forward it
// b) else the list is zero (meaning sign all requests) or we are in the list
if len(r.config.ForwardingDomains) > 0 && !containedIn(hostname, r.config.ForwardingDomains) {
if len(r.config.ForwardingDomains) > 0 && !containsSubString(hostname, r.config.ForwardingDomains) {
goto PROXY
}
......
......@@ -202,6 +202,16 @@ func TestContainedIn(t *testing.T) {
assert.True(t, containedIn("1", []string{"1", "2", "3", "4"}))
}
func TestContainsSubString(t *testing.T) {
assert.True(t, containsSubString("svc.cluster.local", []string{"nginx.pr1.svc.cluster.local"}))
assert.True(t, containsSubString("cluster.local", []string{"nginx.pr1.svc.cluster.local"}))
assert.True(t, containsSubString("pr1", []string{"nginx.pr1.svc.cluster.local"}))
}
func BenchmarkContainsSubString(t *testing.B) {
containsSubString("svc.cluster.local", []string{"nginx.pr1.svc.cluster.local"})
}
func TestDialAddress(t *testing.T) {
assert.Equal(t, dialAddress(getFakeURL("http://127.0.0.1")), "127.0.0.1:80")
assert.Equal(t, dialAddress(getFakeURL("https://127.0.0.1")), "127.0.0.1:443")
......
......@@ -261,6 +261,19 @@ func containedIn(value string, list []string) bool {
return false
}
//
// containsSubString checks if substring exists
//
func containsSubString(value string, list []string) bool {
for _, x := range list {
if strings.Contains(x, value) {
return true
}
}
return false
}
//
// tryDialEndpoint dials the upstream endpoint via plain
//
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment