[monitoring-plugins] Update netutils.c

gcoxmoz git at monitoring-plugins.org
Fri Oct 2 20:00:12 CEST 2015


 Module: monitoring-plugins
 Branch: master
 Commit: 0a89db746dfe930c4705f4a1cef007c1888799dd
 Author: gcoxmoz <gcox at mozilla.com>
   Date: Sat May 17 00:58:46 2014 -0400
    URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=0a89db7

Update netutils.c

Return an encoded state rather than an explicit state if a connection failed.

---

 plugins/netutils.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/plugins/netutils.c b/plugins/netutils.c
index 0044046..f5e7dff 100644
--- a/plugins/netutils.c
+++ b/plugins/netutils.c
@@ -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;
@@ -249,12 +253,12 @@ 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;
+		case STATE_WARNING:  /* user wants WARN or OK on refusal, stay quiet */
+			return STATE_CRITICAL;
 			break;
-		case STATE_CRITICAL: /* user did not set econn_refuse_state */
+		case STATE_CRITICAL: /* user did not set econn_refuse_state, or wanted critical */
 			printf ("%s\n", 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;



More information about the Commits mailing list