From bb5db828c60adc0325bae33febd2befb3ecb2662 Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Mon, 15 Apr 2024 16:19:06 +0200 Subject: [PATCH] ntp: log failed connection to Samba signd socket Log an error message (in addition to the socket-specific debug message) when the connection to signd socket fails, but only once before a successful signd exchange to avoid flooding the system log. --- ntp_signd.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ntp_signd.c b/ntp_signd.c index 77b3249..e52c8f5 100644 --- a/ntp_signd.c +++ b/ntp_signd.c @@ -99,6 +99,9 @@ static int sock_fd; /* Flag indicating if the MS-SNTP authentication is enabled */ static int enabled; +/* Flag limiting logging of connection error messages */ +static int logged_connection_error; + /* ================================================== */ static void read_write_socket(int sock_fd, int event, void *anything); @@ -134,6 +137,14 @@ open_socket(void) sock_fd = SCK_OpenUnixStreamSocket(path, NULL, 0); if (sock_fd < 0) { sock_fd = INVALID_SOCK_FD; + + /* Log an error only once before a successful exchange to avoid + flooding the system log */ + if (!logged_connection_error) { + LOG(LOGS_ERR, "Could not connect to signd socket %s : %s", path, strerror(errno)); + logged_connection_error = 1; + } + return 0; } @@ -160,6 +171,8 @@ process_response(SignInstance *inst) return; } + logged_connection_error = 0; + /* Check if the file descriptor is still valid */ if (!NIO_IsServerSocket(inst->local_addr.sock_fd)) { DEBUG_LOG("Invalid NTP socket");