]> git.feebdaed.xyz Git - 0xmirror/libreswan.git/commitdiff
server: use vdbg_{start,stop}() to time signal handlers
authorAndrew Cagney <cagney@gnu.org>
Mon, 15 Dec 2025 19:40:02 +0000 (14:40 -0500)
committerAndrew Cagney <cagney@gnu.org>
Thu, 18 Dec 2025 00:02:00 +0000 (19:02 -0500)
and pass verbose to callback

programs/pluto/pluto_seccomp.c
programs/pluto/pluto_seccomp.h
programs/pluto/server.c
programs/pluto/server_fork.c
programs/pluto/server_fork.h

index 5756cb864a1dddfe5e44a8d2d7dea5211cf420b5..a4669e1d01b8b71eb922f32b2769528a86192fc0 100644 (file)
@@ -312,20 +312,20 @@ void show_seccomp(const struct config_setup *oco, struct show *s)
        }
 }
 
-void seccomp_sigsys_handler(struct logger *logger)
+void seccomp_sigsys_handler(struct verbose verbose)
 {
        const struct config_setup *oco = config_setup_singleton();
 
        switch (seccomp_mode(oco)) {
        case SECCOMP_ENABLED:
-               fatal(PLUTO_EXIT_SECCOMP_FAIL, logger, /*no-errno*/0,
-                     "pluto received SIGSYS - seccomp=enabled mandates daemon restart");
+               vfatal(PLUTO_EXIT_SECCOMP_FAIL, /*no-errno*/0,
+                      "pluto received SIGSYS - seccomp=enabled mandates daemon restart");
        case SECCOMP_TOLERANT:
-               llog(RC_LOG, logger, "pluto received SIGSYS - seccomp=tolerant - possible SECCOMP violation!");
+               vlog("pluto received SIGSYS - seccomp=tolerant - possible SECCOMP violation!");
                return;
        case SECCOMP_DISABLED:
-               fatal(PLUTO_EXIT_FAIL, logger, /*no-errno*/0,
-                     "pluto received SIGSYS - seccomp=disabled - aborting due to bad system call");
+               vfatal(PLUTO_EXIT_FAIL, /*no-errno*/0,
+                      "pluto received SIGSYS - seccomp=disabled - aborting due to bad system call");
        }
        bad_case(seccomp_mode(oco));
 }
index e9dafcbe6274ac8852a4c5fb554bf404942cdf28..65b5ce682cf5c1c3d329866d5281b64c86b1815d 100644 (file)
@@ -17,6 +17,8 @@
 #ifndef PLUTO_SECCOMP_H
 #define PLUTO_SECCOMP_H
 
+#include "verbose.h"
+
 #include "seccomp_mode.h"
 
 struct config_setup;
@@ -29,6 +31,6 @@ void init_seccomp_helper(struct logger *logger);
 
 void whack_seccomp_crashtest(const struct whack_message *wm, struct show *s);
 void show_seccomp(const struct config_setup *oco, struct show *s);
-void seccomp_sigsys_handler(struct logger *logger);
+void seccomp_sigsys_handler(struct verbose verbose);
 
 #endif
index 0d5798f329fb812664946ef0a4378b58985d255d..faa5549ee81a90ca3eeac3a712debd613b74254d 100644 (file)
@@ -388,7 +388,7 @@ static void list_global_timers(struct show *s, const monotime_t now)
  * Global signal events.
  */
 
-typedef void (signal_handler_cb)(struct logger *logger);
+typedef void (signal_handler_cb)(struct verbose verbose);
 
 struct signal_handler {
        struct event ev;
@@ -413,14 +413,14 @@ static struct signal_handler signal_handlers[] = {
 static void signal_handler_handler(evutil_socket_t fd UNUSED,
                                   const short event, void *arg)
 {
-       struct logger logger[1] = { global_logger, }; /* event-handler */
-       PASSERT(logger, in_main_thread());
-       PASSERT(logger, event & EV_SIGNAL);
+       struct verbose verbose = VERBOSE(DEBUG_STREAM, &global_logger, NULL); /* event-handler */
+       vassert(in_main_thread());
+       vassert(event & EV_SIGNAL);
        struct signal_handler *se = arg;
-       ldbg(logger, "processing signal %s", se->name);
-       threadtime_t start = threadtime_start();
-       se->cb(logger);
-       threadtime_stop(&start, "signal handler %s", se->name);
+       const char *name = se->name; /*save*/
+       vtime_t start = vdbg_start("processing signal %s", name);
+       se->cb(verbose);
+       vdbg_stop(&start, "signal handler %s", name);
 }
 
 static void install_signal_handlers(const struct logger *logger)
@@ -938,14 +938,14 @@ void show_debug_status(struct show *s)
        }
 }
 
-static void huphandler_cb(struct logger *logger)
+static void huphandler_cb(struct verbose verbose)
 {
-       llog(RC_LOG, logger, "Pluto ignores SIGHUP -- perhaps you want \"whack --listen\"");
+       vlog("Pluto ignores SIGHUP -- perhaps you want \"whack --listen\"");
 }
 
-static void termhandler_cb(struct logger *logger)
+static void termhandler_cb(struct verbose verbose)
 {
-       whack_shutdown(logger, PLUTO_EXIT_OK);
+       whack_shutdown(verbose.logger, PLUTO_EXIT_OK);
 }
 
 static server_fork_cb addconn_exited; /* type assertion */
index 36bafc807076071644a85f5b9a62c5fa36d2807a..9d6186f5f64bda04262a193d497a702804635b0d 100644 (file)
@@ -406,7 +406,7 @@ static void jam_status(struct jambuf *buf, int status)
        jam_string(buf, ")");
 }
 
-void server_fork_sigchld_handler(struct logger *logger)
+void server_fork_sigchld_handler(struct verbose verbose)
 {
        while (true) {
                int status;
@@ -415,26 +415,23 @@ void server_fork_sigchld_handler(struct logger *logger)
                switch (child) {
                case -1: /* error? */
                        if (errno == ECHILD) {
-                               ldbg(logger, "waitpid returned ECHILD (no child processes left)");
+                               vdbg("waitpid returned ECHILD (no child processes left)");
                        } else {
-                               llog_errno(ERROR_STREAM, logger, errno,
-                                          "waitpid unexpectedly failed: ");
+                               verror(errno, "waitpid unexpectedly failed: ");
                        }
                        return;
                case 0: /* nothing to do */
-                       ldbg(logger, "waitpid returned nothing left to do (all child processes are busy)");
+                       vdbg("waitpid returned nothing left to do (all child processes are busy)");
                        return;
                default:
-                       LDBGP_JAMBUF(DBG_BASE, logger, buf) {
-                               jam(buf, "waitpid returned pid %d",
-                                       child);
+                       VDBG_JAMBUF(buf) {
+                               jam(buf, "waitpid returned pid %d", child);
                                jam_status(buf, status);
                        }
                        struct pid_entry *pid_entry = pid_entry_by_pid(child);
                        if (pid_entry == NULL) {
-                               LLOG_JAMBUF(RC_LOG, logger, buf) {
-                                       jam(buf, "waitpid return unknown child pid %d",
-                                               child);
+                               VLOG_JAMBUF(buf) {
+                                       jam(buf, "waitpid return unknown child pid %d", child);
                                        jam_status(buf, status);
                                }
                                continue;
@@ -453,7 +450,7 @@ void server_fork_sigchld_handler(struct logger *logger)
                                                    pid_entry->context,
                                                    pid_entry->logger);
                        } else if (st == NULL) {
-                               LDBGP_JAMBUF(DBG_BASE, logger, buf) {
+                               LDBGP_JAMBUF(DBG_BASE, pid_entry->logger, buf) {
                                        jam_pid_entry(buf, pid_entry);
                                        jam_string(buf, " disappeared");
                                }
index 90512d86693ef8a30355dc2d70b346eb37b61c41..d0680af786ab8613d52e20daea537c2dc32aea7f 100644 (file)
@@ -17,6 +17,7 @@
 #define SERVER_FORK_H
 
 #include "chunk.h"
+#include "verbose.h"
 
 struct logger;
 struct msg_digest;
@@ -74,7 +75,8 @@ pid_t server_fork_exec(const char *path,
                       void *callback_context,
                       struct logger *logger);
 
-void server_fork_sigchld_handler(struct logger *logger);
+void server_fork_sigchld_handler(struct verbose verbose);
+
 void init_server_fork(struct logger *logger);
 void check_server_fork(struct logger *logger, where_t where);
 void free_server_fork(struct logger *logger); /*just deletes memory*/