]> source.dussan.org Git - rspamd.git/commitdiff
Improve systemd support diagnostic.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 11 Mar 2015 16:01:27 +0000 (16:01 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 11 Mar 2015 16:01:27 +0000 (16:01 +0000)
src/libserver/cfg_utils.c
src/main.c

index 234f639d45ab2ce3ab58b427adcbee3d73b4a0f0..80e812fe4f6dc08cb91712fe8e9be573ee7229e6 100644 (file)
@@ -113,7 +113,9 @@ rspamd_parse_bind_line (struct rspamd_config *cfg,
                cnf->is_systemd = TRUE;
                cnf->cnt = strtoul (tokens[1], &err, 10);
                cnf->addrs = NULL;
+
                if (err == NULL || *err == '\0') {
+                       cnf->name = rspamd_mempool_strdup (cfg->cfg_pool, str);
                        LL_PREPEND (cf->bind_conf, cnf);
                }
                else {
index 0f2ceb3607ec078be0d10f48860bd4fecffb3cad..8744dc39c467b75d76d12d1e1c291f4c96164856 100644 (file)
@@ -615,9 +615,11 @@ systemd_get_socket (gint number)
                if ((err == NULL || *err == '\0') && num_passed > number) {
                        sock = number + sd_listen_fds_start;
                        if (fstat (sock, &st) == -1) {
+                               msg_warn ("cannot stat systemd descriptor %d", sock);
                                return NULL;
                        }
                        if (!S_ISSOCK (st.st_mode)) {
+                               msg_warn ("systemd descriptor %d is not a socket", sock);
                                errno = EINVAL;
                                return NULL;
                        }
@@ -628,10 +630,13 @@ systemd_get_socket (gint number)
                        result = g_list_prepend (result, GINT_TO_POINTER (sock));
                }
                else if (num_passed <= number) {
+                       msg_warn ("systemd LISTEN_FDS does not contain the expected fd: %d",
+                                       num_passed);
                        errno = EOVERFLOW;
                }
        }
        else {
+               msg_warn ("cannot get systemd variable 'LISTEN_FDS'");
                errno = ENOENT;
        }