[nagiosplug] check_tcp: Fix checks without --expect string
"Nagios Plugin Development" <[email protected]> Thu, 12 Sep 2013 20:42:23 +0000
| Newsgroups | gmane.network.nagios.plugins.cvs |
|---|---|
| Message-ID | <[email protected]> |
Module: nagiosplug Branch: master Commit: ffad261eabd2eceb945a604c6c4f95465a2dfcc3 Author: Holger Weiss <[email protected]> Date: Thu Sep 12 22:36:35 2013 +0200 URL: http://nagiosplug.git.sf.net/git/gitweb.cgi?p=nagiosplug/nagiosplug;a=commit;h=ffad261 check_tcp: Fix checks without --expect string Commit e8044713d41f5ef1d9ce814df4a079d8f92306b0 broke check_tcp checks without --expect string, this commit fixes that regression. --- plugins/check_tcp.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/plugins/check_tcp.c b/plugins/check_tcp.c index 517b6b5..e7342f3 100644 --- a/plugins/check_tcp.c +++ b/plugins/check_tcp.c @@ -289,6 +289,8 @@ main (int argc, char **argv) match_flags)) != NP_MATCH_RETRY) break; } + if (match == NP_MATCH_RETRY) + match = NP_MATCH_FAILURE; /* no data when expected, so return critical */ if (len == 0) @@ -320,7 +322,7 @@ main (int argc, char **argv) result = STATE_WARNING; /* did we get the response we hoped? */ - if(match != NP_MATCH_SUCCESS && result != STATE_CRITICAL) + if(match == NP_MATCH_FAILURE && result != STATE_CRITICAL) result = expect_mismatch_state; /* reset the alarm */ @@ -331,10 +333,10 @@ main (int argc, char **argv) * the response we were looking for. if-else */ printf("%s %s - ", SERVICE, state_text(result)); - if(match != NP_MATCH_SUCCESS && len && !(flags & FLAG_HIDE_OUTPUT)) + if(match == NP_MATCH_FAILURE && len && !(flags & FLAG_HIDE_OUTPUT)) printf("Unexpected response from host/socket: %s", status); else { - if(match != NP_MATCH_SUCCESS) + if(match == NP_MATCH_FAILURE) printf("Unexpected response from host/socket on "); else printf("%.3f second response time on ", elapsed_time); @@ -344,13 +346,13 @@ main (int argc, char **argv) printf("socket %s", server_address); } - if (match == NP_MATCH_SUCCESS && !(flags & FLAG_HIDE_OUTPUT) && len) + if (match != NP_MATCH_FAILURE && !(flags & FLAG_HIDE_OUTPUT) && len) printf (" [%s]", status); /* perf-data doesn't apply when server doesn't talk properly, * so print all zeroes on warn and crit. Use fperfdata since * localisation settings can make different outputs */ - if(match != NP_MATCH_SUCCESS) + if(match == NP_MATCH_FAILURE) printf ("|%s", fperfdata ("time", elapsed_time, "s", (flags & FLAG_TIME_WARN ? TRUE : FALSE), 0, ------------------------------------------------------------------------------ How ServiceNow helps IT people transform IT departments: 1. Consolidate legacy IT systems to a single system of record for IT 2. Standardize and globalize service processes across IT 3. Implement zero-touch automation to replace manual, redundant tasks http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk