|
|
@@ -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;
|