diff options
author | Greg Cox <gcox@fibbsbozza.local> | 2014-07-29 22:52:12 (GMT) |
---|---|---|
committer | Greg Cox <gcox@fibbsbozza.local> | 2014-07-29 22:52:12 (GMT) |
commit | 4273dd06ff3e52094d6b267d00e8c51dd74de364 (patch) | |
tree | 425d127da5dbec7013999ed01b469fc3f72992d9 /plugins/netutils.c | |
parent | f05e7016320f4671fbf86cc5abc277efea20f79e (diff) | |
parent | 6f3d5825b203b75aef8d68bf0d117e7a1a4c0616 (diff) | |
download | monitoring-plugins-4273dd06ff3e52094d6b267d00e8c51dd74de364.tar.gz |
Merge remote-tracking branch 'upstream/master'refs/pull/1257/head
Conflicts:
plugins/netutils.c
Diffstat (limited to 'plugins/netutils.c')
-rw-r--r-- | plugins/netutils.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/plugins/netutils.c b/plugins/netutils.c index 7ae9722..705aaf0 100644 --- a/plugins/netutils.c +++ b/plugins/netutils.c | |||
@@ -171,11 +171,12 @@ np_net_connect (const char *host_name, int port, int *sd, int proto) | |||
171 | char port_str[6], host[MAX_HOST_ADDRESS_LENGTH]; | 171 | char port_str[6], host[MAX_HOST_ADDRESS_LENGTH]; |
172 | size_t len; | 172 | size_t len; |
173 | int socktype, result; | 173 | int socktype, result; |
174 | short is_socket = (host_name[0] == '/'); | ||
174 | 175 | ||
175 | socktype = (proto == IPPROTO_UDP) ? SOCK_DGRAM : SOCK_STREAM; | 176 | socktype = (proto == IPPROTO_UDP) ? SOCK_DGRAM : SOCK_STREAM; |
176 | 177 | ||
177 | /* as long as it doesn't start with a '/', it's assumed a host or ip */ | 178 | /* as long as it doesn't start with a '/', it's assumed a host or ip */ |
178 | if(host_name[0] != '/'){ | 179 | if (!is_socket){ |
179 | memset (&hints, 0, sizeof (hints)); | 180 | memset (&hints, 0, sizeof (hints)); |
180 | hints.ai_family = address_family; | 181 | hints.ai_family = address_family; |
181 | hints.ai_protocol = proto; | 182 | hints.ai_protocol = proto; |
@@ -255,7 +256,11 @@ np_net_connect (const char *host_name, int port, int *sd, int proto) | |||
255 | case STATE_OK: | 256 | case STATE_OK: |
256 | case STATE_WARNING: /* user wants WARN or OK on refusal, or... */ | 257 | case STATE_WARNING: /* user wants WARN or OK on refusal, or... */ |
257 | case STATE_CRITICAL: /* user did not set econn_refuse_state, or wanted critical */ | 258 | case STATE_CRITICAL: /* user did not set econn_refuse_state, or wanted critical */ |
258 | printf ("%s\n", strerror(errno)); | 259 | if (is_socket) |
260 | printf("connect to file socket %s: %s\n", host_name, strerror(errno)); | ||
261 | else | ||
262 | printf("connect to address %s and port %d: %s\n", | ||
263 | host_name, port, strerror(errno)); | ||
259 | return STATE_CRITICAL; | 264 | return STATE_CRITICAL; |
260 | break; | 265 | break; |
261 | default: /* it's a logic error if we do not end up in STATE_(OK|WARNING|CRITICAL) */ | 266 | default: /* it's a logic error if we do not end up in STATE_(OK|WARNING|CRITICAL) */ |
@@ -264,7 +269,11 @@ np_net_connect (const char *host_name, int port, int *sd, int proto) | |||
264 | } | 269 | } |
265 | } | 270 | } |
266 | else { | 271 | else { |
267 | printf ("%s\n", strerror(errno)); | 272 | if (is_socket) |
273 | printf("connect to file socket %s: %s\n", host_name, strerror(errno)); | ||
274 | else | ||
275 | printf("connect to address %s and port %d: %s\n", | ||
276 | host_name, port, strerror(errno)); | ||
268 | return STATE_CRITICAL; | 277 | return STATE_CRITICAL; |
269 | } | 278 | } |
270 | } | 279 | } |