mirror of
https://github.com/monitoring-plugins/monitoring-plugins.git
synced 2026-04-21 22:29:49 -04:00
Allow multiple -k parameters (Gerd Mueller - 1457726)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1367 f882894a-f735-0410-b71e-b25c423dba1c
This commit is contained in:
parent
f235579d0d
commit
39e0ee3dcd
2 changed files with 26 additions and 7 deletions
|
|
@ -89,7 +89,8 @@ double critical_time = 0;
|
|||
int check_critical_time = FALSE;
|
||||
char user_auth[MAX_INPUT_BUFFER] = "";
|
||||
int display_html = FALSE;
|
||||
char *http_opt_headers;
|
||||
char **http_opt_headers;
|
||||
int http_opt_headers_count = 0;
|
||||
int onredirect = STATE_OK;
|
||||
int use_ssl = FALSE;
|
||||
int verbose = FALSE;
|
||||
|
|
@ -245,7 +246,12 @@ process_arguments (int argc, char **argv)
|
|||
asprintf (&user_agent, "User-Agent: %s", optarg);
|
||||
break;
|
||||
case 'k': /* Additional headers */
|
||||
asprintf (&http_opt_headers, "%s", optarg);
|
||||
if (http_opt_headers_count == 0)
|
||||
http_opt_headers = malloc (sizeof (char *) * (++http_opt_headers_count));
|
||||
else
|
||||
http_opt_headers = realloc (http_opt_headers, sizeof (char *) * (++http_opt_headers_count));
|
||||
http_opt_headers[http_opt_headers_count - 1] = optarg;
|
||||
//asprintf (&http_opt_headers, "%s", optarg);
|
||||
break;
|
||||
case 'L': /* show html link */
|
||||
display_html = TRUE;
|
||||
|
|
@ -767,9 +773,12 @@ check_http (void)
|
|||
asprintf (&buf, "%sHost: %s\r\n", buf, host_name);
|
||||
|
||||
/* optionally send any other header tag */
|
||||
if (http_opt_headers) {
|
||||
for ((pos = strtok(http_opt_headers, INPUT_DELIMITER)); pos; (pos = strtok(NULL, INPUT_DELIMITER)))
|
||||
asprintf (&buf, "%s%s\r\n", buf, pos);
|
||||
if (http_opt_headers_count) {
|
||||
for (i = 0; i < http_opt_headers_count ; i++) {
|
||||
for ((pos = strtok(http_opt_headers[i], INPUT_DELIMITER)); pos; (pos = strtok(NULL, INPUT_DELIMITER)))
|
||||
asprintf (&buf, "%s%s\r\n", buf, pos);
|
||||
}
|
||||
free(http_opt_headers);
|
||||
}
|
||||
|
||||
/* optionally send the authentication info */
|
||||
|
|
@ -1277,7 +1286,7 @@ certificate expiration times."));
|
|||
-A, --useragent=STRING\n\
|
||||
String to be sent in http header as \"User Agent\"\n\
|
||||
-k, --header=STRING\n\
|
||||
Any other tags to be sent in http header, separated by semicolon\n\
|
||||
Any other tags to be sent in http header. Use multiple times for additional headers\n\
|
||||
-L, --link=URL\n\
|
||||
Wrap output in HTML link (obsoleted by urlize)\n\
|
||||
-f, --onredirect=<ok|warning|critical|follow>\n\
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ use strict;
|
|||
use Test::More;
|
||||
use NPTest;
|
||||
|
||||
plan tests => 12;
|
||||
plan tests => 14;
|
||||
|
||||
my $successOutput = '/OK.*HTTP.*second/';
|
||||
|
||||
|
|
@ -33,6 +33,16 @@ $res = NPTest->testCmd(
|
|||
cmp_ok( $res->return_code, '==', 0, "Webserver $host_tcp_http responded" );
|
||||
like( $res->output, $successOutput, "Output OK" );
|
||||
|
||||
$res = NPTest->testCmd(
|
||||
"./check_http $host_tcp_http -wt 300 -ct 600 -v -v -v -k 'bob:there;fred:here'"
|
||||
);
|
||||
like( $res->output, '/bob:there\r\nfred:here\r\n/', "Got headers, delimited with ';'" );
|
||||
|
||||
$res = NPTest->testCmd(
|
||||
"./check_http $host_tcp_http -wt 300 -ct 600 -v -v -v -k 'bob:there;fred:here' -k 'carl:frown'"
|
||||
);
|
||||
like( $res->output, '/bob:there\r\nfred:here\r\ncarl:frown\r\n/', "Got headers with multiple -k options" );
|
||||
|
||||
$res = NPTest->testCmd(
|
||||
"./check_http $host_nonresponsive -wt 1 -ct 2"
|
||||
);
|
||||
|
|
|
|||
Loading…
Reference in a new issue