summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--THANKS.in2
-rw-r--r--plugins/check_ups.c6
3 files changed, 8 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index e5c7d11..0156701 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,7 @@ This file documents the major additions and syntax changes between releases.
5 Updated tinderbox_build script to point to new tinderbox server 5 Updated tinderbox_build script to point to new tinderbox server
6 check_ifoperstatus -n flag now works as expected (sf.net #1569488) 6 check_ifoperstatus -n flag now works as expected (sf.net #1569488)
7 check_ifoperstatus now supports ifType based lookup for ifIndex 7 check_ifoperstatus now supports ifType based lookup for ifIndex
8 check_ups now sends a LOGOUT string (debian bug #387001)
8 9
91.4.13 25th Sept 2008 101.4.13 25th Sept 2008
10 Fix Debian bug #460097: check_http --max-age broken (Hilko Bengen) 11 Fix Debian bug #460097: check_http --max-age broken (Hilko Bengen)
diff --git a/THANKS.in b/THANKS.in
index a003fa8..80fa47a 100644
--- a/THANKS.in
+++ b/THANKS.in
@@ -238,3 +238,5 @@ Rob Windsor
238Hilko Bengen 238Hilko Bengen
239Sven Nierlein 239Sven Nierlein
240Erik Wasser 240Erik Wasser
241Tilman Koschnick
242Olivier 'Babar' Raginel
diff --git a/plugins/check_ups.c b/plugins/check_ups.c
index 154508d..bbd963a 100644
--- a/plugins/check_ups.c
+++ b/plugins/check_ups.c
@@ -398,12 +398,15 @@ get_ups_variable (const char *varname, char *buf, size_t buflen)
398 char temp_buffer[MAX_INPUT_BUFFER]; 398 char temp_buffer[MAX_INPUT_BUFFER];
399 char send_buffer[MAX_INPUT_BUFFER]; 399 char send_buffer[MAX_INPUT_BUFFER];
400 char *ptr; 400 char *ptr;
401 char *logout = "OK Goodbye\n";
402 int logout_len = strlen(logout);
401 int len; 403 int len;
402 404
403 *buf=0; 405 *buf=0;
404 406
405 /* create the command string to send to the UPS daemon */ 407 /* create the command string to send to the UPS daemon */
406 sprintf (send_buffer, "GET VAR %s %s\n", ups_name, varname); 408 /* Add LOGOUT to avoid read failure logs */
409 sprintf (send_buffer, "GET VAR %s %s\nLOGOUT\n", ups_name, varname);
407 410
408 /* send the command to the daemon and get a response back */ 411 /* send the command to the daemon and get a response back */
409 if (process_tcp_request 412 if (process_tcp_request
@@ -415,6 +418,7 @@ get_ups_variable (const char *varname, char *buf, size_t buflen)
415 418
416 ptr = temp_buffer; 419 ptr = temp_buffer;
417 len = strlen(ptr); 420 len = strlen(ptr);
421 if (len > logout_len && strcmp (ptr + len - logout_len, logout) == 0) len -= logout_len;
418 if (len > 0 && ptr[len-1] == '\n') ptr[len-1]=0; 422 if (len > 0 && ptr[len-1] == '\n') ptr[len-1]=0;
419 if (strcmp (ptr, "ERR UNKNOWN-UPS") == 0) { 423 if (strcmp (ptr, "ERR UNKNOWN-UPS") == 0) {
420 printf (_("CRITICAL - no such ups '%s' on that host\n"), ups_name); 424 printf (_("CRITICAL - no such ups '%s' on that host\n"), ups_name);