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?