Browse Source

fix broken insecureskipverify handling in rediss connection uris (#20967)

fixes regression #19213
tags/v1.18.0-rc0
Igor Rzegocki 1 year ago
parent
commit
354ebe4610
No account linked to committer's email address
2 changed files with 20 additions and 2 deletions
  1. 2
    2
      modules/nosql/manager_redis.go
  2. 18
    0
      modules/nosql/manager_redis_test.go

+ 2
- 2
modules/nosql/manager_redis.go View File

@@ -245,7 +245,7 @@ func getRedisTLSOptions(uri *url.URL) *tls.Config {

if len(skipverify) > 0 {
skipverify, err := strconv.ParseBool(skipverify)
if err != nil {
if err == nil {
tlsConfig.InsecureSkipVerify = skipverify
}
}
@@ -254,7 +254,7 @@ func getRedisTLSOptions(uri *url.URL) *tls.Config {

if len(insecureskipverify) > 0 {
insecureskipverify, err := strconv.ParseBool(insecureskipverify)
if err != nil {
if err == nil {
tlsConfig.InsecureSkipVerify = insecureskipverify
}
}

+ 18
- 0
modules/nosql/manager_redis_test.go View File

@@ -27,6 +27,24 @@ func TestRedisPasswordOpt(t *testing.T) {
}
}

func TestSkipVerifyOpt(t *testing.T) {
uri, _ := url.Parse("rediss://myredis/0?skipverify=true")
tlsConfig := getRedisTLSOptions(uri)

if !tlsConfig.InsecureSkipVerify {
t.Fail()
}
}

func TestInsecureSkipVerifyOpt(t *testing.T) {
uri, _ := url.Parse("rediss://myredis/0?insecureskipverify=true")
tlsConfig := getRedisTLSOptions(uri)

if !tlsConfig.InsecureSkipVerify {
t.Fail()
}
}

func TestRedisSentinelUsernameOpt(t *testing.T) {
uri, _ := url.Parse("redis+sentinel://redis:password@myredis/0?sentinelusername=suser&sentinelpassword=spass")
opts := getRedisOptions(uri).Failover()

Loading…
Cancel
Save