What do I see?

If I specify a single protocol, the configuration is parsed without error. However, if I specify multiple, then the parsing always fails with a generic error.

What do I expect to see?

The valid combinations of TLS protocol versions should be accepted.

Environment

Ubuntu bionic Latest stable Redis code, built from source

Steps to reproduce

Single value accepted tls-protocols TLSv1.2

Multiple values fail tls-protocols TLSv1.2 TLSv1.3

error in log Invalid tls-protocols specified. Use a combination of 'TLSv1', 'TLSv1.1', 'TLSv1.2' and 'TLSv1.3'.

Comment From: antirez

ping @yossigo

Comment From: yossigo

@theDogOfPavlov I've just tried to reproduce this on both Ubuntu bionic and focal but it seems to work fine:

127.0.0.1:6379> config get tls-protocols
1) "tls-protocols"
2) ""
127.0.0.1:6379> config set tls-protocols "TLSv1.2 TLSv1.3"
OK
127.0.0.1:6379> config get tls-protocols
1) "tls-protocols"
2) "TLSv1.2 TLSv1.3"

Do you use CONFIG SET or a config file? If you use a config file, make sure you're quoting the string and don't include additional white space:

tls-protocols "TLSv1.2 TLSv1.3"

Comment From: theDogOfPavlov

Haha, I thought I tried everything as far as quoting and delimeters. Yeah, this works. I'll close. Thanks for the quick response!

As a thought though: how about a better example in the TLS config examples, so others don't have the same issue?