Support redis-cli -u rediss://... (#7900)

(cherry picked from commit efa784d5f24c60b41edb50d61afc2338864c9f39)
This commit is contained in:
Andreas Lind 2020-10-11 17:14:02 +02:00 committed by Oran Agra
parent c6c0155725
commit 2a9f491e0d

View File

@ -384,12 +384,20 @@ static sds percentDecode(const char *pe, size_t len) {
static void parseRedisUri(const char *uri) { static void parseRedisUri(const char *uri) {
const char *scheme = "redis://"; const char *scheme = "redis://";
const char *tlsscheme = "rediss://";
const char *curr = uri; const char *curr = uri;
const char *end = uri + strlen(uri); const char *end = uri + strlen(uri);
const char *userinfo, *username, *port, *host, *path; const char *userinfo, *username, *port, *host, *path;
/* URI must start with a valid scheme. */ /* URI must start with a valid scheme. */
if (strncasecmp(scheme, curr, strlen(scheme))) { if (!strncasecmp(tlsscheme, curr, strlen(tlsscheme))) {
#ifdef USE_OPENSSL
config.tls = 1;
#else
fprintf(stderr,"rediss:// is only supported when redis-cli is compiled with OpenSSL\n");
exit(1);
#endif
} else if (strncasecmp(scheme, curr, strlen(scheme))) {
fprintf(stderr,"Invalid URI scheme\n"); fprintf(stderr,"Invalid URI scheme\n");
exit(1); exit(1);
} }