From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by passt.top (Postfix, from userid 1000) id CC0505A0058; Thu, 20 Jun 2024 18:15:18 +0200 (CEST) From: Stefano Brivio To: passt-dev@passt.top Subject: [PATCH v5 8/9] conf, passt: Don't call __openlog() if a log file is used Date: Thu, 20 Jun 2024 18:15:17 +0200 Message-ID: <20240620161518.142285-9-sbrivio@redhat.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240620161518.142285-1-sbrivio@redhat.com> References: <20240620161518.142285-1-sbrivio@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: D4FFAGG52CJ3LIGZMAPYRII6UTDWKKFE X-Message-ID-Hash: D4FFAGG52CJ3LIGZMAPYRII6UTDWKKFE X-MailFrom: sbrivio@passt.top X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Yalan Zhang , David Gibson X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: If a log file is configured, we would otherwise open a connection to the system logger (if any), print any message that we might have before we initialise the log file, and then keep that connection around for no particular reason. Call __openlog() as an alternative to the log file setup, instead. This way, we might skip printing some messages during the initialisation phase, but they're probably not really valuable to have in a system log, and we're going to print them to standard error anyway. Suggested-by: David Gibson Signed-off-by: Stefano Brivio Reviewed-by: David Gibson --- conf.c | 9 +++++---- passt.c | 4 ---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/conf.c b/conf.c index 09bf6dd..5a4f559 100644 --- a/conf.c +++ b/conf.c @@ -1220,6 +1220,7 @@ void conf(struct ctx *c, int argc, char **argv) {"no-copy-addrs", no_argument, NULL, 19 }, { 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; @@ -1680,10 +1681,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); -- 2.43.0