diff options
| author | Holger Weiss <holger@zedat.fu-berlin.de> | 2013-09-12 22:36:35 +0200 |
|---|---|---|
| committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2013-09-12 22:36:35 +0200 |
| commit | ffad261eabd2eceb945a604c6c4f95465a2dfcc3 (patch) | |
| tree | 9296e2251ee852947cb3e8cd26a1f893f404bd23 /plugins/check_tcp.c | |
| parent | 7573aa16169e80baec80440463a524e5f4e92911 (diff) | |
| download | monitoring-plugins-ffad261eabd2eceb945a604c6c4f95465a2dfcc3.tar.gz | |
check_tcp: Fix checks without --expect string
Commit e8044713d41f5ef1d9ce814df4a079d8f92306b0 broke check_tcp checks
without --expect string, this commit fixes that regression.
Diffstat (limited to 'plugins/check_tcp.c')
| -rw-r--r-- | 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 517b6b5d..e7342f35 100644 --- a/plugins/check_tcp.c +++ b/plugins/check_tcp.c | |||
| @@ -289,6 +289,8 @@ main (int argc, char **argv) | |||
| 289 | match_flags)) != NP_MATCH_RETRY) | 289 | match_flags)) != NP_MATCH_RETRY) |
| 290 | break; | 290 | break; |
| 291 | } | 291 | } |
| 292 | if (match == NP_MATCH_RETRY) | ||
| 293 | match = NP_MATCH_FAILURE; | ||
| 292 | 294 | ||
| 293 | /* no data when expected, so return critical */ | 295 | /* no data when expected, so return critical */ |
| 294 | if (len == 0) | 296 | if (len == 0) |
| @@ -320,7 +322,7 @@ main (int argc, char **argv) | |||
| 320 | result = STATE_WARNING; | 322 | result = STATE_WARNING; |
| 321 | 323 | ||
| 322 | /* did we get the response we hoped? */ | 324 | /* did we get the response we hoped? */ |
| 323 | if(match != NP_MATCH_SUCCESS && result != STATE_CRITICAL) | 325 | if(match == NP_MATCH_FAILURE && result != STATE_CRITICAL) |
| 324 | result = expect_mismatch_state; | 326 | result = expect_mismatch_state; |
| 325 | 327 | ||
| 326 | /* reset the alarm */ | 328 | /* reset the alarm */ |
| @@ -331,10 +333,10 @@ main (int argc, char **argv) | |||
| 331 | * the response we were looking for. if-else */ | 333 | * the response we were looking for. if-else */ |
| 332 | printf("%s %s - ", SERVICE, state_text(result)); | 334 | printf("%s %s - ", SERVICE, state_text(result)); |
| 333 | 335 | ||
| 334 | if(match != NP_MATCH_SUCCESS && len && !(flags & FLAG_HIDE_OUTPUT)) | 336 | if(match == NP_MATCH_FAILURE && len && !(flags & FLAG_HIDE_OUTPUT)) |
| 335 | printf("Unexpected response from host/socket: %s", status); | 337 | printf("Unexpected response from host/socket: %s", status); |
| 336 | else { | 338 | else { |
| 337 | if(match != NP_MATCH_SUCCESS) | 339 | if(match == NP_MATCH_FAILURE) |
| 338 | printf("Unexpected response from host/socket on "); | 340 | printf("Unexpected response from host/socket on "); |
| 339 | else | 341 | else |
| 340 | printf("%.3f second response time on ", elapsed_time); | 342 | printf("%.3f second response time on ", elapsed_time); |
| @@ -344,13 +346,13 @@ main (int argc, char **argv) | |||
| 344 | printf("socket %s", server_address); | 346 | printf("socket %s", server_address); |
| 345 | } | 347 | } |
| 346 | 348 | ||
| 347 | if (match == NP_MATCH_SUCCESS && !(flags & FLAG_HIDE_OUTPUT) && len) | 349 | if (match != NP_MATCH_FAILURE && !(flags & FLAG_HIDE_OUTPUT) && len) |
| 348 | printf (" [%s]", status); | 350 | printf (" [%s]", status); |
| 349 | 351 | ||
| 350 | /* perf-data doesn't apply when server doesn't talk properly, | 352 | /* perf-data doesn't apply when server doesn't talk properly, |
| 351 | * so print all zeroes on warn and crit. Use fperfdata since | 353 | * so print all zeroes on warn and crit. Use fperfdata since |
| 352 | * localisation settings can make different outputs */ | 354 | * localisation settings can make different outputs */ |
| 353 | if(match != NP_MATCH_SUCCESS) | 355 | if(match == NP_MATCH_FAILURE) |
| 354 | printf ("|%s", | 356 | printf ("|%s", |
| 355 | fperfdata ("time", elapsed_time, "s", | 357 | fperfdata ("time", elapsed_time, "s", |
| 356 | (flags & FLAG_TIME_WARN ? TRUE : FALSE), 0, | 358 | (flags & FLAG_TIME_WARN ? TRUE : FALSE), 0, |
