Ver Fonte

check_smtp: Abort on missing/unexpected greeting

Abort immediately if we don't receive a server greeting or if the
greeting doesn't contain the "--expect"ed string (by default: "220")
instead of blindly sending the EHLO/HELO line.

Spotted by Daniel Piddock, see Debian bug report #611914.
Holger Weiss há 15 anos atrás
pai
commit
d16f3fb0a9
1 ficheiros alterados com 2 adições e 2 exclusões
  1. 2 2
      plugins/check_smtp.c

+ 2 - 2
plugins/check_smtp.c

@@ -183,7 +183,7 @@ main (int argc, char **argv)
 		/* return a WARNING status if we couldn't read any data */
 		if (recvlines(buffer, MAX_INPUT_BUFFER) <= 0) {
 			printf (_("recv() failed\n"));
-			result = STATE_WARNING;
+			return STATE_WARNING;
 		}
 		else {
 			if (verbose)
@@ -197,7 +197,7 @@ main (int argc, char **argv)
 				else
 					printf (_("Invalid SMTP response received from host on port %d: %s\n"),
 									server_port, buffer);
-				result = STATE_WARNING;
+				return STATE_WARNING;
 			}
 		}