]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
wrap SIGINFO in ifdef
authorDamien Miller <djm@mindrot.org>
Mon, 18 Aug 2025 04:22:18 +0000 (14:22 +1000)
committerDamien Miller <djm@mindrot.org>
Mon, 18 Aug 2025 04:22:18 +0000 (14:22 +1000)
clientloop.c
serverloop.c

index 677bf40f02339d3b47972184f2b1255ee01046cf..b9a010414ff33f5e64f2f431ff02f0bba8082d18 100644 (file)
@@ -225,12 +225,14 @@ window_change_handler(int sig)
        received_window_change_signal = 1;
 }
 
+#ifdef SIGINFO
 /* Signal handler for SIGINFO */
 static void
 siginfo_handler(int sig)
 {
        siginfo_received = 1;
 }
+#endif
 
 /*
  * Signal handler for signals that cause the program to terminate.  These
@@ -1522,7 +1524,9 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg,
        if (ssh_signal(SIGTERM, SIG_IGN) != SIG_IGN)
                ssh_signal(SIGTERM, signal_handler);
        ssh_signal(SIGWINCH, window_change_handler);
+#ifdef SIGINFO
        ssh_signal(SIGINFO, siginfo_handler);
+#endif
 
        if (have_pty)
                enter_raw_mode(options.request_tty == REQUEST_TTY_FORCE);
@@ -1545,9 +1549,12 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg,
            sigaddset(&bsigset, SIGHUP) == -1 ||
            sigaddset(&bsigset, SIGINT) == -1 ||
            sigaddset(&bsigset, SIGQUIT) == -1 ||
-           sigaddset(&bsigset, SIGTERM) == -1 ||
-           sigaddset(&bsigset, SIGINFO) == -1)
+           sigaddset(&bsigset, SIGTERM) == -1)
                error_f("bsigset setup: %s", strerror(errno));
+#ifdef SIGINFO
+       if (sigaddset(&bsigset, SIGINFO) == -1)
+               error_f("bsigset setup: %s", strerror(errno));
+#endif
 
        /* Main loop of the client for the interactive session mode. */
        while (!quit_pending) {
index 753f56388b385f3c8f73981968790fe5e66647c6..4beb2a390b6d6f8f6ae92e1085f482554ac34b72 100644 (file)
@@ -104,11 +104,13 @@ sigchld_handler(int sig)
        child_terminated = 1;
 }
 
+#ifdef SIGINFO
 static void
 siginfo_handler(int sig)
 {
        siginfo_received = 1;
 }
+#endif
 
 static void
 client_alive_check(struct ssh *ssh)
@@ -341,11 +343,14 @@ server_loop2(struct ssh *ssh, Authctxt *authctxt)
        debug("Entering interactive session for SSH2.");
 
        if (sigemptyset(&bsigset) == -1 ||
-           sigaddset(&bsigset, SIGCHLD) == -1 ||
-           sigaddset(&bsigset, SIGINFO) == -1)
+           sigaddset(&bsigset, SIGCHLD) == -1)
                error_f("bsigset setup: %s", strerror(errno));
        ssh_signal(SIGCHLD, sigchld_handler);
+#ifdef SIGINFO
+       if (sigaddset(&bsigset, SIGINFO) == -1)
+               error_f("bsigset setup: %s", strerror(errno));
        ssh_signal(SIGINFO, siginfo_handler);
+#endif
        child_terminated = 0;
        connection_in = ssh_packet_get_connection_in(ssh);
        connection_out = ssh_packet_get_connection_out(ssh);