summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-analyzer/nagios-core/files
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-analyzer/nagios-core/files')
-rw-r--r--net-analyzer/nagios-core/files/99_nagios3.conf15
-rw-r--r--net-analyzer/nagios-core/files/99_nagios4.conf16
-rw-r--r--net-analyzer/nagios-core/files/conf.d10
-rw-r--r--net-analyzer/nagios-core/files/fix-bogus-perf-data-warnings.patch32
-rw-r--r--net-analyzer/nagios-core/files/lighttpd_nagios3-r1.conf24
-rw-r--r--net-analyzer/nagios-core/files/lighttpd_nagios4.conf15
-rw-r--r--net-analyzer/nagios-core/files/nagios57
-rw-r--r--net-analyzer/nagios-core/files/nagios-3.3.1-htmlmakefile.patch14
-rw-r--r--net-analyzer/nagios-core/files/nagios-core-3.5.1-process_cgivars.patch175
-rw-r--r--net-analyzer/nagios-core/files/nagios353
-rw-r--r--net-analyzer/nagios-core/files/nagios452
-rw-r--r--net-analyzer/nagios-core/files/statuswml-bug275288.patch51
-rw-r--r--net-analyzer/nagios-core/files/use-INSTALL-to-install-themes.patch59
-rw-r--r--net-analyzer/nagios-core/files/use-MAKE-instead-of-bare-make.patch37
14 files changed, 610 insertions, 0 deletions
diff --git a/net-analyzer/nagios-core/files/99_nagios3.conf b/net-analyzer/nagios-core/files/99_nagios3.conf
new file mode 100644
index 000000000000..074f9ce5e4a9
--- /dev/null
+++ b/net-analyzer/nagios-core/files/99_nagios3.conf
@@ -0,0 +1,15 @@
+<IfDefine NAGIOS>
+ ScriptAlias /nagios/cgi-bin/ /usr/lib/nagios/cgi-bin/
+ <Directory "/usr/lib/nagios/cgi-bin/">
+ AllowOverride AuthConfig
+ Options ExecCGI
+ Order allow,deny
+ Allow from all
+ </Directory>
+ Alias /nagios /usr/share/nagios/htdocs
+ <Directory "/usr/share/nagios/htdocs">
+ AllowOverride AuthConfig
+ Order allow,deny
+ Allow from all
+ </Directory>
+</IfDefine>
diff --git a/net-analyzer/nagios-core/files/99_nagios4.conf b/net-analyzer/nagios-core/files/99_nagios4.conf
new file mode 100644
index 000000000000..b04c2980ebab
--- /dev/null
+++ b/net-analyzer/nagios-core/files/99_nagios4.conf
@@ -0,0 +1,16 @@
+<IfDefine NAGIOS>
+
+ ScriptAlias /nagios/cgi-bin/ /usr/lib/nagios/cgi-bin/
+ <Directory "/usr/lib/nagios/cgi-bin/">
+ AllowOverride AuthConfig
+ Options ExecCGI
+ Require all granted
+ </Directory>
+
+ Alias /nagios /usr/share/nagios/htdocs
+ <Directory "/usr/share/nagios/htdocs">
+ AllowOverride AuthConfig
+ Require all granted
+ </Directory>
+
+</IfDefine>
diff --git a/net-analyzer/nagios-core/files/conf.d b/net-analyzer/nagios-core/files/conf.d
new file mode 100644
index 000000000000..4fd852e5fb80
--- /dev/null
+++ b/net-analyzer/nagios-core/files/conf.d
@@ -0,0 +1,10 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Distributed monitoring users will want to configure here the ip/hostname of the central server.
+# It will be used by submit_check_result_via_nsca.
+NAGIOS_NSCA_HOST="localhost"
+
+
+
diff --git a/net-analyzer/nagios-core/files/fix-bogus-perf-data-warnings.patch b/net-analyzer/nagios-core/files/fix-bogus-perf-data-warnings.patch
new file mode 100644
index 000000000000..8f589e8013b7
--- /dev/null
+++ b/net-analyzer/nagios-core/files/fix-bogus-perf-data-warnings.patch
@@ -0,0 +1,32 @@
+Patch submitted upstream at,
+
+ http://tracker.nagios.org/view.php?id=534
+
+by user ovidiu_stanila. Confirmed to work by at least one other user,
+travissidelinger. Applied to fix Gentoo bug #530640.
+
+diff --git a/base/workers.c b/base/workers.c
+index 881e434..d1e1f8d 100644
+--- a/base/workers.c
++++ b/base/workers.c
+@@ -285,6 +285,8 @@ static void destroy_job(struct wproc_job *job)
+ case WPJOB_SVC_EVTHANDLER:
+ case WPJOB_GLOBAL_HOST_EVTHANDLER:
+ case WPJOB_HOST_EVTHANDLER:
++ case WPJOB_HOST_PERFDATA:
++ case WPJOB_SVC_PERFDATA:
+ /* these require nothing special */
+ break;
+ case WPJOB_CALLBACK:
+@@ -763,6 +765,11 @@ static int handle_worker_result(int sd, int events, void *arg)
+ run_job_callback(job, &wpres, 0);
+ break;
+
++ case WPJOB_HOST_PERFDATA:
++ case WPJOB_SVC_PERFDATA:
++ /* these require nothing special */
++ break;
++
+ default:
+ logit(NSLOG_RUNTIME_WARNING, TRUE, "Worker %d: Unknown jobtype: %d\n", wp->pid, job->type);
+ break;
diff --git a/net-analyzer/nagios-core/files/lighttpd_nagios3-r1.conf b/net-analyzer/nagios-core/files/lighttpd_nagios3-r1.conf
new file mode 100644
index 000000000000..6e2577029aca
--- /dev/null
+++ b/net-analyzer/nagios-core/files/lighttpd_nagios3-r1.conf
@@ -0,0 +1,24 @@
+server.modules += ("mod_cgi")
+server.modules += ("mod_auth")
+server.modules += ("mod_alias")
+
+auth.require += ( "/nagios" =>
+ (
+ "method" => "digest",
+ "realm" => "nagios",
+ "require" => "valid-user"
+ )
+)
+
+$HTTP["url"] =~ "^/nagios/cgi-bin/" {
+ dir-listing.activate = "disable"
+ cgi.assign = (
+ ".pl" => "/usr/bin/perl",
+ ".cgi" => ""
+ )
+}
+
+alias.url += (
+ "/nagios/cgi-bin" => "/usr/lib/nagios/cgi-bin",
+ "/nagios" => "/usr/share/nagios/htdocs"
+)
diff --git a/net-analyzer/nagios-core/files/lighttpd_nagios4.conf b/net-analyzer/nagios-core/files/lighttpd_nagios4.conf
new file mode 100644
index 000000000000..a073f177f238
--- /dev/null
+++ b/net-analyzer/nagios-core/files/lighttpd_nagios4.conf
@@ -0,0 +1,15 @@
+server.modules += ("mod_cgi")
+server.modules += ("mod_alias")
+
+$HTTP["url"] =~ "^/nagios/cgi-bin/" {
+ dir-listing.activate = "disable"
+ cgi.assign = (
+ ".pl" => "/usr/bin/perl",
+ ".cgi" => ""
+ )
+}
+
+alias.url += (
+ "/nagios/cgi-bin" => "/usr/lib/nagios/cgi-bin",
+ "/nagios" => "/usr/share/nagios/htdocs"
+)
diff --git a/net-analyzer/nagios-core/files/nagios b/net-analyzer/nagios-core/files/nagios
new file mode 100644
index 000000000000..057112257619
--- /dev/null
+++ b/net-analyzer/nagios-core/files/nagios
@@ -0,0 +1,57 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+opts="${opts} reload checkconfig"
+
+depend() {
+ need net
+ use dns logger firewall
+ after mysql postgresql
+}
+
+reload()
+{
+ checkconfig || return 1
+ ebegin "Reloading configuration"
+ killall -HUP nagios &>/dev/null
+ eend $?
+}
+
+checkconfig() {
+ # Silent Check
+ /usr/nagios/bin/nagios -v /etc/nagios/nagios.cfg &>/dev/null && return 0
+
+ # Now we know there's problem - run again and display errors
+ /usr/nagios/bin/nagios -v /etc/nagios/nagios.cfg
+ eend $? "Configuration Error. Please fix your configfile"
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting nagios"
+ touch /var/nagios/nagios.log /var/nagios/status.sav
+ chown nagios:nagios /var/nagios/nagios.log /var/nagios/status.sav
+ rm -f /var/nagios/rw/nagios.cmd
+ start-stop-daemon --quiet --start --startas /usr/nagios/bin/nagios \
+ -e HOME="/var/nagios/home" --pidfile /var/nagios/nagios.lock \
+ -- -d /etc/nagios/nagios.cfg
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping nagios"
+ start-stop-daemon --quiet --stop --pidfile /var/nagios/nagios.lock
+ rm -f /var/nagios/status.log /var/nagios/nagios.tmp /var/nagios/nagios.lock /var/nagios/rw/nagios.cmd
+ eend $?
+}
+
+svc_restart() {
+ checkconfig || return 1
+ ebegin "Restarting nagios"
+ svc_stop
+ svc_start
+ eend $?
+}
+
diff --git a/net-analyzer/nagios-core/files/nagios-3.3.1-htmlmakefile.patch b/net-analyzer/nagios-core/files/nagios-3.3.1-htmlmakefile.patch
new file mode 100644
index 000000000000..c033c9843c10
--- /dev/null
+++ b/net-analyzer/nagios-core/files/nagios-3.3.1-htmlmakefile.patch
@@ -0,0 +1,14 @@
+--- html/Makefile.in.orig 2011-07-27 16:06:58.000000000 +0200
++++ html/Makefile.in 2011-07-27 16:07:10.000000000 +0200
+@@ -75,9 +75,9 @@
+ do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images/logos; done
+ for file in includes/*.*; \
+ do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/includes; done
+- for file in includes/rss/*; \
++ for file in includes/rss/*.*; \
+ do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/includes/rss; done
+- for file in includes/rss/extlib/*; \
++ for file in includes/rss/extlib/*.*; \
+ do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/includes/rss/extlib; done
+
+ install-unstripped:
diff --git a/net-analyzer/nagios-core/files/nagios-core-3.5.1-process_cgivars.patch b/net-analyzer/nagios-core/files/nagios-core-3.5.1-process_cgivars.patch
new file mode 100644
index 000000000000..9d9536747794
--- /dev/null
+++ b/net-analyzer/nagios-core/files/nagios-core-3.5.1-process_cgivars.patch
@@ -0,0 +1,175 @@
+commit d97e03f32741a7d851826b03ed73ff4c9612a866
+Author: Eric Stanley <estanley@nagios.com>
+Date: Fri Dec 20 13:14:30 2013 -0600
+
+ CGIs: Fixed minor vulnerability where a custom query could crash the CGI.
+
+ Most CGIs previously incremented the input variable counter twice when
+ it encountered a long key value. This could cause the CGI to read past
+ the end of the list of CGI variables. This commit removes the second
+ increment, removing the possibility of reading past the end of the list
+ of CGI variables.
+
+diff --git a/cgi/avail.c b/cgi/avail.c
+index 76afd86..64eaadc 100644
+--- a/cgi/avail.c
++++ b/cgi/avail.c
+@@ -1096,7 +1096,6 @@ int process_cgivars(void) {
+
+ /* do some basic length checking on the variable identifier to prevent buffer overflows */
+ if(strlen(variables[x]) >= MAX_INPUT_BUFFER - 1) {
+- x++;
+ continue;
+ }
+
+diff --git a/cgi/cmd.c b/cgi/cmd.c
+index fa6cf5a..50504eb 100644
+--- a/cgi/cmd.c
++++ b/cgi/cmd.c
+@@ -311,7 +311,6 @@ int process_cgivars(void) {
+
+ /* do some basic length checking on the variable identifier to prevent buffer overflows */
+ if(strlen(variables[x]) >= MAX_INPUT_BUFFER - 1) {
+- x++;
+ continue;
+ }
+
+diff --git a/cgi/config.c b/cgi/config.c
+index f061b0f..3360e70 100644
+--- a/cgi/config.c
++++ b/cgi/config.c
+@@ -344,7 +344,6 @@ int process_cgivars(void) {
+
+ /* do some basic length checking on the variable identifier to prevent buffer overflows */
+ if(strlen(variables[x]) >= MAX_INPUT_BUFFER - 1) {
+- x++;
+ continue;
+ }
+
+diff --git a/cgi/extinfo.c b/cgi/extinfo.c
+index 62a1b18..5113df4 100644
+--- a/cgi/extinfo.c
++++ b/cgi/extinfo.c
+@@ -591,7 +591,6 @@ int process_cgivars(void) {
+
+ /* do some basic length checking on the variable identifier to prevent buffer overflows */
+ if(strlen(variables[x]) >= MAX_INPUT_BUFFER - 1) {
+- x++;
+ continue;
+ }
+
+diff --git a/cgi/histogram.c b/cgi/histogram.c
+index 4616541..f6934d0 100644
+--- a/cgi/histogram.c
++++ b/cgi/histogram.c
+@@ -1060,7 +1060,6 @@ int process_cgivars(void) {
+
+ /* do some basic length checking on the variable identifier to prevent buffer overflows */
+ if(strlen(variables[x]) >= MAX_INPUT_BUFFER - 1) {
+- x++;
+ continue;
+ }
+
+diff --git a/cgi/notifications.c b/cgi/notifications.c
+index 8ba11c1..461ae84 100644
+--- a/cgi/notifications.c
++++ b/cgi/notifications.c
+@@ -327,7 +327,6 @@ int process_cgivars(void) {
+
+ /* do some basic length checking on the variable identifier to prevent buffer overflows */
+ if(strlen(variables[x]) >= MAX_INPUT_BUFFER - 1) {
+- x++;
+ continue;
+ }
+
+diff --git a/cgi/outages.c b/cgi/outages.c
+index 426ede6..cb58dee 100644
+--- a/cgi/outages.c
++++ b/cgi/outages.c
+@@ -225,7 +225,6 @@ int process_cgivars(void) {
+
+ /* do some basic length checking on the variable identifier to prevent buffer overflows */
+ if(strlen(variables[x]) >= MAX_INPUT_BUFFER - 1) {
+- x++;
+ continue;
+ }
+
+diff --git a/cgi/status.c b/cgi/status.c
+index 3253340..4ec1c92 100644
+--- a/cgi/status.c
++++ b/cgi/status.c
+@@ -567,7 +567,6 @@ int process_cgivars(void) {
+
+ /* do some basic length checking on the variable identifier to prevent buffer overflows */
+ if(strlen(variables[x]) >= MAX_INPUT_BUFFER - 1) {
+- x++;
+ continue;
+ }
+
+diff --git a/cgi/statusmap.c b/cgi/statusmap.c
+index ea48368..2580ae5 100644
+--- a/cgi/statusmap.c
++++ b/cgi/statusmap.c
+@@ -400,7 +400,6 @@ int process_cgivars(void) {
+
+ /* do some basic length checking on the variable identifier to prevent buffer overflows */
+ if(strlen(variables[x]) >= MAX_INPUT_BUFFER - 1) {
+- x++;
+ continue;
+ }
+
+diff --git a/cgi/statuswml.c b/cgi/statuswml.c
+index bd8cea2..d25abef 100644
+--- a/cgi/statuswml.c
++++ b/cgi/statuswml.c
+@@ -226,8 +226,13 @@ int process_cgivars(void) {
+
+ for(x = 0; variables[x] != NULL; x++) {
+
++ /* do some basic length checking on the variable identifier to prevent buffer overflows */
++ if(strlen(variables[x]) >= MAX_INPUT_BUFFER - 1) {
++ continue;
++ }
++
+ /* we found the hostgroup argument */
+- if(!strcmp(variables[x], "hostgroup")) {
++ else if(!strcmp(variables[x], "hostgroup")) {
+ display_type = DISPLAY_HOSTGROUP;
+ x++;
+ if(variables[x] == NULL) {
+diff --git a/cgi/summary.c b/cgi/summary.c
+index 126ce5e..749a02c 100644
+--- a/cgi/summary.c
++++ b/cgi/summary.c
+@@ -725,7 +725,6 @@ int process_cgivars(void) {
+
+ /* do some basic length checking on the variable identifier to prevent buffer overflows */
+ if(strlen(variables[x]) >= MAX_INPUT_BUFFER - 1) {
+- x++;
+ continue;
+ }
+
+diff --git a/cgi/trends.c b/cgi/trends.c
+index b35c18e..895db01 100644
+--- a/cgi/trends.c
++++ b/cgi/trends.c
+@@ -1263,7 +1263,6 @@ int process_cgivars(void) {
+
+ /* do some basic length checking on the variable identifier to prevent buffer overflows */
+ if(strlen(variables[x]) >= MAX_INPUT_BUFFER - 1) {
+- x++;
+ continue;
+ }
+
+diff --git a/contrib/daemonchk.c b/contrib/daemonchk.c
+index 78716e5..9bb6c4b 100644
+--- a/contrib/daemonchk.c
++++ b/contrib/daemonchk.c
+@@ -174,7 +174,6 @@ static int process_cgivars(void) {
+
+ /* do some basic length checking on the variable identifier to prevent buffer overflows */
+ if(strlen(variables[x]) >= MAX_INPUT_BUFFER - 1) {
+- x++;
+ continue;
+ }
+ }
diff --git a/net-analyzer/nagios-core/files/nagios3 b/net-analyzer/nagios-core/files/nagios3
new file mode 100644
index 000000000000..04714cc0f9fa
--- /dev/null
+++ b/net-analyzer/nagios-core/files/nagios3
@@ -0,0 +1,53 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+extra_commands="checkconfig"
+extra_started_commands="reload"
+
+nagios_config="/etc/nagios/nagios.cfg"
+nagios_cmdfile="/var/nagios/rw/nagios.cmd"
+
+command="/usr/sbin/nagios"
+command_args="-d ${nagios_config}"
+pidfile="/var/nagios/nagios.lock"
+start_stop_daemon_args="-e HOME=/var/nagios/home"
+
+depend() {
+ need net
+ use dns logger firewall
+ after mysql postgresql
+}
+
+reload()
+{
+ checkconfig || return 1
+ ebegin "Reloading configuration"
+ start-stop-daemon --signal HUP --pidfile ${pidfile}
+ eend $?
+}
+
+checkconfig() {
+ ebegin "Verifying config files"
+
+ # Silent Check
+ /usr/sbin/nagios -v ${nagios_config} &>/dev/null && return 0
+
+ # Now we know there's problem - run again and display errors
+ /usr/sbin/nagios -v ${nagios_config}
+ eend $? "Configuration Error. Please fix your configfile"
+}
+
+start_pre() {
+ checkconfig || return 1
+
+ touch /var/nagios/nagios.log /var/nagios/status.sav
+ chown nagios:nagios /var/nagios/nagios.log /var/nagios/status.sav
+ rm -f ${nagios_cmdfile}
+}
+
+stop_post() {
+ rm -f /var/nagios/status.log /var/nagios/nagios.tmp ${pidfile} \
+ ${nagios_cmdfile}
+}
diff --git a/net-analyzer/nagios-core/files/nagios4 b/net-analyzer/nagios-core/files/nagios4
new file mode 100644
index 000000000000..5bc359c6d25a
--- /dev/null
+++ b/net-analyzer/nagios-core/files/nagios4
@@ -0,0 +1,52 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+extra_commands="checkconfig"
+extra_started_commands="reload"
+
+nagios_config="/etc/nagios/nagios.cfg"
+nagios_cmdfile="/var/nagios/rw/nagios.cmd"
+
+command="/usr/sbin/nagios"
+command_args="-d ${nagios_config}"
+pidfile="/var/nagios/nagios.lock"
+start_stop_daemon_args="-e HOME=/var/nagios/home"
+
+depend(){
+ need net
+ use dns logger firewall
+ after mysql postgresql
+}
+
+reload(){
+ checkconfig || return 1
+ ebegin "Reloading configuration"
+ start-stop-daemon --signal HUP --pidfile ${pidfile}
+ eend $?
+}
+
+checkconfig(){
+ ebegin "Verifying config files"
+
+ # Silent Check
+ /usr/sbin/nagios -v ${nagios_config} > /dev/null 2>&1 && return 0
+
+ # Now we know there's problem - run again and display errors
+ /usr/sbin/nagios -v ${nagios_config}
+ eend $? "Configuration Error. Please fix your config file."
+}
+
+start_pre() {
+ checkconfig || return 1
+
+ touch /var/nagios/nagios.log /var/nagios/status.sav
+ chown nagios:nagios /var/nagios/nagios.log /var/nagios/status.sav
+ rm -f ${nagios_cmdfile}
+}
+
+stop_post() {
+ rm -f /var/nagios/status.log /var/nagios/nagios.tmp ${pidfile} \
+ ${nagios_cmdfile}
+}
diff --git a/net-analyzer/nagios-core/files/statuswml-bug275288.patch b/net-analyzer/nagios-core/files/statuswml-bug275288.patch
new file mode 100644
index 000000000000..8b9a0200e148
--- /dev/null
+++ b/net-analyzer/nagios-core/files/statuswml-bug275288.patch
@@ -0,0 +1,51 @@
+--- cgi/statuswml.c 2008/11/30 18:13:11 1.27
++++ cgi/statuswml.c 2009/06/19 04:30:26 1.28
+@@ -67,6 +67,8 @@
+ void document_header(void);
+ void document_footer(void);
+ int process_cgivars(void);
++int validate_arguments(void);
++int is_valid_hostip(char *hostip);
+
+ int display_type=DISPLAY_INDEX;
+ int hostgroup_style=DISPLAY_HOSTGROUP_SUMMARY;
+@@ -108,6 +110,13 @@
+
+ document_header();
+
++ /* validate arguments in URL */
++ result=validate_arguments();
++ if(result==ERROR){
++ document_footer();
++ return ERROR;
++ }
++
+ /* read the CGI configuration file */
+ result=read_cgi_config_file(get_cgi_config_location());
+ if(result==ERROR){
+@@ -334,7 +343,25 @@
+ return error;
+ }
+
++int validate_arguments(void){
++ int result=OK;
++ if((strcmp(ping_address,"")) && !is_valid_hostip(ping_address)) {
++ printf("<p>Invalid host name/ip</p>\n");
++ result=ERROR;
++ }
++ if(strcmp(traceroute_address,"") && !is_valid_hostip(traceroute_address)){
++ printf("<p>Invalid host name/ip</p>\n");
++ result=ERROR;
++ }
++ return result;
++ }
+
++int is_valid_hostip(char *hostip) {
++ char *valid_domain_chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-";
++ if(strcmp(hostip,"") && strlen(hostip)==strspn(hostip,valid_domain_chars) && hostip[0] != '-' && hostip[strlen(hostip)-1] != '-')
++ return TRUE;
++ return FALSE;
++ }
+
+ /* main intro screen */
+ void display_index(void){
diff --git a/net-analyzer/nagios-core/files/use-INSTALL-to-install-themes.patch b/net-analyzer/nagios-core/files/use-INSTALL-to-install-themes.patch
new file mode 100644
index 000000000000..a852430e74b6
--- /dev/null
+++ b/net-analyzer/nagios-core/files/use-INSTALL-to-install-themes.patch
@@ -0,0 +1,59 @@
+From 26bef86bad804836babd9d99accfc247eb744132 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 12 Nov 2014 08:35:28 -0500
+Subject: [PATCH 1/1] Use $(INSTALL) to install themes.
+
+Most of the images installed under the htdocs folder are installed
+mode 644 with owner:group nagios:nagios. This is due to the use of
+$(INSTALL) in html/Makefile. However, the theme images and stylesheets
+are currently installed with a simple "cp -r", which leads to
+inconsistencies like the following:
+
+ $ cd /usr/share/nagios/htdocs/images
+ $ ls action*.gif
+ -rw-rw-r-- 1 nagios nagios 1.3K 2014-11-12 08:22 action.gif
+ -rw-r--r-- 1 root root 1.3K 2014-11-12 08:22 action-graph.gif
+ -rw-r--r-- 1 root root 171 2014-11-12 08:22 action-nagios.gif
+ -rw-r--r-- 1 root root 162 2014-11-12 08:22 action-orig.gif
+
+By using $(INSTALL) in the install-exfoliation and install-classicui
+targets, we enforce some consistency.
+---
+ Makefile.in | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 1341160..67e1502 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -300,8 +300,11 @@ install-webconf:
+ @echo ""
+
+ install-exfoliation:
+- cp -rf contrib/exfoliation/stylesheets/* $(DESTDIR)$(HTMLDIR)/stylesheets
+- cp -rf contrib/exfoliation/images/* $(DESTDIR)$(HTMLDIR)/images
++ for file in contrib/exfoliation/stylesheets/*.*; \
++ do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/stylesheets; done
++
++ for file in contrib/exfoliation/images/*.*; \
++ do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done
+
+ @echo ""
+ @echo "*** Exfoliation theme installed ***"
+@@ -309,8 +312,11 @@ install-exfoliation:
+ @echo ""
+
+ install-classicui:
+- cp -rf html/stylesheets/* $(DESTDIR)$(HTMLDIR)/stylesheets
+- cp -rf html/images/* $(DESTDIR)$(HTMLDIR)/images
++ for file in html/stylesheets/*.*; \
++ do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/stylesheets; done
++
++ for file in html/images/*.*; \
++ do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done
+
+ @echo ""
+ @echo "*** Classic theme installed ***"
+--
+2.0.4
+
diff --git a/net-analyzer/nagios-core/files/use-MAKE-instead-of-bare-make.patch b/net-analyzer/nagios-core/files/use-MAKE-instead-of-bare-make.patch
new file mode 100644
index 000000000000..e53ba78b6e38
--- /dev/null
+++ b/net-analyzer/nagios-core/files/use-MAKE-instead-of-bare-make.patch
@@ -0,0 +1,37 @@
+From e043015081c9dc6869b282da76ae0de5ac9840a2 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 5 Nov 2014 13:46:04 -0500
+Subject: [PATCH 1/1] Use $(MAKE) instead of bare "make" in subtarget of
+ install-html.
+
+When running make as a subprocess of itself, it's best to invoke it as
+$(MAKE). The rest of Makefile.in does this correctly, but there was
+one instance where it was forgotten. For posterity, this can lead to
+warnings like,
+
+ make[1]: warning: jobserver unavailable: using -j1.
+ Add '+' to parent make rule.
+
+More info is available at,
+
+ https://www.gnu.org/software/make/manual/html_node/Error-Messages.html
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index f487c47..1341160 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -222,7 +222,7 @@ test-perl: cgis
+
+ install-html:
+ cd $(SRC_HTM) && $(MAKE) install
+- make install-exfoliation
++ $(MAKE) install-exfoliation
+
+ install-base:
+ cd $(SRC_BASE) && $(MAKE) install
+--
+2.0.4
+