aboutsummaryrefslogtreecommitdiff
path: root/plugins/check_smtp.c
diff options
context:
space:
mode:
authorGravatar Holger Weiss <holger@zedat.fu-berlin.de> 2011-02-08 17:07:52 +0100
committerGravatar Holger Weiss <holger@zedat.fu-berlin.de> 2011-02-08 17:07:52 +0100
commitd16f3fb0a9bb37cc1ce73ef14b5de83e907ef23c (patch)
tree9827dab60d4987749656a1d5a4c209f73a1bdab0 /plugins/check_smtp.c
parent4611e41bc50d15275b316c6f21b688997a9c78c4 (diff)
downloadmonitoring-plugins-d16f3fb0a9bb37cc1ce73ef14b5de83e907ef23c.tar.gz
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.
Diffstat (limited to 'plugins/check_smtp.c')
-rw-r--r--plugins/check_smtp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c
index 3da724ba..ed491638 100644
--- a/plugins/check_smtp.c
+++ b/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;
}
}