Ver Fonte

check_ssh: Get rid of sshd: Read from socket failed: Connection reset by peer

This fix was grabbed from FreeBSD downstream and provided by Dmitry Sivachenko.
Fixes Debian Bug #734811
Jan Wagner há 12 anos atrás
pai
commit
a387120182
1 ficheiros alterados com 2 adições e 0 exclusões
  1. 2 0
      plugins/check_ssh.c

+ 2 - 0
plugins/check_ssh.c

@@ -250,6 +250,7 @@ ssh_connect (char *haddr, int hport, char *remote_version)
 			printf
 			printf
 				(_("SSH WARNING - %s (protocol %s) version mismatch, expected '%s'\n"),
 				(_("SSH WARNING - %s (protocol %s) version mismatch, expected '%s'\n"),
 				 ssh_server, ssh_proto, remote_version);
 				 ssh_server, ssh_proto, remote_version);
+			recv (sd, output, BUFF_SZ, 0);
 			close(sd);
 			close(sd);
 			exit (STATE_WARNING);
 			exit (STATE_WARNING);
 		}
 		}
@@ -260,6 +261,7 @@ ssh_connect (char *haddr, int hport, char *remote_version)
 			(_("SSH OK - %s (protocol %s) | %s\n"),
 			(_("SSH OK - %s (protocol %s) | %s\n"),
 			 ssh_server, ssh_proto, fperfdata("time", elapsed_time, "s",
 			 ssh_server, ssh_proto, fperfdata("time", elapsed_time, "s",
 			 FALSE, 0, FALSE, 0, TRUE, 0, TRUE, (int)socket_timeout));
 			 FALSE, 0, FALSE, 0, TRUE, 0, TRUE, (int)socket_timeout));
+		recv (sd, output, BUFF_SZ, 0);
 		close(sd);
 		close(sd);
 		exit (STATE_OK);
 		exit (STATE_OK);
 	}
 	}