mirror of
https://github.com/monitoring-plugins/monitoring-plugins.git
synced 2026-05-28 04:35:40 -04:00
Merge pull request #1257 from gcoxmoz/master
check_tcp: Fixing to return desired exit code
This commit is contained in:
commit
0be10c669e
2 changed files with 8 additions and 6 deletions
|
|
@ -237,7 +237,7 @@ main (int argc, char **argv)
|
|||
gettimeofday (&tv, NULL);
|
||||
|
||||
result = np_net_connect (server_address, server_port, &sd, PROTOCOL);
|
||||
if (result == STATE_CRITICAL) return STATE_CRITICAL;
|
||||
if (result == STATE_CRITICAL) return econn_refuse_state;
|
||||
|
||||
#ifdef HAVE_SSL
|
||||
if (flags & FLAG_SSL){
|
||||
|
|
|
|||
|
|
@ -161,6 +161,10 @@ process_request (const char *server_address, int server_port, int proto,
|
|||
int
|
||||
np_net_connect (const char *host_name, int port, int *sd, int proto)
|
||||
{
|
||||
/* send back STATE_UNKOWN if there's an error
|
||||
send back STATE_OK if we connect
|
||||
send back STATE_CRITICAL if we can't connect.
|
||||
Let upstream figure out what to send to the user. */
|
||||
struct addrinfo hints;
|
||||
struct addrinfo *r, *res;
|
||||
struct sockaddr_un su;
|
||||
|
|
@ -250,16 +254,14 @@ np_net_connect (const char *host_name, int port, int *sd, int proto)
|
|||
else if (was_refused) {
|
||||
switch (econn_refuse_state) { /* a user-defined expected outcome */
|
||||
case STATE_OK:
|
||||
case STATE_WARNING: /* user wants WARN or OK on refusal */
|
||||
return econn_refuse_state;
|
||||
break;
|
||||
case STATE_CRITICAL: /* user did not set econn_refuse_state */
|
||||
case STATE_WARNING: /* user wants WARN or OK on refusal, or... */
|
||||
case STATE_CRITICAL: /* user did not set econn_refuse_state, or wanted critical */
|
||||
if (is_socket)
|
||||
printf("connect to file socket %s: %s\n", host_name, strerror(errno));
|
||||
else
|
||||
printf("connect to address %s and port %d: %s\n",
|
||||
host_name, port, strerror(errno));
|
||||
return econn_refuse_state;
|
||||
return STATE_CRITICAL;
|
||||
break;
|
||||
default: /* it's a logic error if we do not end up in STATE_(OK|WARNING|CRITICAL) */
|
||||
return STATE_UNKNOWN;
|
||||
|
|
|
|||
Loading…
Reference in a new issue