]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
ntp: log failed connection to Samba signd socket
authorMiroslav Lichvar <mlichvar@redhat.com>
Mon, 15 Apr 2024 14:19:06 +0000 (16:19 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Mon, 15 Apr 2024 14:35:33 +0000 (16:35 +0200)
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

index 77b3249a6d1b68867dc9ded073b2f42cefa0f36b..e52c8f51c040ca4867e5e4129bbe11033cf8f95d 100644 (file)
@@ -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");