const char *cmd = args[0];
if (cmd == NULL) {
- i_error("%s: Empty command", conn->name);
+ e_error(conn->event, "Empty command");
return 0;
}
args++;
return master_client_process_status(client, args);
if (strcmp(cmd, "STOP") == 0)
return master_client_stop(client, args);
- i_error("%s: Unknown command: %s", conn->name, cmd);
+ e_error(conn->event, "Unknown command: %s", cmd);
return -1;
}
fd = net_accept(service_list->master_fd, NULL, NULL);
if (fd < 0) {
if (fd == -2)
- i_error("net_accept() failed: %m");
+ e_error(service_list->event, "net_accept() failed: %m");
return;
}
fd_close_on_exec(fd, TRUE);
data = t_strdup_printf("KILL\t%s\n", dec2str(process->pid));
if (write(fd, data, strlen(data)) < 0) {
if (errno != EAGAIN)
- i_error("write(anvil process) failed: %m");
+ e_error(process->service->event,
+ "write(anvil process) failed: %m");
return -1;
}
return 0;
if (sd_fds < 0) {
sd_fds = sd_listen_fds(0);
if (sd_fds == -1) {
- i_error("sd_listen_fds() failed: %m");
+ e_error(service_list->event,
+ "sd_listen_fds() failed: %m");
return -1;
}
}
break;
}
if (!found) {
- i_error("systemd listens on port %d, "
+ e_error(service_list->event,
+ "systemd listens on port %d, "
"but it's not configured in Dovecot. "
"Closing.", port);
if (shutdown(fd, SHUT_RDWR) < 0 &&
errno != ENOTCONN)
- i_error("shutdown(%d) failed: %m", fd);
+ e_error(service_list->event,
+ "shutdown(%d) failed: %m", fd);
if (dup2(dev_null_fd, fd) < 0)
- i_error("dup2(%d, %d) failed: %m",
+ e_error(service_list->event,
+ "dup2(%d, %d) failed: %m",
dev_null_fd, fd);
}
}
umask(old_umask);
if (service_list->master_fd == -1) {
- i_error("net_listen_unix(%s) failed: %m", path);
+ e_error(service_list->event,
+ "net_listen_unix(%s) failed: %m", path);
return 0;
}
fd_close_on_exec(service_list->master_fd, TRUE);
break;
}
if (i != new_count && i != old_count) {
- i_error("Can't change anvil's listeners on the fly");
+ e_error(old_service_list->event,
+ "Can't change anvil's listeners on the fly");
return -1;
}
for (i = 0; i < new_count; i++) {
dec2str(process->pid));
if (write(fd, data, strlen(data)) < 0) {
if (errno != EAGAIN)
- i_error("write(log process) failed: %m");
+ e_error(process->service->event,
+ "write(log process) failed: %m");
return -1;
}
return 0;
service_process_notify_deinit(&service_list->log_byes);
if (service_list->master_log_fd[0] != -1) {
if (close(service_list->master_log_fd[0]) < 0)
- i_error("close(master log fd) failed: %m");
+ e_error(service_list->event,
+ "close(master log fd) failed: %m");
if (close(service_list->master_log_fd[1]) < 0)
- i_error("close(master log fd) failed: %m");
+ e_error(service_list->event,
+ "close(master log fd) failed: %m");
service_list->master_log_fd[0] = -1;
service_list->master_log_fd[1] = -1;
}
limit_name = "client_limit";
limit = service->client_limit;
}
- i_warning("service(%s): %s (%u) reached, "
- "client connections are being dropped",
- service->set->name, limit_name, limit);
+ e_warning(service->event,
+ "%s (%u) reached, client connections are being dropped",
+ limit_name, limit);
}
}
return NULL;
}
-static bool linux_proc_fs_suid_is_dumpable(unsigned int *value_r)
+static bool linux_proc_fs_suid_is_dumpable(struct event *event, unsigned int *value_r)
{
int fd = open(LINUX_PROC_FS_SUID_DUMPABLE, O_RDONLY);
if (fd == -1) {
/* we already checked that it exists - shouldn't get here */
- i_error("open(%s) failed: %m", LINUX_PROC_FS_SUID_DUMPABLE);
+ e_error(event,
+ "open(%s) failed: %m", LINUX_PROC_FS_SUID_DUMPABLE);
have_proc_fs_suid_dumpable = FALSE;
return FALSE;
}
char buf[10];
ssize_t ret = read(fd, buf, sizeof(buf)-1);
if (ret < 0) {
- i_error("read(%s) failed: %m", LINUX_PROC_FS_SUID_DUMPABLE);
+ e_error(event,
+ "read(%s) failed: %m", LINUX_PROC_FS_SUID_DUMPABLE);
have_proc_fs_suid_dumpable = FALSE;
*value_r = 0;
} else {
return *value_r != 0;
}
-static bool linux_is_absolute_core_pattern(void)
+static bool linux_is_absolute_core_pattern(struct event *event)
{
int fd = open(LINUX_PROC_SYS_KERNEL_CORE_PATTERN, O_RDONLY);
if (fd == -1) {
/* we already checked that it exists - shouldn't get here */
- i_error("open(%s) failed: %m", LINUX_PROC_SYS_KERNEL_CORE_PATTERN);
+ e_error(event,
+ "open(%s) failed: %m", LINUX_PROC_SYS_KERNEL_CORE_PATTERN);
have_proc_sys_kernel_core_pattern = FALSE;
return FALSE;
}
char buf[10];
ssize_t ret = read(fd, buf, sizeof(buf)-1);
if (ret < 0) {
- i_error("read(%s) failed: %m", LINUX_PROC_SYS_KERNEL_CORE_PATTERN);
+ e_error(event,
+ "read(%s) failed: %m", LINUX_PROC_SYS_KERNEL_CORE_PATTERN);
have_proc_sys_kernel_core_pattern = FALSE;
buf[0] = '\0';
}
path. */
if (!have_proc_fs_suid_dumpable)
;
- else if (!linux_proc_fs_suid_is_dumpable(&dumpable)) {
+ else if (!linux_proc_fs_suid_is_dumpable(service->event, &dumpable)) {
str_printfa(str, " - set %s to 2)", LINUX_PROC_FS_SUID_DUMPABLE);
return;
} else if (dumpable == 2 && have_proc_sys_kernel_core_pattern &&
- !linux_is_absolute_core_pattern()) {
+ !linux_is_absolute_core_pattern(service->event)) {
str_printfa(str, " - set %s to absolute path)",
LINUX_PROC_SYS_KERNEL_CORE_PATTERN);
return;
const char *data;
if (process->service->log_fd[1] == -1) {
- i_error("%s", str);
+ e_error(process->service->event, "%s", str);
return;
}
default_fatal ? "DEFAULT-FATAL" : "FATAL", str);
if (write(process->service->list->master_log_fd[1],
data, strlen(data)) < 0) {
- i_error("write(log process) failed: %m");
- i_error("%s", str);
+ e_error(process->service->event, "write(log process) failed: %m");
+ e_error(process->service->event, "%s", str);
}
}
}
}
if (count > 0 && signo != SIGUSR1) {
- i_warning("Sent %s to %u %s processes",
+ e_warning(service->event, "Sent %s to %u %s processes",
signo == SIGTERM ? "SIGTERM" : "SIGKILL",
count, service->set->name);
}
str_printfa(str, " (%u processes still uninitialized)",
uninitialized_count);
}
- i_warning("%s", str_c(str));
+ e_warning(service_list->event, "%s", str_c(str));
}
}