X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/85238765033e2fa89b1879383421d5a8aafff17f..07ac2daaaa6c844cc3171c8f01ad5ad7e786e2ea:/src/config.c diff --git a/src/config.c b/src/config.c index 1c666ddf..9f71aaf6 100644 --- a/src/config.c +++ b/src/config.c @@ -74,6 +74,7 @@ void loadServerConfig(char *filename) { } else if (!strcasecmp(argv[0],"unixsocket") && argc == 2) { server.unixsocket = zstrdup(argv[1]); } else if (!strcasecmp(argv[0],"unixsocketperm") && argc == 2) { + errno = 0; server.unixsocketperm = (mode_t)strtol(argv[1], NULL, 8); if (errno || server.unixsocketperm > 0777) { err = "Invalid socket file permissions"; goto loaderr; @@ -193,6 +194,18 @@ void loadServerConfig(char *filename) { server.masterhost = sdsnew(argv[1]); server.masterport = atoi(argv[2]); server.replstate = REDIS_REPL_CONNECT; + } else if (!strcasecmp(argv[0],"repl-ping-slave-period") && argc == 2) { + server.repl_ping_slave_period = atoi(argv[1]); + if (server.repl_ping_slave_period <= 0) { + err = "repl-ping-slave-period must be 1 or greater"; + goto loaderr; + } + } else if (!strcasecmp(argv[0],"repl-timeout") && argc == 2) { + server.repl_timeout = atoi(argv[1]); + if (server.repl_timeout <= 0) { + err = "repl-timeout must be 1 or greater"; + goto loaderr; + } } else if (!strcasecmp(argv[0],"masterauth") && argc == 2) { server.masterauth = zstrdup(argv[1]); } else if (!strcasecmp(argv[0],"slave-serve-stale-data") && argc == 2) { @@ -344,7 +357,7 @@ void configSetCommand(redisClient *c) { server.dbfilename = zstrdup(o->ptr); } else if (!strcasecmp(c->argv[2]->ptr,"requirepass")) { zfree(server.requirepass); - server.requirepass = zstrdup(o->ptr); + server.requirepass = ((char*)o->ptr)[0] ? zstrdup(o->ptr) : NULL; } else if (!strcasecmp(c->argv[2]->ptr,"masterauth")) { zfree(server.masterauth); server.masterauth = zstrdup(o->ptr);