X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Femail.c;h=53602053f68ff5dbec087cd8c77358423a3f8436;hp=e1ce21856d79e759759c80acc0888cf5b58d7d22;hb=48efd3deb4c9139fd060ff3d289896e9031bcc7c;hpb=9c6c1bdb92537f307d245c52349d3f196ec4d33d diff --git a/src/email.c b/src/email.c index e1ce2185..53602053 100644 --- a/src/email.c +++ b/src/email.c @@ -40,8 +40,8 @@ #include "collectd.h" -#include "common.h" #include "plugin.h" +#include "utils/common/common.h" #include @@ -111,13 +111,13 @@ static const char *config_keys[] = {"SocketFile", "SocketGroup", "SocketPerms", static int config_keys_num = STATIC_ARRAY_SIZE(config_keys); /* socket configuration */ -static char *sock_file = NULL; -static char *sock_group = NULL; +static char *sock_file; +static char *sock_group; static int sock_perms = S_IRWXU | S_IRWXG; static int max_conns = MAX_CONNS; /* state of the plugin */ -static int disabled = 0; +static int disabled; /* thread managing "client" connections */ static pthread_t connector = (pthread_t)0; @@ -134,7 +134,7 @@ static conn_list_t conns; static pthread_cond_t collector_available = PTHREAD_COND_INITIALIZER; /* collector threads */ -static collector_t **collectors = NULL; +static collector_t **collectors; static pthread_mutex_t available_mutex = PTHREAD_MUTEX_INITIALIZER; static int available_collectors; @@ -174,16 +174,18 @@ static int email_config(const char *key, const char *value) { long int tmp = strtol(value, NULL, 0); if (tmp < 1) { - fprintf(stderr, "email plugin: `MaxConns' was set to invalid " - "value %li, will use default %i.\n", + fprintf(stderr, + "email plugin: `MaxConns' was set to invalid " + "value %li, will use default %i.\n", tmp, MAX_CONNS); ERROR("email plugin: `MaxConns' was set to invalid " "value %li, will use default %i.\n", tmp, MAX_CONNS); max_conns = MAX_CONNS; } else if (tmp > MAX_CONNS_LIMIT) { - fprintf(stderr, "email plugin: `MaxConns' was set to invalid " - "value %li, will use hardcoded limit %i.\n", + fprintf(stderr, + "email plugin: `MaxConns' was set to invalid " + "value %li, will use hardcoded limit %i.\n", tmp, MAX_CONNS_LIMIT); ERROR("email plugin: `MaxConns' was set to invalid " "value %li, will use hardcoded limit %i.\n", @@ -260,23 +262,20 @@ static void *collect(void *arg) { while (42) { /* 256 bytes ought to be enough for anybody ;-) */ char line[256 + 1]; /* line + '\0' */ - int len = 0; errno = 0; if (fgets(line, sizeof(line), this->socket) == NULL) { if (errno != 0) { - char errbuf[1024]; log_err("collect: reading from socket (fd #%i) " "failed: %s", - fileno(this->socket), - sstrerror(errno, errbuf, sizeof(errbuf))); + fileno(this->socket), STRERRNO); } break; } - len = strlen(line); + size_t len = strlen(line); if ((line[len - 1] != '\n') && (line[len - 1] != '\r')) { - log_warn("collect: line too long (> %zu characters): " + log_warn("collect: line too long (> %" PRIsz " characters): " "'%s' (truncated)", sizeof(line) - 1, line); @@ -289,7 +288,7 @@ static void *collect(void *arg) { continue; } - line[len - 1] = 0; + line[len - 1] = '\0'; log_debug("collect: line = '%s'", line); @@ -366,9 +365,8 @@ static void *open_connection(void __attribute__((unused)) * arg) { /* create UNIX socket */ errno = 0; if ((connector_socket = socket(PF_UNIX, SOCK_STREAM, 0)) == -1) { - char errbuf[1024]; disabled = 1; - log_err("socket() failed: %s", sstrerror(errno, errbuf, sizeof(errbuf))); + log_err("socket() failed: %s", STRERRNO); pthread_exit((void *)1); } @@ -381,21 +379,19 @@ static void *open_connection(void __attribute__((unused)) * arg) { if (bind(connector_socket, (struct sockaddr *)&addr, offsetof(struct sockaddr_un, sun_path) + strlen(addr.sun_path)) == -1) { - char errbuf[1024]; disabled = 1; close(connector_socket); connector_socket = -1; - log_err("bind() failed: %s", sstrerror(errno, errbuf, sizeof(errbuf))); + log_err("bind() failed: %s", STRERRNO); pthread_exit((void *)1); } errno = 0; if (listen(connector_socket, 5) == -1) { - char errbuf[1024]; disabled = 1; close(connector_socket); connector_socket = -1; - log_err("listen() failed: %s", sstrerror(errno, errbuf, sizeof(errbuf))); + log_err("listen() failed: %s", STRERRNO); pthread_exit((void *)1); } @@ -414,25 +410,21 @@ static void *open_connection(void __attribute__((unused)) * arg) { grp = NULL; status = getgrnam_r(group, &sg, grbuf, sizeof(grbuf), &grp); if (status != 0) { - char errbuf[1024]; - log_warn("getgrnam_r (%s) failed: %s", group, - sstrerror(status, errbuf, sizeof(errbuf))); + log_warn("getgrnam_r (%s) failed: %s", group, STRERROR(status)); } else if (grp == NULL) { log_warn("No such group: `%s'", group); } else { status = chown(path, (uid_t)-1, grp->gr_gid); if (status != 0) { - char errbuf[1024]; log_warn("chown (%s, -1, %i) failed: %s", path, (int)grp->gr_gid, - sstrerror(errno, errbuf, sizeof(errbuf))); + STRERRNO); } } } errno = 0; if (chmod(path, sock_perms) != 0) { - char errbuf[1024]; - log_warn("chmod() failed: %s", sstrerror(errno, errbuf, sizeof(errbuf))); + log_warn("chmod() failed: %s", STRERRNO); } { /* initialize collector threads */ @@ -454,9 +446,7 @@ static void *open_connection(void __attribute__((unused)) * arg) { if (plugin_thread_create(&collectors[i]->thread, &ptattr, collect, collectors[i], "email collector") != 0) { - char errbuf[1024]; - log_err("plugin_thread_create() failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + log_err("plugin_thread_create() failed: %s", STRERRNO); collectors[i]->thread = (pthread_t)0; } } @@ -484,16 +474,13 @@ static void *open_connection(void __attribute__((unused)) * arg) { remote = accept(connector_socket, NULL, NULL); if (remote == -1) { - char errbuf[1024]; - if (errno == EINTR) continue; disabled = 1; close(connector_socket); connector_socket = -1; - log_err("accept() failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + log_err("accept() failed: %s", STRERRNO); pthread_exit((void *)1); } @@ -538,10 +525,8 @@ static void *open_connection(void __attribute__((unused)) * arg) { static int email_init(void) { if (plugin_thread_create(&connector, NULL, open_connection, NULL, "email listener") != 0) { - char errbuf[1024]; disabled = 1; - log_err("plugin_thread_create() failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + log_err("plugin_thread_create() failed: %s", STRERRNO); return -1; }