projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'collectd-5.8'
[collectd.git]
/
src
/
daemon
/
collectd.c
diff --git
a/src/daemon/collectd.c
b/src/daemon/collectd.c
index
5dfe7c3
..
517eec7
100644
(file)
--- a/
src/daemon/collectd.c
+++ b/
src/daemon/collectd.c
@@
-76,37
+76,41
@@
static void sig_usr1_handler(int __attribute__((unused)) signal) {
}
static int init_hostname(void) {
}
static int init_hostname(void) {
- const char *str;
-
- struct addrinfo *ai_list;
- int status;
-
- str = global_option_get("Hostname");
+ const char *str = global_option_get("Hostname");
if ((str != NULL) && (str[0] != 0)) {
if ((str != NULL) && (str[0] != 0)) {
-
sstrncpy(hostname_g, str, hostname_g_size
);
+
hostname_set(str
);
return 0;
}
return 0;
}
- if (gethostname(hostname_g, hostname_g_size) != 0) {
+ long hostname_len = sysconf(_SC_HOST_NAME_MAX);
+ if (hostname_len == -1) {
+ hostname_len = NI_MAXHOST;
+ }
+ char hostname[hostname_len];
+
+ if (gethostname(hostname, hostname_len) != 0) {
fprintf(stderr, "`gethostname' failed and no "
"hostname was configured.\n");
return -1;
}
fprintf(stderr, "`gethostname' failed and no "
"hostname was configured.\n");
return -1;
}
+ hostname_set(hostname);
+
str = global_option_get("FQDNLookup");
if (IS_FALSE(str))
return 0;
str = global_option_get("FQDNLookup");
if (IS_FALSE(str))
return 0;
+ struct addrinfo *ai_list;
struct addrinfo ai_hints = {.ai_flags = AI_CANONNAME};
struct addrinfo ai_hints = {.ai_flags = AI_CANONNAME};
-
status = getaddrinfo(hostname_g
, NULL, &ai_hints, &ai_list);
+
int status = getaddrinfo(hostname
, NULL, &ai_hints, &ai_list);
if (status != 0) {
ERROR("Looking up \"%s\" failed. You have set the "
"\"FQDNLookup\" option, but I cannot resolve "
"my hostname to a fully qualified domain "
"name. Please fix the network "
"configuration.",
if (status != 0) {
ERROR("Looking up \"%s\" failed. You have set the "
"\"FQDNLookup\" option, but I cannot resolve "
"my hostname to a fully qualified domain "
"name. Please fix the network "
"configuration.",
- hostname
_g
);
+ hostname);
return -1;
}
return -1;
}
@@
-115,7
+119,7
@@
static int init_hostname(void) {
if (ai_ptr->ai_canonname == NULL)
continue;
if (ai_ptr->ai_canonname == NULL)
continue;
-
sstrncpy(hostname_g, ai_ptr->ai_canonname, hostname_g_siz
e);
+
hostname_set(ai_ptr->ai_canonnam
e);
break;
}
break;
}
@@
-155,8
+159,7
@@
static int change_basedir(const char *orig_dir, _Bool create) {
dir = strdup(orig_dir);
if (dir == NULL) {
dir = strdup(orig_dir);
if (dir == NULL) {
- char errbuf[1024];
- ERROR("strdup failed: %s", sstrerror(errno, errbuf, sizeof(errbuf)));
+ ERROR("strdup failed: %s", STRERRNO);
return -1;
}
return -1;
}
@@
-174,27
+177,21
@@
static int change_basedir(const char *orig_dir, _Bool create) {
free(dir);
return 0;
} else if (!create || (errno != ENOENT)) {
free(dir);
return 0;
} else if (!create || (errno != ENOENT)) {
- char errbuf[1024];
- ERROR("change_basedir: chdir (%s): %s", dir,
- sstrerror(errno, errbuf, sizeof(errbuf)));
+ ERROR("change_basedir: chdir (%s): %s", dir, STRERRNO);
free(dir);
return -1;
}
status = mkdir(dir, S_IRWXU | S_IRWXG | S_IRWXO);
if (status != 0) {
free(dir);
return -1;
}
status = mkdir(dir, S_IRWXU | S_IRWXG | S_IRWXO);
if (status != 0) {
- char errbuf[1024];
- ERROR("change_basedir: mkdir (%s): %s", dir,
- sstrerror(errno, errbuf, sizeof(errbuf)));
+ ERROR("change_basedir: mkdir (%s): %s", dir, STRERRNO);
free(dir);
return -1;
}
status = chdir(dir);
if (status != 0) {
free(dir);
return -1;
}
status = chdir(dir);
if (status != 0) {
- char errbuf[1024];
- ERROR("change_basedir: chdir (%s): %s", dir,
- sstrerror(errno, errbuf, sizeof(errbuf)));
+ ERROR("change_basedir: chdir (%s): %s", dir, STRERRNO);
free(dir);
return -1;
}
free(dir);
return -1;
}
@@
-318,8
+315,7
@@
static int do_loop(void) {
while ((loop == 0) && (nanosleep(&ts_wait, &ts_wait) != 0)) {
if (errno != EINTR) {
while ((loop == 0) && (nanosleep(&ts_wait, &ts_wait) != 0)) {
if (errno != EINTR) {
- char errbuf[1024];
- ERROR("nanosleep failed: %s", sstrerror(errno, errbuf, sizeof(errbuf)));
+ ERROR("nanosleep failed: %s", STRERRNO);
return -1;
}
}
return -1;
}
}
@@
-338,8
+334,7
@@
static int pidfile_create(void) {
const char *file = global_option_get("PIDFile");
if ((fh = fopen(file, "w")) == NULL) {
const char *file = global_option_get("PIDFile");
if ((fh = fopen(file, "w")) == NULL) {
- char errbuf[1024];
- ERROR("fopen (%s): %s", file, sstrerror(errno, errbuf, sizeof(errbuf)));
+ ERROR("fopen (%s): %s", file, STRERRNO);
return 1;
}
return 1;
}
@@
-407,9
+402,7
@@
static int notify_systemd(void) {
fd = socket(AF_UNIX, SOCK_DGRAM, /* protocol = */ 0);
#endif
if (fd < 0) {
fd = socket(AF_UNIX, SOCK_DGRAM, /* protocol = */ 0);
#endif
if (fd < 0) {
- char errbuf[1024];
- ERROR("creating UNIX socket failed: %s",
- sstrerror(errno, errbuf, sizeof(errbuf)));
+ ERROR("creating UNIX socket failed: %s", STRERRNO);
return 0;
}
return 0;
}
@@
-432,9
+425,7
@@
static int notify_systemd(void) {
if (sendto(fd, buffer, strlen(buffer), MSG_NOSIGNAL, (void *)&su,
(socklen_t)su_size) < 0) {
if (sendto(fd, buffer, strlen(buffer), MSG_NOSIGNAL, (void *)&su,
(socklen_t)su_size) < 0) {
- char errbuf[1024];
- ERROR("sendto(\"%s\") failed: %s", notifysocket,
- sstrerror(errno, errbuf, sizeof(errbuf)));
+ ERROR("sendto(\"%s\") failed: %s", notifysocket, STRERRNO);
close(fd);
return 0;
}
close(fd);
return 0;
}
@@
-584,8
+575,7
@@
int main(int argc, char **argv) {
if ((pid = fork()) == -1) {
/* error */
if ((pid = fork()) == -1) {
/* error */
- char errbuf[1024];
- fprintf(stderr, "fork: %s", sstrerror(errno, errbuf, sizeof(errbuf)));
+ fprintf(stderr, "fork: %s", STRERRNO);
return 1;
} else if (pid != 0) {
/* parent */
return 1;
} else if (pid != 0) {
/* parent */
@@
-638,27
+628,24
@@
int main(int argc, char **argv) {
struct sigaction sig_int_action = {.sa_handler = sig_int_handler};
if (0 != sigaction(SIGINT, &sig_int_action, NULL)) {
struct sigaction sig_int_action = {.sa_handler = sig_int_handler};
if (0 != sigaction(SIGINT, &sig_int_action, NULL)) {
- char errbuf[1024];
ERROR("Error: Failed to install a signal handler for signal INT: %s",
ERROR("Error: Failed to install a signal handler for signal INT: %s",
-
sstrerror(errno, errbuf, sizeof(errbuf))
);
+
STRERRNO
);
return 1;
}
struct sigaction sig_term_action = {.sa_handler = sig_term_handler};
if (0 != sigaction(SIGTERM, &sig_term_action, NULL)) {
return 1;
}
struct sigaction sig_term_action = {.sa_handler = sig_term_handler};
if (0 != sigaction(SIGTERM, &sig_term_action, NULL)) {
- char errbuf[1024];
ERROR("Error: Failed to install a signal handler for signal TERM: %s",
ERROR("Error: Failed to install a signal handler for signal TERM: %s",
-
sstrerror(errno, errbuf, sizeof(errbuf))
);
+
STRERRNO
);
return 1;
}
struct sigaction sig_usr1_action = {.sa_handler = sig_usr1_handler};
if (0 != sigaction(SIGUSR1, &sig_usr1_action, NULL)) {
return 1;
}
struct sigaction sig_usr1_action = {.sa_handler = sig_usr1_handler};
if (0 != sigaction(SIGUSR1, &sig_usr1_action, NULL)) {
- char errbuf[1024];
ERROR("Error: Failed to install a signal handler for signal USR1: %s",
ERROR("Error: Failed to install a signal handler for signal USR1: %s",
-
sstrerror(errno, errbuf, sizeof(errbuf))
);
+
STRERRNO
);
return 1;
}
return 1;
}