X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_daemon.c;h=0ca1818d462b40e0bdd766c2de45eda6003178ef;hb=d754fa67f418cac48a6722d4d6e44d16fee64648;hp=7406325ce6e4ec6b95f1c7dbd2ef435bd32b4f85;hpb=1f55de123f58e5ec37b6f36c8d2b4716f009a0ef;p=rrdtool.git diff --git a/src/rrd_daemon.c b/src/rrd_daemon.c index 7406325..0ca1818 100644 --- a/src/rrd_daemon.c +++ b/src/rrd_daemon.c @@ -1673,6 +1673,9 @@ static int socket_permission_check (listen_socket_t *sock, /* {{{ */ { ssize_t i; + if (sock == NULL) /* journal replay */ + return (1); + if (cmd == NULL) return (-1); @@ -2387,8 +2390,8 @@ static int open_listen_socket_network(const listen_socket_t *sock) /* {{{ */ fprintf (stderr, "rrdcached: Garbage after address: %s\n", port); return (-1); } - } /* if (*addr = ']') */ - else if (strchr (addr, '.') != NULL) /* Hostname or IPv4 */ + } /* if (*addr == '[') */ + else { port = rindex(addr, ':'); if (port != NULL) @@ -2907,6 +2910,13 @@ static int read_options (int argc, char **argv) /* {{{ */ return (3); } + if (rrd_mkdir_p (config_base_dir, 0777) != 0) + { + fprintf (stderr, "Failed to create base directory '%s': %s\n", + config_base_dir, rrd_strerror (errno)); + return (3); + } + /* make sure that the base directory is not resolved via * symbolic links. this makes some performance-enhancing * assumptions possible (we don't have to resolve paths