diff --git a/conf.c b/conf.c index 3db8d4d..e1f5422 100644 --- a/conf.c +++ b/conf.c @@ -1217,6 +1217,7 @@ void conf(struct ctx *c, int argc, char **argv) {"netns-only", no_argument, NULL, 20 }, { 0 }, }; + const char *logname = (c->mode == MODE_PASTA) ? "pasta" : "passt"; char userns[PATH_MAX] = { 0 }, netns[PATH_MAX] = { 0 }; bool copy_addrs_opt = false, copy_routes_opt = false; struct in6_addr *dns6 = c->ip6.dns, dns6_tmp; @@ -1619,10 +1620,10 @@ void conf(struct ctx *c, int argc, char **argv) conf_ugid(runas, &uid, &gid); - if (logfile) { - logfile_init(c->mode == MODE_PASTA ? "pasta" : "passt", - logfile, logsize); - } + if (logfile) + logfile_init(logname, logfile, logsize); + else + __openlog(logname, 0, LOG_DAEMON); if (c->debug) __setlogmask(LOG_UPTO(LOG_DEBUG)); diff --git a/passt.c b/passt.c index 13f3eb6..e4d45da 100644 --- a/passt.c +++ b/passt.c @@ -224,8 +224,6 @@ int main(int argc, char **argv) strncpy(argv0, argv[0], PATH_MAX - 1); name = basename(argv0); if (strstr(name, "pasta")) { - __openlog("pasta", 0, LOG_DAEMON); - sa.sa_handler = pasta_child_handler; if (sigaction(SIGCHLD, &sa, NULL)) die_perror("Couldn't install signal handlers"); @@ -235,8 +233,6 @@ int main(int argc, char **argv) c.mode = MODE_PASTA; } else if (strstr(name, "passt")) { - __openlog("passt", 0, LOG_DAEMON); - c.mode = MODE_PASST; } else { exit(EXIT_FAILURE);