Revision: 2243
http://nagiosplug.svn.sourceforge.net/nagiosplug/?rev=2243&view=rev
Author: dermoth
Date: 2009-09-22 01:20:55 +0000 (Tue, 22 Sep 2009)
Log Message:
-----------
Add proxy-authorization option to check_http (Peter Doherty - #2863772, Bryan Irvine - #2863925)
From: Thomas Guyot-Sionnest <[email protected]>
Modified Paths:
--------------
nagiosplug/trunk/NEWS
nagiosplug/trunk/THANKS.in
nagiosplug/trunk/plugins/check_http.c
Modified: nagiosplug/trunk/NEWS
===================================================================
--- nagiosplug/trunk/NEWS 2009-09-19 06:10:00 UTC (rev 2242)
+++ nagiosplug/trunk/NEWS 2009-09-22 01:20:55 UTC (rev 2243)
@@ -2,6 +2,7 @@
1.4.15 ...
Fix check_ircd binding to wrong interface (#668778)
+ Add proxy-authorization option to check_http (Peter Doherty - #2863772, Bryan Irvine - #2863925)
1.4.14 16th September 2009
check_http has options to specify the HTTP method (#2155152)
Modified: nagiosplug/trunk/THANKS.in
===================================================================
--- nagiosplug/trunk/THANKS.in 2009-09-19 06:10:00 UTC (rev 2242)
+++ nagiosplug/trunk/THANKS.in 2009-09-22 01:20:55 UTC (rev 2243)
@@ -256,3 +256,5 @@
Will Preston
Nikita Kalabukhov
Grant Byers
+Peter Doherty
+Bryan Irvine
Modified: nagiosplug/trunk/plugins/check_http.c
===================================================================
--- nagiosplug/trunk/plugins/check_http.c 2009-09-19 06:10:00 UTC (rev 2242)
+++ nagiosplug/trunk/plugins/check_http.c 2009-09-22 01:20:55 UTC (rev 2243)
@@ -105,6 +105,7 @@
double critical_time = 0;
int check_critical_time = FALSE;
char user_auth[MAX_INPUT_BUFFER] = "";
+char proxy_auth[MAX_INPUT_BUFFER] = "";
int display_html = FALSE;
char **http_opt_headers;
int http_opt_headers_count = 0;
@@ -192,6 +193,7 @@
{"url", required_argument, 0, 'u'},
{"port", required_argument, 0, 'p'},
{"authorization", required_argument, 0, 'a'},
+ {"proxy_authorization", required_argument, 0, 'b'},
{"string", required_argument, 0, 's'},
{"expect", required_argument, 0, 'e'},
{"regex", required_argument, 0, 'r'},
@@ -229,7 +231,7 @@
}
while (1) {
- c = getopt_long (argc, argv, "Vvh46t:c:w:A:k:H:P:j:T:I:a:e:p:s:R:r:u:f:C:nlLSm:M:N", longopts, &option);
+ c = getopt_long (argc, argv, "Vvh46t:c:w:A:k:H:P:j:T:I:a:b:e:p:s:R:r:u:f:C:nlLSm:M:N", longopts, &option);
if (c == -1 || c == EOF)
break;
@@ -350,6 +352,10 @@
strncpy (user_auth, optarg, MAX_INPUT_BUFFER - 1);
user_auth[MAX_INPUT_BUFFER - 1] = 0;
break;
+ case 'b': /* proxy-authorization info */
+ strncpy (proxy_auth, optarg, MAX_INPUT_BUFFER - 1);
+ proxy_auth[MAX_INPUT_BUFFER - 1] = 0;
+ break;
case 'P': /* HTTP POST data in URL encoded format; ignored if settings already */
if (! http_post_data)
http_post_data = strdup (optarg);
@@ -836,6 +842,12 @@
asprintf (&buf, "%sAuthorization: Basic %s\r\n", buf, auth);
}
+ /* optionally send the proxy authentication info */
+ if (strlen(proxy_auth)) {
+ base64_encode_alloc (proxy_auth, strlen (proxy_auth), &auth);
+ asprintf (&buf, "%sProxy-Authorization: Basic %s\r\n", buf, auth);
+ }
+
/* either send http POST data (any data, not only POST)*/
if (http_post_data) {
if (http_content_type) {
@@ -1346,6 +1358,8 @@
printf (" %s\n", "-a, --authorization=AUTH_PAIR");
printf (" %s\n", _("Username:password on sites with basic authentication"));
+ printf (" %s\n", "-b, --proxy-authorization=AUTH_PAIR");
+ printf (" %s\n", _("Username:password on proxy-servers with basic authentication"));
printf (" %s\n", "-A, --useragent=STRING");
printf (" %s\n", _("String to be sent in http header as \"User Agent\""));
printf (" %s\n", "-k, --header=STRING");
@@ -1407,7 +1421,7 @@
printf (_("Usage:"));
printf (" %s -H <vhost> | -I <IP-address> [-u <uri>] [-p <port>]\n",progname);
printf (" [-w <warn time>] [-c <critical time>] [-t <timeout>] [-L]\n");
- printf (" [-a auth] [-f <ok | warn | critcal | follow | sticky | stickyport>]\n");
+ printf (" [-a auth] [-b proxy_auth] [-f <ok | warn | critcal | follow | sticky | stickyport>]\n");
printf (" [-e <expect>] [-s string] [-l] [-r <regex> | -R <case-insensitive regex>]\n");
printf (" [-P string] [-m <min_pg_size>:<max_pg_size>] [-4|-6] [-N] [-M <age>]\n");
printf (" [-A string] [-k string] [-S] [-C <age>] [-T <content-type>] [-j method]\n");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.