@@ -3,6 +3,7 @@ package options
33import (
44 "time"
55
6+ "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/util/ptr"
67 . "github.com/onsi/ginkgo/v2"
78 . "github.com/onsi/gomega"
89)
@@ -26,7 +27,6 @@ var _ = Describe("Legacy Options", func() {
2627 legacyOpts.LegacyProvider.ClientID = "oauth-proxy"
2728 legacyOpts.LegacyUpstreams.DisableKeepAlives = false
2829
29− truth := true
3030 staticCode := 204
3131 opts.UpstreamServers = UpstreamConfig{
3232 Upstreams: []Upstream{
@@ -35,35 +35,35 @@ var _ = Describe("Legacy Options", func() {
3535 Path: "/baz",
3636 URI: "http://foo.bar/baz",
3737 FlushInterval: &flushInterval,
38− InsecureSkipTLSVerify: true,
39− PassHostHeader: &truth,
40− ProxyWebSockets: &truth,
38+ InsecureSkipTLSVerify: ptr.Ptr(true),
39+ PassHostHeader: ptr.Ptr(true),
40+ ProxyWebSockets: ptr.Ptr(true),
4141 Timeout: &timeout,
42− DisableKeepAlives: legacyOpts.LegacyUpstreams.DisableKeepAlives,
42+ DisableKeepAlives: &legacyOpts.LegacyUpstreams.DisableKeepAlives,
4343 },
4444 {
4545 ID: "/bar",
4646 Path: "/bar",
4747 URI: "file:///var/lib/website",
4848 FlushInterval: &flushInterval,
49− InsecureSkipTLSVerify: true,
50− PassHostHeader: &truth,
51− ProxyWebSockets: &truth,
49+ InsecureSkipTLSVerify: ptr.Ptr(true),
50+ PassHostHeader: ptr.Ptr(true),
51+ ProxyWebSockets: ptr.Ptr(true),
5252 Timeout: &timeout,
53− DisableKeepAlives: legacyOpts.LegacyUpstreams.DisableKeepAlives,
53+ DisableKeepAlives: &legacyOpts.LegacyUpstreams.DisableKeepAlives,
5454 },
5555 {
5656 ID: "static://204",
5757 Path: "/",
5858 URI: "",
59− Static: true,
59+ Static: ptr.Ptr(true),
6060 StaticCode: &staticCode,
6161 FlushInterval: nil,
62− InsecureSkipTLSVerify: false,
62+ InsecureSkipTLSVerify: ptr.Ptr(false),
6363 PassHostHeader: nil,
6464 ProxyWebSockets: nil,
6565 Timeout: nil,
66− DisableKeepAlives: legacyOpts.LegacyUpstreams.DisableKeepAlives,
66+ DisableKeepAlives: &legacyOpts.LegacyUpstreams.DisableKeepAlives,
6767 },
6868 },
6969 }
@@ -71,7 +71,7 @@ var _ = Describe("Legacy Options", func() {
7171 opts.InjectRequestHeaders = []Header{
7272 {
7373 Name: "X-Forwarded-Groups",
74− PreserveRequestValue: false,
74+ PreserveRequestValue: ptr.Ptr(false),
7575 Values: []HeaderValue{
7676 {
7777 ClaimSource: &ClaimSource{
@@ -82,7 +82,7 @@ var _ = Describe("Legacy Options", func() {
8282 },
8383 {
8484 Name: "X-Forwarded-User",
85− PreserveRequestValue: false,
85+ PreserveRequestValue: ptr.Ptr(false),
8686 Values: []HeaderValue{
8787 {
8888 ClaimSource: &ClaimSource{
@@ -93,7 +93,7 @@ var _ = Describe("Legacy Options", func() {
9393 },
9494 {
9595 Name: "X-Forwarded-Email",
96− PreserveRequestValue: false,
96+ PreserveRequestValue: ptr.Ptr(false),
9797 Values: []HeaderValue{
9898 {
9999 ClaimSource: &ClaimSource{
@@ -104,7 +104,7 @@ var _ = Describe("Legacy Options", func() {
104104 },
105105 {
106106 Name: "X-Forwarded-Preferred-Username",
107− PreserveRequestValue: false,
107+ PreserveRequestValue: ptr.Ptr(false),
108108 Values: []HeaderValue{
109109 {
110110 ClaimSource: &ClaimSource{
@@ -123,7 +123,7 @@ var _ = Describe("Legacy Options", func() {
123123
124124 opts.Providers[0].ClientID = "oauth-proxy"
125125 opts.Providers[0].ID = "google=oauth-proxy"
126− opts.Providers[0].OIDCConfig.InsecureSkipNonce = true
126+ opts.Providers[0].OIDCConfig.InsecureSkipNonce = ptr.Ptr(true)
127127 opts.Providers[0].OIDCConfig.AudienceClaims = []string{"aud"}
128128 opts.Providers[0].OIDCConfig.ExtraAudiences = []string{}
129129 opts.Providers[0].LoginURLParameters = []LoginURLParameter{
@@ -157,12 +157,12 @@ var _ = Describe("Legacy Options", func() {
157157 ID: "/baz",
158158 Path: "/baz",
159159 URI: validHTTP,
160− InsecureSkipTLSVerify: skipVerify,
160+ InsecureSkipTLSVerify: &skipVerify,
161161 PassHostHeader: &passHostHeader,
162162 ProxyWebSockets: &proxyWebSockets,
163163 FlushInterval: &flushInterval,
164164 Timeout: &timeout,
165− DisableKeepAlives: disableKeepAlives,
165+ DisableKeepAlives: &disableKeepAlives,
166166 }
167167
168168 // Test cases and expected outcomes
@@ -171,12 +171,12 @@ var _ = Describe("Legacy Options", func() {
171171 ID: "/",
172172 Path: "/",
173173 URI: emptyPathHTTP,
174− InsecureSkipTLSVerify: skipVerify,
174+ InsecureSkipTLSVerify: &skipVerify,
175175 PassHostHeader: &passHostHeader,
176176 ProxyWebSockets: &proxyWebSockets,
177177 FlushInterval: &flushInterval,
178178 Timeout: &timeout,
179− DisableKeepAlives: disableKeepAlives,
179+ DisableKeepAlives: &disableKeepAlives,
180180 }
181181
182182 validFileWithFragment := "file:///var/lib/website#/bar"
@@ -184,12 +184,12 @@ var _ = Describe("Legacy Options", func() {
184184 ID: "/bar",
185185 Path: "/bar",
186186 URI: "file:///var/lib/website",
187− InsecureSkipTLSVerify: skipVerify,
187+ InsecureSkipTLSVerify: &skipVerify,
188188 PassHostHeader: &passHostHeader,
189189 ProxyWebSockets: &proxyWebSockets,
190190 FlushInterval: &flushInterval,
191191 Timeout: &timeout,
192− DisableKeepAlives: disableKeepAlives,
192+ DisableKeepAlives: &disableKeepAlives,
193193 }
194194
195195 validStatic := "static://204"
@@ -198,14 +198,14 @@ var _ = Describe("Legacy Options", func() {
198198 ID: validStatic,
199199 Path: "/",
200200 URI: "",
201− Static: true,
201+ Static: ptr.Ptr(true),
202202 StaticCode: &validStaticCode,
203− InsecureSkipTLSVerify: false,
203+ InsecureSkipTLSVerify: ptr.Ptr(false),
204204 PassHostHeader: nil,
205205 ProxyWebSockets: nil,
206206 FlushInterval: nil,
207207 Timeout: nil,
208− DisableKeepAlives: false,
208+ DisableKeepAlives: ptr.Ptr(false),
209209 }
210210
211211 invalidStatic := "static://abc"
@@ -214,14 +214,14 @@ var _ = Describe("Legacy Options", func() {
214214 ID: invalidStatic,
215215 Path: "/",
216216 URI: "",
217− Static: true,
217+ Static: ptr.Ptr(true),
218218 StaticCode: &invalidStaticCode,
219− InsecureSkipTLSVerify: false,
219+ InsecureSkipTLSVerify: ptr.Ptr(false),
220220 PassHostHeader: nil,
221221 ProxyWebSockets: nil,
222222 FlushInterval: nil,
223223 Timeout: nil,
224− DisableKeepAlives: false,
224+ DisableKeepAlives: ptr.Ptr(false),
225225 }
226226
227227 invalidHTTP := ":foo"
@@ -308,13 +308,13 @@ var _ = Describe("Legacy Options", func() {
308308 }
309309
310310 withPreserveRequestValue := func(h Header, preserve bool) Header {
311− h.PreserveRequestValue = preserve
311+ h.PreserveRequestValue = &preserve
312312 return h
313313 }
314314
315315 xForwardedUser := Header{
316316 Name: "X-Forwarded-User",
317− PreserveRequestValue: false,
317+ PreserveRequestValue: ptr.Ptr(false),
318318 Values: []HeaderValue{
319319 {
320320 ClaimSource: &ClaimSource{
@@ -326,7 +326,7 @@ var _ = Describe("Legacy Options", func() {
326326
327327 xForwardedEmail := Header{
328328 Name: "X-Forwarded-Email",
329− PreserveRequestValue: false,
329+ PreserveRequestValue: ptr.Ptr(false),
330330 Values: []HeaderValue{
331331 {
332332 ClaimSource: &ClaimSource{
@@ -338,7 +338,7 @@ var _ = Describe("Legacy Options", func() {
338338
339339 xForwardedGroups := Header{
340340 Name: "X-Forwarded-Groups",
341− PreserveRequestValue: false,
341+ PreserveRequestValue: ptr.Ptr(false),
342342 Values: []HeaderValue{
343343 {
344344 ClaimSource: &ClaimSource{
@@ -350,7 +350,7 @@ var _ = Describe("Legacy Options", func() {
350350
351351 xForwardedPreferredUsername := Header{
352352 Name: "X-Forwarded-Preferred-Username",
353− PreserveRequestValue: false,
353+ PreserveRequestValue: ptr.Ptr(false),
354354 Values: []HeaderValue{
355355 {
356356 ClaimSource: &ClaimSource{
@@ -362,7 +362,7 @@ var _ = Describe("Legacy Options", func() {
362362
363363 basicAuthHeader := Header{
364364 Name: "Authorization",
365− PreserveRequestValue: false,
365+ PreserveRequestValue: ptr.Ptr(false),
366366 Values: []HeaderValue{
367367 {
368368 ClaimSource: &ClaimSource{
@@ -378,7 +378,7 @@ var _ = Describe("Legacy Options", func() {
378378
379379 xForwardedUserWithEmail := Header{
380380 Name: "X-Forwarded-User",
381− PreserveRequestValue: false,
381+ PreserveRequestValue: ptr.Ptr(false),
382382 Values: []HeaderValue{
383383 {
384384 ClaimSource: &ClaimSource{
@@ -390,7 +390,7 @@ var _ = Describe("Legacy Options", func() {
390390
391391 xForwardedAccessToken := Header{
392392 Name: "X-Forwarded-Access-Token",
393− PreserveRequestValue: false,
393+ PreserveRequestValue: ptr.Ptr(false),
394394 Values: []HeaderValue{
395395 {
396396 ClaimSource: &ClaimSource{
@@ -402,7 +402,7 @@ var _ = Describe("Legacy Options", func() {
402402
403403 basicAuthHeaderWithEmail := Header{
404404 Name: "Authorization",
405− PreserveRequestValue: false,
405+ PreserveRequestValue: ptr.Ptr(false),
406406 Values: []HeaderValue{
407407 {
408408 ClaimSource: &ClaimSource{
@@ -418,7 +418,7 @@ var _ = Describe("Legacy Options", func() {
418418
419419 xAuthRequestUser := Header{
420420 Name: "X-Auth-Request-User",
421− PreserveRequestValue: false,
421+ PreserveRequestValue: ptr.Ptr(false),
422422 Values: []HeaderValue{
423423 {
424424 ClaimSource: &ClaimSource{
@@ -430,7 +430,7 @@ var _ = Describe("Legacy Options", func() {
430430
431431 xAuthRequestEmail := Header{
432432 Name: "X-Auth-Request-Email",
433− PreserveRequestValue: false,
433+ PreserveRequestValue: ptr.Ptr(false),
434434 Values: []HeaderValue{
435435 {
436436 ClaimSource: &ClaimSource{
@@ -442,7 +442,7 @@ var _ = Describe("Legacy Options", func() {
442442
443443 xAuthRequestGroups := Header{
444444 Name: "X-Auth-Request-Groups",
445− PreserveRequestValue: false,
445+ PreserveRequestValue: ptr.Ptr(false),
446446 Values: []HeaderValue{
447447 {
448448 ClaimSource: &ClaimSource{
@@ -454,7 +454,7 @@ var _ = Describe("Legacy Options", func() {
454454
455455 xAuthRequestPreferredUsername := Header{
456456 Name: "X-Auth-Request-Preferred-Username",
457− PreserveRequestValue: false,
457+ PreserveRequestValue: ptr.Ptr(false),
458458 Values: []HeaderValue{
459459 {
460460 ClaimSource: &ClaimSource{
@@ -466,7 +466,7 @@ var _ = Describe("Legacy Options", func() {
466466
467467 xAuthRequestAccessToken := Header{
468468 Name: "X-Auth-Request-Access-Token",
469− PreserveRequestValue: false,
469+ PreserveRequestValue: ptr.Ptr(false),
470470 Values: []HeaderValue{
471471 {
472472 ClaimSource: &ClaimSource{
@@ -478,7 +478,7 @@ var _ = Describe("Legacy Options", func() {
478478
479479 authorizationHeader := Header{
480480 Name: "Authorization",
481− PreserveRequestValue: false,
481+ PreserveRequestValue: ptr.Ptr(false),
482482 Values: []HeaderValue{
483483 {
484484 ClaimSource: &ClaimSource{