diff --git a/debian/apache2.conf b/debian/apache2.conf
index f0f8b2f..e66d3af 100644
--- a/debian/apache2.conf
+++ b/debian/apache2.conf
@@ -1,33 +1,40 @@
-# apache configuration for nagios 3.x
-# note to users of nagios 1.x and 2.x:
+# apache configuration for nagios 4.x
+# note to users of nagios 1.x and 2.x and 3.x:
# throughout this file are commented out sections which preserve
# backwards compatibility with bookmarks/config for older nagios versios.
-# simply look for lines following "nagios 1.x:" and "nagios 2.x" comments.
+# simply look for lines following "nagios 1.x:" and "nagios 2.x" and "nagios 3.x" comments.
-ScriptAlias /cgi-bin/nagios3 /usr/lib/cgi-bin/nagios3
-ScriptAlias /nagios3/cgi-bin /usr/lib/cgi-bin/nagios3
+ScriptAlias /cgi-bin/nagios4 /usr/lib/cgi-bin/nagios4
+ScriptAlias /nagios4/cgi-bin /usr/lib/cgi-bin/nagios4
# nagios 1.x:
-#ScriptAlias /cgi-bin/nagios /usr/lib/cgi-bin/nagios3
-#ScriptAlias /nagios/cgi-bin /usr/lib/cgi-bin/nagios3
+#ScriptAlias /cgi-bin/nagios /usr/lib/cgi-bin/nagios4
+#ScriptAlias /nagios/cgi-bin /usr/lib/cgi-bin/nagios4
# nagios 2.x:
-#ScriptAlias /cgi-bin/nagios2 /usr/lib/cgi-bin/nagios3
-#ScriptAlias /nagios2/cgi-bin /usr/lib/cgi-bin/nagios3
+#ScriptAlias /cgi-bin/nagios2 /usr/lib/cgi-bin/nagios4
+#ScriptAlias /nagios2/cgi-bin /usr/lib/cgi-bin/nagios4
+# nagios 3.x:
+#ScriptAlias /cgi-bin/nagios3 /usr/lib/cgi-bin/nagios4
+#ScriptAlias /nagios3/cgi-bin /usr/lib/cgi-bin/nagios4
# Where the stylesheets (config files) reside
-Alias /nagios3/stylesheets /etc/nagios3/stylesheets
+Alias /nagios4/stylesheets /etc/nagios4/stylesheets
# nagios 1.x:
-#Alias /nagios/stylesheets /etc/nagios3/stylesheets
+#Alias /nagios/stylesheets /etc/nagios4/stylesheets
# nagios 2.x:
-#Alias /nagios2/stylesheets /etc/nagios3/stylesheets
+#Alias /nagios2/stylesheets /etc/nagios4/stylesheets
+# nagios 3.x:
+#Alias /nagios3/stylesheets /etc/nagios4/stylesheets
# Where the HTML pages live
-Alias /nagios3 /usr/share/nagios3/htdocs
+Alias /nagios4 /usr/share/nagios4/htdocs
+# nagios 3.x:
+#Alias /nagios3 /usr/share/nagios4/htdocs
# nagios 2.x:
-#Alias /nagios2 /usr/share/nagios3/htdocs
+#Alias /nagios2 /usr/share/nagios4/htdocs
# nagios 1.x:
-#Alias /nagios /usr/share/nagios3/htdocs
+#Alias /nagios /usr/share/nagios4/htdocs
-
+
Options FollowSymLinks
DirectoryIndex index.php index.html
@@ -46,13 +53,13 @@ Alias /nagios3 /usr/share/nagios3/htdocs
AuthName "Nagios Access"
AuthType Basic
- AuthUserFile /etc/nagios3/htpasswd.users
+ AuthUserFile /etc/nagios4/htpasswd.users
# nagios 1.x:
#AuthUserFile /etc/nagios/htpasswd.users
require valid-user
-
+
Options +ExecCGI
@@ -61,7 +68,7 @@ Alias /nagios3 /usr/share/nagios3/htdocs
# It allows you to see a clickable list of all hostgroups in the
# left pane of the Nagios web interface
# XXX This is not tested for nagios 2.x use at your own peril
-#ScriptAlias /nagios3/side.html /usr/lib/cgi-bin/nagios3/grouplist.cgi
+#ScriptAlias /nagios4/side.html /usr/lib/cgi-bin/nagios4/grouplist.cgi
# nagios 1.x:
-#ScriptAlias /nagios/side.html /usr/lib/cgi-bin/nagios3/grouplist.cgi
+#ScriptAlias /nagios/side.html /usr/lib/cgi-bin/nagios4/grouplist.cgi
diff --git a/debian/changelog b/debian/changelog
index f4e19a9..ffdcc49 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+nagios4 (4.3.2) UNRELEASED; urgency=medium
+
+ * add nagios 3 compat paths in apache config
+ * forward port 3.5.1 patches to 4.3.2
+ * forward port of package losely based on
+ https://launchpad.net/~grey-box/+archive/ubuntu/ppa/+files/nagios4_4.1.1-5ubuntu~precise1.tar.gz
+
+ -- Mario Fetka Fri, 19 May 2017 23:48:51 +0200
+
nagios3 (3.5.1.dfsg-2) unstable; urgency=medium
* [a72437b] Make apache.conf compatible with apache 2.4.10 (Closes: #762096)
diff --git a/debian/conf.d/contacts_nagios2.cfg b/debian/conf.d/contacts_nagios.cfg
similarity index 100%
rename from debian/conf.d/contacts_nagios2.cfg
rename to debian/conf.d/contacts_nagios.cfg
diff --git a/debian/conf.d/extinfo_nagios2.cfg b/debian/conf.d/extinfo_nagios.cfg
similarity index 100%
rename from debian/conf.d/extinfo_nagios2.cfg
rename to debian/conf.d/extinfo_nagios.cfg
diff --git a/debian/conf.d/generic-host_nagios2.cfg b/debian/conf.d/generic-host_nagios.cfg
similarity index 100%
rename from debian/conf.d/generic-host_nagios2.cfg
rename to debian/conf.d/generic-host_nagios.cfg
diff --git a/debian/conf.d/generic-service_nagios2.cfg b/debian/conf.d/generic-service_nagios.cfg
similarity index 100%
rename from debian/conf.d/generic-service_nagios2.cfg
rename to debian/conf.d/generic-service_nagios.cfg
diff --git a/debian/conf.d/hostgroups_nagios2.cfg b/debian/conf.d/hostgroups_nagios.cfg
similarity index 100%
rename from debian/conf.d/hostgroups_nagios2.cfg
rename to debian/conf.d/hostgroups_nagios.cfg
diff --git a/debian/conf.d/localhost_nagios2.cfg b/debian/conf.d/localhost_nagios.cfg
similarity index 100%
rename from debian/conf.d/localhost_nagios2.cfg
rename to debian/conf.d/localhost_nagios.cfg
diff --git a/debian/conf.d/services_nagios2.cfg b/debian/conf.d/services_nagios.cfg
similarity index 100%
rename from debian/conf.d/services_nagios2.cfg
rename to debian/conf.d/services_nagios.cfg
diff --git a/debian/conf.d/timeperiods_nagios2.cfg b/debian/conf.d/timeperiods_nagios.cfg
similarity index 100%
rename from debian/conf.d/timeperiods_nagios2.cfg
rename to debian/conf.d/timeperiods_nagios.cfg
diff --git a/debian/control b/debian/control
index 6c9aebd..69a0576 100644
--- a/debian/control
+++ b/debian/control
@@ -1,4 +1,4 @@
-Source: nagios3
+Source: nagios4
Section: net
Priority: optional
Maintainer: Debian Nagios Maintainer Group
@@ -6,8 +6,8 @@ Uploaders: sean finney ,
Alexander Wirt ,
Jan Wagner
Homepage: http://www.nagios.org/
-Vcs-Browser: http://git.debian.org/?p=pkg-nagios/pkg-nagios3.git
-Vcs-Git: git://git.debian.org/pkg-nagios/pkg-nagios3.git
+Vcs-Browser: http://git.debian.org/?p=pkg-nagios/pkg-nagios4.git
+Vcs-Git: git://git.debian.org/pkg-nagios/pkg-nagios4.git
Standards-Version: 3.9.5
Build-Depends: autotools-dev,
debhelper (>= 7),
@@ -18,7 +18,7 @@ Build-Depends: autotools-dev,
libpng-dev,
po-debconf
-Package: nagios3-common
+Package: nagios4-common
Architecture: all
Depends: adduser,
bsd-mailx | mailx,
@@ -26,13 +26,12 @@ Depends: adduser,
lsb-base (>= 3.0-6),
nagios-plugins-basic,
ucf (>= 0.28),
- libjs-jquery,
${misc:Depends},
${perl:Depends}
Recommends: nagios-plugins
-Description: support files for nagios3
+Description: support files for nagios4
Nagios is a monitoring and management system for hosts, services and
- networks. nagios3-common contains the common files for the nagios3 package.
+ networks. nagios4-common contains the common files for the nagios4 package.
.
Nagios' features include:
.
@@ -55,24 +54,24 @@ Description: support files for nagios3
.
Upstream URL: http://www.nagios.org/
-Package: nagios3-cgi
+Package: nagios4-cgi
Architecture: any
-Replaces: nagios3 (<< 3.2.0), nagios3-common (<< 3.2.0), nagios3-doc (<< 3.2.0)
-Breaks: nagios3 (<< 3.2.0), nagios3-common (<< 3.2.0), nagios3-doc (<< 3.2.0)
+Replaces: nagios4 (<< 4.1.0), nagios4-common (<< 4.1.0), nagios4-doc (<< 4.1.0)
+Breaks: nagios4 (<< 4.1.0), nagios4-common (<< 4.1.0), nagios4-doc (<< 4.1.0)
Depends: adduser,
apache2-utils,
coreutils (>= 4.5.3),
libapache2-mod-php5 | php5 | php5-cgi,
libjs-jquery,
- nagios3-common (= ${source:Version}),
+ nagios4-common (= ${source:Version}),
ucf (>= 0.28),
${misc:Depends},
${perl:Depends},
${shlibs:Depends}
Recommends: apache2 | httpd, nagios-images (>> 0.1)
-Description: cgi files for nagios3
+Description: cgi files for nagios4
Nagios is a monitoring and management system for hosts, services and
- networks. nagios3-common contains the common files for the nagios3 package.
+ networks. nagios4-common contains the common files for the nagios4 package.
.
Nagios' features include:
.
@@ -95,10 +94,10 @@ Description: cgi files for nagios3
.
Upstream URL: http://www.nagios.org/
-Package: nagios3
+Package: nagios4
Architecture: any
-Depends: nagios3-cgi (= ${binary:Version}),
- nagios3-core (= ${binary:Version}),
+Depends: nagios4-cgi (= ${binary:Version}),
+ nagios4-core (= ${binary:Version}),
${misc:Depends}
Suggests: nagios-nrpe-plugin
Description: host/service/network monitoring and management system
@@ -129,14 +128,14 @@ Description: host/service/network monitoring and management system
.
Upstream URL: http://www.nagios.org/
-Package: nagios3-core
+Package: nagios4-core
Architecture: any
-Depends: nagios3-common (= ${source:Version}),
+Depends: nagios4-common (= ${source:Version}),
${misc:Depends},
${perl:Depends},
${shlibs:Depends}
Suggests: nagios-nrpe-plugin
-Replaces: nagios3
+Replaces: nagios4
Description: host/service/network monitoring and management system core files
Nagios is a monitoring and management system for hosts, services and
networks.
@@ -165,11 +164,11 @@ Description: host/service/network monitoring and management system core files
.
Upstream URL: http://www.nagios.org/
-Package: nagios3-doc
+Package: nagios4-doc
Section: doc
Architecture: all
Depends: ${misc:Depends}, ${perl:Depends}, ${shlibs:Depends}
-Description: documentation for nagios3
+Description: documentation for nagios4
Nagios is a monitoring and management system for hosts, services and
networks.
.
@@ -195,16 +194,16 @@ Description: documentation for nagios3
.
Upstream URL: http://www.nagios.org/
-Package: nagios3-dbg
+Package: nagios4-dbg
Section: debug
Priority: extra
Architecture: any
-Depends: nagios3-core (= ${binary:Version}),
+Depends: nagios4-core (= ${binary:Version}),
${misc:Depends},
${perl:Depends},
${shlibs:Depends}
Conflicts: icinga-dbg (<= 1.0.1-2)
-Description: debugging symbols and debug stuff for nagios3
+Description: debugging symbols and debug stuff for nagios4
Nagios is a monitoring and management system for hosts, services and
networks.
.
@@ -222,7 +221,7 @@ Description: debugging symbols and debug stuff for nagios3
Nagios was written in C and is designed to be easy to understand and modify
to fit your own needs.
.
- This package contains gdb debugging symbols for the nagios3 binaries and the
+ This package contains gdb debugging symbols for the nagios4 binaries and the
mini_epn tool which can help in debugging Nagios problems.
.
Nagios is a replacement of the Netsaint project. It accepts and uses the
diff --git a/debian/mini_epn_nagio3.8.txt b/debian/mini_epn_nagio3.8.txt
deleted file mode 100644
index 05bd10d..0000000
--- a/debian/mini_epn_nagio3.8.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-:man source: Nagios
-:man version: {revnumber}
-:man manual: mini_epn
-
-mini_epn(8)
-==========
-
-NAME
-----
-mini_epn - too to nagiosplugins inside of an embedded perl interpreter
-
-SYNOPSIS
---------
-*mini_epn*
-
-DESCRIPTION
------------
-After calling *mini_epn* an embedded perl interpreter gets started and asks for you a script to execute under the interpreter. To exit the interpreter loop press ^d at the prompt.
-
-EXAMPLES
---------
-
- # mini_epn
- Enter file name: /usr/lib/nagios/plugins/check_linux_raid
- embedded perl plugin return code and output was: 0 & 'OK md0 status=[UU]. md1 status=[UU].
-
-AUTHOR
-------
-This manpage was written by Alexander Wirt for the Debian Distribution.
-
-
diff --git a/debian/mini_epn_nagios3.8 b/debian/mini_epn_nagios3.8
deleted file mode 100644
index f411a71..0000000
--- a/debian/mini_epn_nagios3.8
+++ /dev/null
@@ -1,44 +0,0 @@
-'\" t
-.\" Title: mini_epn
-.\" Author: [see the "AUTHOR" section]
-.\" Generator: DocBook XSL Stylesheets v1.75.2
-.\" Date: 09/19/2009
-.\" Manual: mini_epn
-.\" Source: Nagios
-.\" Language: English
-.\"
-.TH "MINI_EPN" "8" "09/19/2009" "Nagios" "mini_epn"
-.\" -----------------------------------------------------------------
-.\" * set default formatting
-.\" -----------------------------------------------------------------
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.\" -----------------------------------------------------------------
-.\" * MAIN CONTENT STARTS HERE *
-.\" -----------------------------------------------------------------
-.SH "NAME"
-mini_epn \- too to nagiosplugins inside of an embedded perl interpreter
-.SH "SYNOPSIS"
-.sp
-\fBmini_epn\fR
-.SH "DESCRIPTION"
-.sp
-After calling \fBmini_epn\fR an embedded perl interpreter gets started and asks for you a script to execute under the interpreter\&. To exit the interpreter loop press ^d at the prompt\&.
-.SH "EXAMPLES"
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-# mini_epn
-Enter file name: /usr/lib/nagios/plugins/check_linux_raid
-embedded perl plugin return code and output was: 0 & \'OK md0 status=[UU]\&. md1 status=[UU]\&.
-.fi
-.if n \{\
-.RE
-.\}
-.SH "AUTHOR"
-.sp
-This manpage was written by Alexander Wirt for the Debian Distribution\&.
diff --git a/debian/nagios3-cgi.config b/debian/nagios3-cgi.config
deleted file mode 100644
index b03e16c..0000000
--- a/debian/nagios3-cgi.config
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh -e
-
-. /usr/share/debconf/confmodule
-
-db_fget nagios3/adminpassword seen || true
-password_seen="$RET"
-
-if [ "$1" = "reconfigure" ]; then
- password_seen=false
-fi
-
-if [ "$rootpassword_seen" != "true" ]; then
- while [ ! "$passwordsmatch" ]; do
- db_input high nagios3/adminpassword || true
- db_input high nagios3/adminpassword-repeat || true
- db_go || true
- db_get nagios3/adminpassword
- p1="$RET"
- db_get nagios3/adminpassword-repeat
- p2="$RET"
- if [ "$p1" = "$p2" ]; then
- passwordsmatch="yes"
- else
- db_fset nagios3/adminpassword seen false
- db_fset nagios3/adminpassword-repeat seen false
- db_fset nagios3/adminpassword-mismatch seen false
- db_input critical nagios3/adminpassword-mismatch || true
- fi
- done
-fi
-db_go || true
diff --git a/debian/nagios3-cgi.dirs b/debian/nagios3-cgi.dirs
deleted file mode 100644
index 7d75ba5..0000000
--- a/debian/nagios3-cgi.dirs
+++ /dev/null
@@ -1,3 +0,0 @@
-etc/nagios3/stylesheets
-usr/share/nagios3/htdocs/ssi
-usr/lib/cgi-bin
diff --git a/debian/nagios3-cgi.install b/debian/nagios3-cgi.install
deleted file mode 100644
index 66ba557..0000000
--- a/debian/nagios3-cgi.install
+++ /dev/null
@@ -1,11 +0,0 @@
-debian-configs/cgi.cfg /etc/nagios3
-debian/httpd.webapps-common /usr/share/nagios3/debian
-usr/lib/cgi-bin/*
-usr/share/nagios3/htdocs/*.php
-usr/share/nagios3/htdocs/contexthelp
-usr/share/nagios3/htdocs/images
-usr/share/nagios3/htdocs/includes
-usr/share/nagios3/htdocs/media
-usr/share/nagios3/htdocs/robots.txt
-usr/share/nagios3/htdocs/stylesheets/* /etc/nagios3/stylesheets/
-debian/apache2.conf usr/share/nagios3-cgi/
diff --git a/debian/nagios3-cgi.links b/debian/nagios3-cgi.links
deleted file mode 100644
index 26707f5..0000000
--- a/debian/nagios3-cgi.links
+++ /dev/null
@@ -1,4 +0,0 @@
-usr/share/javascript/jquery/jquery.min.js usr/share/nagios3/htdocs/js/jquery-1.7.1.min.js
-etc/nagios3/apache2.conf etc/apache2/conf-available/nagios3.conf
-usr/share/javascript/jquery/jquery.min.js usr/share/nagios3/htdocs/includes/jquery-1.7.1.min.js
-usr/share/javascript/jquery/jquery.min.js usr/share/nagios3/htdocs/js/jquery-1.7.1.min.js
diff --git a/debian/nagios3-cgi.postinst b/debian/nagios3-cgi.postinst
deleted file mode 100644
index d60fa64..0000000
--- a/debian/nagios3-cgi.postinst
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/bin/bash
-
-set -e
-
-# some shorthands for sanity
-en="/etc/nagios3"
-enc="/etc/nagios3/conf.d"
-usn="/usr/share/nagios3"
-
-. /usr/share/debconf/confmodule
-
-if [ -n "$NAG3DEBUG" ]; then
- echo "now debugging $0 $@"
- set -x
-fi
-
-# location of the default apache configuration for nagios.
-apacheconf=$en/apache2.conf
-# location of the default htpasswd authentication file.
-htpw=$en/htpasswd.users
-
-setperm() {
- local user="$1"
- local group="$2"
- local mode="$3"
- local file="$4"
- shift 4
- # only do something when no setting exists
- if ! dpkg-statoverride --list "$file" >/dev/null 2>&1; then
- if [ -e "$file" ]; then
- chown "$user":"$group" "$file"
- chmod "$mode" "$file"
- fi
- fi
-}
-
-case "$1" in
- configure)
- if ! getent passwd nagios > /dev/null ; then
- echo 'Adding system-user for nagios' 1>&2
- adduser --system --group --home /var/lib/nagios \
- --disabled-login --force-badname nagios > /dev/null
- fi
-
- db_get nagios3/adminpassword
- admpass="$RET"
-
- # register apache2.conf via ucf:
- ucf --debconf-ok /usr/share/nagios3-cgi/apache2.conf $apacheconf
-
- echo "enabling Apache2 config..."
-
- COMMON_STATE=$(dpkg-query -f '${Status}' -W 'apache2.2-common' 2>/dev/null | awk '{print $3}' || true)
-
- # NEW method for Apache >= 2.4
- if [ -e /usr/share/apache2/apache2-maintscript-helper ]; then
- . /usr/share/apache2/apache2-maintscript-helper
-
- apache2_invoke enmod cgi
- apache2_invoke enconf nagios3
-
- # remove OLD Apache 2.2 link
- [ -L /etc/apache2/conf.d/nagios3.conf ] && rm /etc/apache2/conf.d/nagios3.conf
-
- # OLD methods for Apache < 2.4
- elif [ "$COMMON_STATE" = "installed" ] || [ "$COMMON_STATE" = "unpacked" ] ; then
-
- # create symlink if not existing
- [ -f /etc/apache2/conf.d/nagios3.conf ] || ln -vs $apacheconf /etc/apache2/conf.d/nagios3.conf
- if [ -f /etc/init.d/apache2 ] ; then
- if [ -x /usr/sbin/invoke-rc.d ]; then
- invoke-rc.d apache2 reload 3>/dev/null || true
- else
- /etc/init.d/apache2 reload 3>/dev/null || true
- fi
- fi
- fi
-
- # we reset the password every run, so if it exists we're running
- # after being specifically given a password and can unconditionally set it.
- # XXX there's no way of setting the pw w/out giving it on the cmdline? wtf?
- if [ -n "$admpass" ]; then
- touch "$htpw"
- htpasswd -b "$htpw" nagiosadmin "$admpass"
- fi
-
- # everything went well, so now let's reset the password
- db_set nagios3/adminpassword ""
- db_set nagios3/adminpassword-repeat ""
- # ... done with debconf here
- db_stop
- ;;
- abort-upgrade|abort-remove|abort-deconfigure)
- ;;
- *)
- echo "postinst called with unknown argument \$1'" >&2
- exit 1
- ;;
-esac
-
-#DEBHELPER#
diff --git a/debian/nagios3-cgi.postrm b/debian/nagios3-cgi.postrm
deleted file mode 100644
index d5273ac..0000000
--- a/debian/nagios3-cgi.postrm
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh -e
-
-# some shorthands for sanity
-en="/etc/nagios3"
-enc="/etc/nagios3/conf.d"
-usn="/usr/share/nagios3"
-
-case "$1" in
- remove)
- ;;
- purge)
- rm -f /etc/nagios3/htpasswd.users
- rm -f /etc/nagios3/apache2.conf
- if which ucf >/dev/null 2>&1; then
- ucf --purge /etc/nagios3/apache2.conf
- fi
- ;;
-esac
-
-#DEBHELPER#
diff --git a/debian/nagios3-cgi.templates b/debian/nagios3-cgi.templates
deleted file mode 100644
index 685ec70..0000000
--- a/debian/nagios3-cgi.templates
+++ /dev/null
@@ -1,16 +0,0 @@
-Template: nagios3/adminpassword
-Type: password
-_Description: Nagios web administration password:
- Please provide the password to be created with the "nagiosadmin" user.
- .
- This is the username and password you will use to log in to your nagios
- installation after configuration is complete. If you do not provide
- a password, you will have to configure access to nagios yourself.
-
-Template: nagios3/adminpassword-repeat
-Type: password
-_Description: Password confirmation:
-
-Template: nagios3/adminpassword-mismatch
-Type: note
-_Description: The passwords do not match
diff --git a/debian/nagios3-common.dirs b/debian/nagios3-common.dirs
deleted file mode 100644
index d208935..0000000
--- a/debian/nagios3-common.dirs
+++ /dev/null
@@ -1,10 +0,0 @@
-etc/init.d
-etc/nagios3
-etc/nagios3/conf.d
-usr/share/nagios3/plugins/eventhandlers
-var/lib/nagios3/rw
-var/lib/nagios3/spool
-var/lib/nagios3/spool/checkresults
-var/log/nagios3/archives
-var/cache/nagios3
-usr/share/nagios3/debian
diff --git a/debian/nagios3-common.install b/debian/nagios3-common.install
deleted file mode 100644
index bfe66c5..0000000
--- a/debian/nagios3-common.install
+++ /dev/null
@@ -1,8 +0,0 @@
-contrib/eventhandlers/* usr/share/nagios3/plugins/eventhandlers
-debian-configs/* /etc/nagios3
-debian/conf.d/* /etc/nagios3/conf.d
-debian/resource.cfg /etc/nagios3
-sample-config/*.cfg /usr/share/doc/nagios3-common/examples
-sample-config/README /usr/share/doc/nagios3-common/examples
-sample-config/template-object/*.cfg /usr/share/doc/nagios3-common/examples/template-object
-sample-config/template-object/README /usr/share/doc/nagios3-common/examples/template-object
diff --git a/debian/nagios3-common.links b/debian/nagios3-common.links
deleted file mode 100644
index ca1f177..0000000
--- a/debian/nagios3-common.links
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/nagios3/htdocs/docs usr/share/doc/nagios3-common/html
diff --git a/debian/nagios3-common.lintian-overrides b/debian/nagios3-common.lintian-overrides
deleted file mode 100644
index 8a28ef1..0000000
--- a/debian/nagios3-common.lintian-overrides
+++ /dev/null
@@ -1,2 +0,0 @@
-non-standard-file-perm etc/nagios3/resource.cfg 0600 != 0644
-dir-or-file-in-var-run var/run/nagios3/
diff --git a/debian/nagios3-common.postrm b/debian/nagios3-common.postrm
deleted file mode 100644
index 69939b8..0000000
--- a/debian/nagios3-common.postrm
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh -e
-
-# some shorthands for sanity
-en="/etc/nagios3"
-enc="/etc/nagios3/conf.d"
-usn="/usr/share/nagios3"
-
-case "$1" in
- remove)
- ;;
- purge)
- for file in $en/resource.cfg /var/log/nagios3 /var/run/nagios3 \
- /var/lib/nagios3 /var/lib/nagios3/spool \
- /var/lib/nagios3/spool/checkresults \
- /var/cache/nagios3 /var/lib/nagios3/rw; do
- dpkg-statoverride --force --remove $file 2>/dev/null || true
- done
- rm -rf /var/run/nagios3 /var/log/nagios3 /var/lib/nagios3 \
- /var/cache/nagios3
- rm -f /etc/nagios3/conf.d/host-gateway_nagios3.cfg
- #rm -f /etc/nagios3/conf.d/extcommands_nagios3.cfg
- if which ucf >/dev/null 2>&1; then
- ucf --purge /etc/nagios3/conf.d/host-gateway_nagios3.cfg
- #ucf --purge /etc/nagios3/conf.d/extcommands_nagios3.cfg
- fi
- ;;
-esac
-
-#DEBHELPER#
diff --git a/debian/nagios3-core.dirs b/debian/nagios3-core.dirs
deleted file mode 100644
index fd21446..0000000
--- a/debian/nagios3-core.dirs
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/sbin
-usr/lib/nagios3
diff --git a/debian/nagios3-core.install b/debian/nagios3-core.install
deleted file mode 100644
index e3b74be..0000000
--- a/debian/nagios3-core.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/sbin/p1.pl usr/lib/nagios3/
diff --git a/debian/nagios3-core.links b/debian/nagios3-core.links
deleted file mode 100644
index 059946d..0000000
--- a/debian/nagios3-core.links
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/doc/nagios3-common usr/share/doc/nagios3-core
diff --git a/debian/nagios3-core.manpages b/debian/nagios3-core.manpages
deleted file mode 100644
index 0d1b016..0000000
--- a/debian/nagios3-core.manpages
+++ /dev/null
@@ -1,2 +0,0 @@
-debian/nagios3.8
-debian/nagios3stats.8
diff --git a/debian/nagios3-core.postinst b/debian/nagios3-core.postinst
deleted file mode 100644
index 917c23f..0000000
--- a/debian/nagios3-core.postinst
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh -e
-
-#if we stop nagios3 in nagios3.prerm we should also start it here..
-#(#481334)
-if [ -x "/etc/init.d/nagios3" ]; then
- if ! /etc/init.d/nagios3 status >/dev/null; then
-
- if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
- invoke-rc.d nagios3 start || true
- else
- /etc/init.d/nagios3 start || true
- fi
- fi
-fi
-
-#DEBHELPER#
diff --git a/debian/nagios3-core.prerm b/debian/nagios3-core.prerm
deleted file mode 100644
index 1176c4b..0000000
--- a/debian/nagios3-core.prerm
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh -e
-
-# we attempt to stop nagios3 twice, once in nagios3-common's prerm
-# and once here. otherwise, if nagios3+nagios3-common are being purged,
-# the /usr/sbin/nagios3 binary could disappear before nagios3-common's
-# prerm script runs, which would prevent it from being able to stop
-# the binary.
-if [ -x "/etc/init.d/nagios3" ]; then
- if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
- invoke-rc.d nagios3 stop || true
- else
- /etc/init.d/nagios3 stop || true
- fi
-fi
-
-#DEBHELPER#
diff --git a/debian/nagios3-dbg.manpages b/debian/nagios3-dbg.manpages
deleted file mode 100644
index b08523c..0000000
--- a/debian/nagios3-dbg.manpages
+++ /dev/null
@@ -1 +0,0 @@
-debian/mini_epn_nagios3.8
diff --git a/debian/nagios3-dbg.postinst b/debian/nagios3-dbg.postinst
deleted file mode 100644
index d1568db..0000000
--- a/debian/nagios3-dbg.postinst
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh -e
-
-update-alternatives --quiet --install /usr/bin/mini_epn mini_epn /usr/bin/mini_epn_nagios3 10 \
- --slave /usr/share/man/man8/mini_epn.8.gz mini_epn.8.gz /usr/share/man/man8/mini_epn_nagios3.8.gz
-
-#DEBHELPER#
diff --git a/debian/nagios3-dbg.prerm b/debian/nagios3-dbg.prerm
deleted file mode 100644
index e0be6a3..0000000
--- a/debian/nagios3-dbg.prerm
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh -e
-
-if [ "$1" != "upgrade" ]; then
- update-alternatives --remove mini_epn /usr/bin/mini_epn_nagios3
-fi
-
-#DEBHELPER#
diff --git a/debian/nagios3-doc.dirs b/debian/nagios3-doc.dirs
deleted file mode 100644
index b5c38de..0000000
--- a/debian/nagios3-doc.dirs
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/share/nagios3/htdocs
-etc/nagios3/stylesheets
diff --git a/debian/nagios3-doc.install b/debian/nagios3-doc.install
deleted file mode 100644
index 6ba7b64..0000000
--- a/debian/nagios3-doc.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/nagios3/htdocs/docs
diff --git a/debian/nagios3-doc.links b/debian/nagios3-doc.links
deleted file mode 100644
index adf1154..0000000
--- a/debian/nagios3-doc.links
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/share/nagios3/htdocs/docs usr/share/doc/nagios3-doc/html
-etc/nagios3/stylesheets usr/share/nagios3/stylesheets
diff --git a/debian/nagios3-doc.lintian-overrides b/debian/nagios3-doc.lintian-overrides
deleted file mode 100644
index 16fdb1c..0000000
--- a/debian/nagios3-doc.lintian-overrides
+++ /dev/null
@@ -1 +0,0 @@
-package-contains-empty-directory usr/share/nagios3/htdocs/ssi/
diff --git a/debian/nagios3.links b/debian/nagios3.links
deleted file mode 100644
index 9822c76..0000000
--- a/debian/nagios3.links
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/doc/nagios3-common usr/share/doc/nagios3
diff --git a/debian/nagios3.lintian-overrides b/debian/nagios3.lintian-overrides
deleted file mode 100644
index e0c6ca8..0000000
--- a/debian/nagios3.lintian-overrides
+++ /dev/null
@@ -1 +0,0 @@
-usr-share-doc-symlink-without-dependency nagios3-common
diff --git a/debian/nagios4-cgi.config b/debian/nagios4-cgi.config
new file mode 100644
index 0000000..11a078e
--- /dev/null
+++ b/debian/nagios4-cgi.config
@@ -0,0 +1,68 @@
+#!/bin/sh -e
+
+. /usr/share/debconf/confmodule
+
+# (taken from the webapps-common httpd functions)
+# wc_httpd_installed: test for installed httpds
+# usage:
+# wc_httpd_installed [ httpd1 httpd2 ... ]
+#
+# no arguments implies to test for all servers
+wc_httpd_installed(){
+ local httpds
+ if [ "$*" ]; then
+ httpds=$*
+ else
+ httpds=$wc_httpd_supported
+ fi
+ for f in $httpds; do
+ if test -x /usr/sbin/$f; then
+ echo $f
+ fi
+ done
+}
+
+
+# list of installed servers to check for
+default_servers=`wc_httpd_installed apache2 apache apache-ssl apache-perl`
+# convert list to comma seperated list
+server_list=`echo $default_servers | sed -e 's/[[:space:]][[:space:]]*/, /g'`
+
+# if they haven't already been prompted, preseed the server selection
+db_fget nagios4/httpd seen
+if [ "$RET" = "false" ]; then
+ db_set nagios4/httpd $server_list
+fi
+
+db_input medium nagios4/httpd || true
+db_go || true
+db_get nagios4/httpd
+keepgoing="$RET"
+
+if [ "$keepgoing" ]; then
+ db_input medium nagios4/nagios1-in-apacheconf || true
+
+ # the passwords are reset at the end of every postinst run,
+ # however, they are left in the "seen" state so that the
+ # admin is not prompted for them at every upgrade.
+ while [ ! "$passwordsmatch" ]; do
+ #only ask for a password if no htpasswd exists
+ test -f /etc/nagios4/htpasswd.users && break
+ db_input high nagios4/adminpassword || true
+ db_input high nagios4/adminpassword-repeat || true
+ db_go || true
+ db_get nagios4/adminpassword
+ p1="$RET"
+ db_get nagios4/adminpassword-repeat
+ p2="$RET"
+ if [ "$p1" = "$p2" ]; then
+ passwordsmatch="yes"
+ else
+ db_fset nagios4/adminpassword seen false
+ db_fset nagios4/adminpassword-repeat seen false
+ db_fset nagios4/adminpassword-mismatch seen false
+ db_input critical nagios4/adminpassword-mismatch || true
+ fi
+ done
+fi
+db_go || true
diff --git a/debian/nagios4-cgi.dirs b/debian/nagios4-cgi.dirs
new file mode 100644
index 0000000..46eec54
--- /dev/null
+++ b/debian/nagios4-cgi.dirs
@@ -0,0 +1,3 @@
+etc/nagios4/stylesheets
+usr/share/nagios4/htdocs/ssi
+usr/lib/cgi-bin
diff --git a/debian/nagios4-cgi.install b/debian/nagios4-cgi.install
new file mode 100644
index 0000000..f80fb7e
--- /dev/null
+++ b/debian/nagios4-cgi.install
@@ -0,0 +1,10 @@
+debian/httpd.webapps-common /usr/share/nagios4/debian
+debian-configs/cgi.cfg /etc/nagios4
+usr/share/nagios4/htdocs/*.php
+usr/share/nagios4/htdocs/media
+usr/share/nagios4/htdocs/contexthelp
+usr/share/nagios4/htdocs/robots.txt
+usr/share/nagios4/htdocs/images
+usr/share/nagios4/htdocs/includes
+usr/lib/cgi-bin/*
+usr/share/nagios4/htdocs/stylesheets/* /etc/nagios4/stylesheets/
diff --git a/debian/nagios4-cgi.postinst b/debian/nagios4-cgi.postinst
new file mode 100644
index 0000000..2be600a
--- /dev/null
+++ b/debian/nagios4-cgi.postinst
@@ -0,0 +1,119 @@
+#!/bin/bash
+
+set -e
+
+# some shorthands for sanity
+en="/etc/nagios4"
+enc="/etc/nagios4/conf.d"
+usn="/usr/share/nagios4"
+
+. /usr/share/debconf/confmodule
+. $usn/debian/httpd.webapps-common
+
+if [ -n "$NAG4DEBUG" ]; then
+ echo "now debugging $0 $@"
+ set -x
+fi
+
+# location of the default apache configuration for nagios.
+apacheconf=$en/apache2.conf
+# location of the default htpasswd authentication file.
+htpw=$en/htpasswd.users
+
+setperm() {
+ local user="$1"
+ local group="$2"
+ local mode="$3"
+ local file="$4"
+ shift 4
+ # only do something when no setting exists
+ if ! dpkg-statoverride --list "$file" >/dev/null 2>&1; then
+ chown "$user":"$group" "$file"
+ chmod "$mode" "$file"
+ fi
+}
+
+case "$1" in
+ configure)
+ if ! getent passwd nagios > /dev/null ; then
+ echo 'Adding system-user for nagios' 1>&2
+ adduser --system --group --home /var/lib/nagios \
+ --disabled-login --force-badname nagios > /dev/null
+ fi
+
+ # get the list of selected servers
+ db_get nagios4/httpd
+ servers=$(echo $RET | sed -e 's/,/ /g')
+ db_get nagios4/adminpassword
+ admpass="$RET"
+ # get whether they want support for 1.x urls:
+ db_get nagios4/nagios1-in-apacheconf
+ nagiosone="$RET"
+
+ unwanted_servers=""
+
+ #check which servers to uninclude
+ for s in $wc_httpd_supported
+ do
+ if ! echo $servers | grep -q $s
+ then
+ unwanted_servers="$s $unwanted_servers"
+ fi
+ done
+
+ # register apache2.conf via ucf:
+ if [ "$nagiosone" = "true" ]; then
+ ucf --debconf-ok /usr/share/doc/nagios4-common/examples/apache2.nagios1.conf $apacheconf
+ else
+ ucf --debconf-ok /usr/share/doc/nagios4-common/examples/apache2.conf $apacheconf
+ fi
+
+
+ # configure the web servers, if it is desired
+ if [ "$servers" ]; then
+ if wc_httpd_apache_include $apacheconf nagios4 $servers; then
+ # reload the selected servers if they are running
+ running_servers="$(wc_httpd_running $servers)"
+ if [ "$running_servers" ]; then
+ wc_httpd_invoke "reload" $running_servers
+ fi
+ fi
+ fi
+
+ if [ "$unwanted_servers" ]; then
+ servers_to_deconf="$(wc_httpd_apache_configured $apacheconf nagios4 $unwanted_servers)"
+ if [ "$servers_to_deconf" ]; then
+ if wc_httpd_apache_uninclude $apacheconf nagios4 $servers_to_deconf; then
+ # reload the selected servers if they are running
+ running_servers="$(wc_httpd_running $unwanted_servers)"
+ if [ "$running_servers" ]; then
+ wc_httpd_invoke "reload" $running_servers
+ fi
+ fi
+ fi
+ fi
+
+
+ # we reset the password every run, so if it exists we're running
+ # after being specifically given a password and can unconditionally set it.
+ # XXX there's no way of setting the pw w/out giving it on the cmdline? wtf?
+ if [ -n "$admpass" ]; then
+ touch "$htpw"
+ htpasswd -b "$htpw" nagiosadmin "$admpass"
+ fi
+
+ # everything went well, so now let's reset the password
+ db_set nagios4/adminpassword ""
+ db_set nagios4/adminpassword-repeat ""
+ # ... done with debconf here
+ db_stop
+ ;;
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+ *)
+ echo "postinst called with unknown argument \$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
diff --git a/debian/nagios4-cgi.postrm b/debian/nagios4-cgi.postrm
new file mode 100644
index 0000000..6d75a21
--- /dev/null
+++ b/debian/nagios4-cgi.postrm
@@ -0,0 +1,20 @@
+#!/bin/sh -e
+
+# some shorthands for sanity
+en="/etc/nagios4"
+enc="/etc/nagios4/conf.d"
+usn="/usr/share/nagios4"
+
+case "$1" in
+ remove)
+ ;;
+ purge)
+ rm -f /etc/nagios4/htpasswd.users
+ rm -f /etc/nagios4/apache2.conf
+ if which ucf >/dev/null 2>&1; then
+ ucf --purge /etc/nagios4/apache2.conf
+ fi
+ ;;
+esac
+
+#DEBHELPER#
diff --git a/debian/nagios3-cgi.prerm b/debian/nagios4-cgi.prerm
similarity index 74%
rename from debian/nagios3-cgi.prerm
rename to debian/nagios4-cgi.prerm
index c7f5832..b4c53db 100644
--- a/debian/nagios3-cgi.prerm
+++ b/debian/nagios4-cgi.prerm
@@ -1,17 +1,17 @@
#!/bin/sh -e
-. /usr/share/nagios3/debian/httpd.webapps-common
+. /usr/share/nagios4/debian/httpd.webapps-common
-apacheconf="/etc/nagios3/apache2.conf"
+apacheconf="/etc/nagios4/apache2.conf"
if [ -f $apacheconf ]; then
case "$1" in
remove)
# find the configured servers
- configured_servers=`wc_httpd_apache_configured $apacheconf nagios3`
+ configured_servers=`wc_httpd_apache_configured $apacheconf nagios4`
if [ "$configured_servers" ]; then
# deconfigure them
- wc_httpd_apache_uninclude $apacheconf nagios3 $configured_servers
+ wc_httpd_apache_uninclude $apacheconf nagios4 $configured_servers
# reload the configured servers if they are running
running_servers="`wc_httpd_running $configured_servers`"
if [ "$running_servers" ]; then
diff --git a/debian/nagios4-cgi.templates b/debian/nagios4-cgi.templates
new file mode 100644
index 0000000..83de427
--- /dev/null
+++ b/debian/nagios4-cgi.templates
@@ -0,0 +1,38 @@
+Template: nagios4/httpd
+Type: multiselect
+Choices: apache2
+Default: apache2
+Description: Apache servers to configure for nagios4:
+ Please select which apache servers should be configured for nagios4.
+ .
+ If you would prefer to perform configuration manually, leave all
+ servers unselected.
+
+Template: nagios4/adminpassword
+Type: password
+Description: Nagios web administration password:
+ Please provide the password to be created with the "nagiosadmin" user.
+ .
+ This is the username and password you will use to log in to your nagios
+ installation after configuration is complete. If you do not provide
+ a password, you will have to configure access to nagios yourself.
+
+Template: nagios4/adminpassword-repeat
+Type: password
+Description: Password confirmation:
+
+Template: nagios4/adminpassword-mismatch
+Type: note
+Description: The passwords do not match
+
+Template: nagios4/nagios1-in-apacheconf
+Type: boolean
+Default: false
+Description: Enable support for nagios 1.x links in nagios4?
+ Please choose whether the Apache configuration for nagios4 should
+ provide compatibility with links from nagios 1.x.
+ .
+ If you select this option, the apache configuration used for nagios
+ will include directives to support URLs from nagios 1.x.
+ You should not choose this option if you still have nagios 1.x on your
+ system, or unpredictable results may occur.
diff --git a/debian/nagios4-common.dirs b/debian/nagios4-common.dirs
new file mode 100644
index 0000000..0f61cab
--- /dev/null
+++ b/debian/nagios4-common.dirs
@@ -0,0 +1,11 @@
+etc/init.d
+etc/nagios4
+etc/nagios4/conf.d
+usr/share/nagios4/plugins/eventhandlers
+var/lib/nagios4/rw
+var/lib/nagios4/spool
+var/lib/nagios4/spool/checkresults
+var/log/nagios4/archives
+var/run/nagios4
+var/cache/nagios4
+usr/share/nagios4/debian
diff --git a/debian/nagios3-common.docs b/debian/nagios4-common.docs
similarity index 100%
rename from debian/nagios3-common.docs
rename to debian/nagios4-common.docs
diff --git a/debian/nagios3-common.examples b/debian/nagios4-common.examples
similarity index 88%
rename from debian/nagios3-common.examples
rename to debian/nagios4-common.examples
index 2ac5432..cb0bcdc 100644
--- a/debian/nagios3-common.examples
+++ b/debian/nagios4-common.examples
@@ -3,3 +3,4 @@ sample-config/template-object/localhost.cfg
sample-config/resource.cfg
sample-config/nagios.cfg
sample-config/cgi.cfg
+debian/apache2.conf
diff --git a/debian/nagios4-common.install b/debian/nagios4-common.install
new file mode 100644
index 0000000..6f42037
--- /dev/null
+++ b/debian/nagios4-common.install
@@ -0,0 +1,8 @@
+debian-configs/* /etc/nagios4
+debian/resource.cfg /etc/nagios4
+debian/conf.d/* /etc/nagios4/conf.d
+sample-config/README /usr/share/doc/nagios4-common/examples
+sample-config/*.cfg /usr/share/doc/nagios4-common/examples
+sample-config/template-object/README /usr/share/doc/nagios4-common/examples/template-object
+sample-config/template-object/*.cfg /usr/share/doc/nagios4-common/examples/template-object
+contrib/eventhandlers/* usr/share/nagios4/plugins/eventhandlers
diff --git a/debian/nagios4-common.links b/debian/nagios4-common.links
new file mode 100644
index 0000000..5c08dd8
--- /dev/null
+++ b/debian/nagios4-common.links
@@ -0,0 +1 @@
+usr/share/nagios4/htdocs/docs usr/share/doc/nagios4-common/html
diff --git a/debian/nagios4-common.lintian-overrides b/debian/nagios4-common.lintian-overrides
new file mode 100644
index 0000000..cc6a085
--- /dev/null
+++ b/debian/nagios4-common.lintian-overrides
@@ -0,0 +1,2 @@
+non-standard-file-perm etc/nagios4/resource.cfg 0600 != 0644
+dir-or-file-in-var-run var/run/nagios4/
diff --git a/debian/nagios3-common.nagios3.default b/debian/nagios4-common.nagios4.default
similarity index 67%
rename from debian/nagios3-common.nagios3.default
rename to debian/nagios4-common.nagios4.default
index 5ea3b82..9349374 100644
--- a/debian/nagios3-common.nagios3.default
+++ b/debian/nagios4-common.nagios4.default
@@ -1,14 +1,14 @@
-# /etc/default/nagios3
+# /etc/default/nagios4
-# Enable Nagios3 at boottime? ("no" disables nagios3)
+# Enable Nagios3 at boottime? ("no" disables nagios4)
# compatibility note: if this variable is _not_ found Nagios3 will start
ENABLED="yes"
# location of the nagios configuration file
-NAGIOSCFG="/etc/nagios3/nagios.cfg"
+NAGIOSCFG="/etc/nagios4/nagios.cfg"
# location of the CGI configuration file
-CGICFG="/etc/nagios3/cgi.cfg"
+CGICFG="/etc/nagios4/cgi.cfg"
# nicelevel to run nagios daemon with
NICENESS=5
diff --git a/debian/nagios3-common.nagios3.init b/debian/nagios4-common.nagios4.init
similarity index 85%
rename from debian/nagios3-common.nagios3.init
rename to debian/nagios4-common.nagios4.init
index 3a1a03d..466b24c 100644
--- a/debian/nagios3-common.nagios3.init
+++ b/debian/nagios4-common.nagios4.init
@@ -5,10 +5,10 @@
# Clamav version by Magnus Ekdahl
# Nagios version by Sean Finney and probably others
# nagios2 version by Marc Haber
-# nagios3 version by Alexander Wirt
+# nagios4 version by Alexander Wirt
### BEGIN INIT INFO
-# Provides: nagios3
+# Provides: nagios4
# Required-Start: $local_fs $remote_fs $syslog $named $network $time
# Required-Stop: $local_fs $remote_fs $syslog $named $network
# Should-Start:
@@ -23,15 +23,15 @@ set -e
. /lib/lsb/init-functions
-DAEMON=/usr/sbin/nagios3
-NAME="nagios3"
-DESC="nagios3 monitoring daemon"
-NAGIOSCFG="/etc/nagios3/nagios.cfg"
-CGICFG="/etc/nagios3/cgi.cfg"
+DAEMON=/usr/sbin/nagios4
+NAME="nagios4"
+DESC="nagios4 monitoring daemon"
+NAGIOSCFG="/etc/nagios4/nagios.cfg"
+CGICFG="/etc/nagios4/cgi.cfg"
NICENESS=5
[ -x "$DAEMON" ] || exit 0
-[ -r /etc/default/nagios3 ] && . /etc/default/nagios3
+[ -r /etc/default/nagios4 ] && . /etc/default/nagios4
# this is from madduck on IRC, 2006-07-06
@@ -47,18 +47,8 @@ log()
log_action_end_msg ${success:-0} "$*"
}
-check_run () {
- if [ ! -d '/var/run/nagios3' ];
- then
- mkdir /var/run/nagios3
- chown nagios:nagios /var/run/nagios3
- chmod 0750 /var/run/nagios3
- fi
-}
-
-
check_started () {
- #nagios3-core can be installed without -cgi
+ #nagios4-core can be installed without -cgi
if [ -e $CGICFG ];
then
check_cmd=$(get_config nagios_check_command $CGICFG)
@@ -68,7 +58,7 @@ check_started () {
fi
else
#use hardcoded default version
- check_cmd="/usr/lib/nagios/plugins/check_nagios /var/cache/nagios3/status.dat 5 '/usr/sbin/nagios3'"
+ check_cmd="/usr/lib/nagios/plugins/check_nagios /var/cache/nagios4/status.dat 5 '/usr/sbin/nagios4'"
fi
eval $check_cmd >/dev/null
@@ -131,15 +121,19 @@ if [ ! -f "$NAGIOSCFG" ]; then
fi
THEPIDFILE=$(get_config "lock_file")
-[ -n "$THEPIDFILE" ] || THEPIDFILE='/var/run/nagios3/nagios.pid'
+[ -n "$THEPIDFILE" ] || THEPIDFILE='/var/run/nagios4/nagios.pid'
start () {
if [ "$ENABLED" = "no" ]; then
- log_warning_msg "Not starting Nagios3 - set ENABLED to yes in /etc/default/nagios3"
+ log_warning_msg "Not starting Nagios3 - set ENABLED to yes in /etc/defrault/nagios4"
exit 0
fi
+ DIRECTORY=$(dirname $THEPIDFILE)
+ [ ! -d $DIRECTORY ] && mkdir -p $DIRECTORY
+ chown nagios:nagios $DIRECTORY
+
if ! check_started; then
if ! check_named_pipe; then
log_action_msg "named pipe exists - removing"
@@ -162,13 +156,13 @@ start () {
stop () {
killproc -p $THEPIDFILE
ret=$?
- if [ `pidof nagios3 | wc -l ` -gt 0 ]; then
+ if [ `pidof nagios4 | wc -l ` -gt 0 ]; then
echo -n "Waiting for $NAME daemon to die.."
cnt=0
- while [ `pidof nagios3 | wc -l ` -gt 0 ]; do
+ while [ `pidof nagios4 | wc -l ` -gt 0 ]; do
cnt=`expr "$cnt" + 1`
if [ "$cnt" -gt 15 ]; then
- kill -9 `pidof nagios3`
+ kill -9 `pidof nagios4`
break
fi
sleep 1
@@ -218,12 +212,6 @@ reload () {
fi
}
-check() {
- $DAEMON -v $NAGIOSCFG
-}
-
-check_run
-
case "$1" in
start)
log_daemon_msg "Starting $DESC" "$NAME"
diff --git a/debian/nagios3-common.postinst b/debian/nagios4-common.postinst
similarity index 61%
rename from debian/nagios3-common.postinst
rename to debian/nagios4-common.postinst
index f775987..a1b0e4b 100644
--- a/debian/nagios3-common.postinst
+++ b/debian/nagios4-common.postinst
@@ -3,13 +3,13 @@
set -e
# some shorthands for sanity
-en="/etc/nagios3"
-enc="/etc/nagios3/conf.d"
-usn="/usr/share/nagios3"
+en="/etc/nagios4"
+enc="/etc/nagios4/conf.d"
+usn="/usr/share/nagios4"
. /usr/share/debconf/confmodule
-if [ -n "$NAG3DEBUG" ]; then
+if [ -n "$NAG4DEBUG" ]; then
echo "now debugging $0 $@"
set -x
fi
@@ -22,10 +22,8 @@ setperm() {
shift 4
# only do something when no setting exists
if ! dpkg-statoverride --list "$file" >/dev/null 2>&1; then
- if [ -e "$file" ]; then
- chown "$user":"$group" "$file"
- chmod "$mode" "$file"
- fi
+ chown "$user":"$group" "$file"
+ chmod "$mode" "$file"
fi
}
@@ -40,13 +38,14 @@ case "$1" in
# explicitly set permissions on some files that are dependent
# on the uid/gid of the nagios user, which is dynamically created.
setperm root nagios 0640 $en/resource.cfg
- setperm nagios adm 2751 /var/log/nagios3
- setperm nagios adm 2751 /var/log/nagios3/archives
- setperm nagios nagios 0750 /var/lib/nagios3
- setperm nagios nagios 0750 /var/lib/nagios3/spool
- setperm nagios nagios 0750 /var/lib/nagios3/spool/checkresults
- setperm nagios www-data 02750 /var/cache/nagios3
- setperm nagios www-data 0700 /var/lib/nagios3/rw
+ setperm nagios adm 2751 /var/log/nagios4
+ setperm nagios adm 2751 /var/log/nagios4/archives
+ setperm nagios nagios 0750 /var/run/nagios4
+ setperm nagios nagios 0750 /var/lib/nagios4
+ setperm nagios nagios 0750 /var/lib/nagios4/spool
+ setperm nagios nagios 0750 /var/lib/nagios4/spool/checkresults
+ setperm nagios www-data 02750 /var/cache/nagios4
+ setperm nagios www-data 0700 /var/lib/nagios4/rw
db_stop
;;
diff --git a/debian/nagios4-common.postrm b/debian/nagios4-common.postrm
new file mode 100644
index 0000000..8dadd58
--- /dev/null
+++ b/debian/nagios4-common.postrm
@@ -0,0 +1,29 @@
+#!/bin/sh -e
+
+# some shorthands for sanity
+en="/etc/nagios4"
+enc="/etc/nagios4/conf.d"
+usn="/usr/share/nagios4"
+
+case "$1" in
+ remove)
+ ;;
+ purge)
+ for file in $en/resource.cfg /var/log/nagios4 /var/run/nagios4 \
+ /var/lib/nagios4 /var/lib/nagios4/spool \
+ /var/lib/nagios4/spool/checkresults \
+ /var/cache/nagios4 /var/lib/nagios4/rw; do
+ dpkg-statoverride --force --remove $file 2>/dev/null || true
+ done
+ rm -rf /var/run/nagios4 /var/log/nagios4 /var/lib/nagios4 \
+ /var/cache/nagios4
+ rm -f /etc/nagios4/conf.d/host-gateway_nagios4.cfg
+ #rm -f /etc/nagios4/conf.d/extcommands_nagios4.cfg
+ if which ucf >/dev/null 2>&1; then
+ ucf --purge /etc/nagios4/conf.d/host-gateway_nagios4.cfg
+ #ucf --purge /etc/nagios4/conf.d/extcommands_nagios4.cfg
+ fi
+ ;;
+esac
+
+#DEBHELPER#
diff --git a/debian/nagios4-core.dirs b/debian/nagios4-core.dirs
new file mode 100644
index 0000000..6d92bc6
--- /dev/null
+++ b/debian/nagios4-core.dirs
@@ -0,0 +1,2 @@
+usr/sbin
+usr/lib/nagios4
diff --git a/debian/nagios4-core.links b/debian/nagios4-core.links
new file mode 100644
index 0000000..6a4af75
--- /dev/null
+++ b/debian/nagios4-core.links
@@ -0,0 +1 @@
+usr/share/doc/nagios4-common usr/share/doc/nagios4-core
diff --git a/debian/nagios4-core.manpages b/debian/nagios4-core.manpages
new file mode 100644
index 0000000..4ccfd3a
--- /dev/null
+++ b/debian/nagios4-core.manpages
@@ -0,0 +1,2 @@
+debian/nagios4.8
+debian/nagios4stats.8
diff --git a/debian/nagios4-core.postinst b/debian/nagios4-core.postinst
new file mode 100644
index 0000000..ad60dc0
--- /dev/null
+++ b/debian/nagios4-core.postinst
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+#if we stop nagios4 in nagios4.prerm we should also start it here..
+#(#481334)
+if [ -x "/etc/init.d/nagios4" ]; then
+ if ! /etc/init.d/nagios4 status >/dev/null; then
+
+ if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+ invoke-rc.d nagios4 start || true
+ else
+ /etc/init.d/nagios4 start || true
+ fi
+ fi
+fi
+
+#DEBHELPER#
diff --git a/debian/nagios4-core.prerm b/debian/nagios4-core.prerm
new file mode 100644
index 0000000..b49552a
--- /dev/null
+++ b/debian/nagios4-core.prerm
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+# we attempt to stop nagios4 twice, once in nagios4-common's prerm
+# and once here. otherwise, if nagios4+nagios4-common are being purged,
+# the /usr/sbin/nagios4 binary could disappear before nagios4-common's
+# prerm script runs, which would prevent it from being able to stop
+# the binary.
+if [ -x "/etc/init.d/nagios4" ]; then
+ if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+ invoke-rc.d nagios4 stop || true
+ else
+ /etc/init.d/nagios4 stop || true
+ fi
+fi
+
+#DEBHELPER#
diff --git a/debian/nagios4-dbg.manpages b/debian/nagios4-dbg.manpages
new file mode 100644
index 0000000..e69de29
diff --git a/debian/nagios4-dbg.postinst b/debian/nagios4-dbg.postinst
new file mode 100644
index 0000000..4e87ce9
--- /dev/null
+++ b/debian/nagios4-dbg.postinst
@@ -0,0 +1,6 @@
+#!/bin/sh -e
+
+#update-alternatives --quiet --install /usr/bin/mini_epn mini_epn /usr/bin/mini_epn_nagios4 10 \
+# --slave /usr/share/man/man8/mini_epn.8.gz mini_epn.8.gz /usr/share/man/man8/mini_epn_nagios4.8.gz
+
+#DEBHELPER#
diff --git a/debian/nagios4-dbg.prerm b/debian/nagios4-dbg.prerm
new file mode 100644
index 0000000..c901afa
--- /dev/null
+++ b/debian/nagios4-dbg.prerm
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+#if [ "$1" != "upgrade" ]; then
+# update-alternatives --remove mini_epn /usr/bin/mini_epn_nagios4
+#fi
+
+#DEBHELPER#
diff --git a/debian/nagios4-doc.dirs b/debian/nagios4-doc.dirs
new file mode 100644
index 0000000..ecdaf59
--- /dev/null
+++ b/debian/nagios4-doc.dirs
@@ -0,0 +1,2 @@
+usr/share/nagios4/htdocs
+etc/nagios4/stylesheets
diff --git a/debian/nagios3-doc.doc-base b/debian/nagios4-doc.doc-base
similarity index 56%
rename from debian/nagios3-doc.doc-base
rename to debian/nagios4-doc.doc-base
index 713b5cc..ac6eae7 100644
--- a/debian/nagios3-doc.doc-base
+++ b/debian/nagios4-doc.doc-base
@@ -1,9 +1,9 @@
-Document: nagios3
+Document: nagios4
Title: Nagios Documentation
Author: Ethan Galstad
Abstract: Nagios user and administrator's documentation
Section: Network/Monitoring
Format: HTML
-Index: /usr/share/nagios3/htdocs/docs/index.html
-Files: /usr/share/nagios3/htdocs/docs/*.html
+Index: /usr/share/nagios4/htdocs/docs/index.html
+Files: /usr/share/nagios4/htdocs/docs/*.html
diff --git a/debian/nagios4-doc.install b/debian/nagios4-doc.install
new file mode 100644
index 0000000..b2a659e
--- /dev/null
+++ b/debian/nagios4-doc.install
@@ -0,0 +1 @@
+usr/share/nagios4/htdocs/docs
diff --git a/debian/nagios4-doc.links b/debian/nagios4-doc.links
new file mode 100644
index 0000000..151f6d5
--- /dev/null
+++ b/debian/nagios4-doc.links
@@ -0,0 +1,2 @@
+usr/share/nagios4/htdocs/docs usr/share/doc/nagios4-doc/html
+etc/nagios4/stylesheets usr/share/nagios4/stylesheets
diff --git a/debian/nagios4-doc.lintian-overrides b/debian/nagios4-doc.lintian-overrides
new file mode 100644
index 0000000..f240151
--- /dev/null
+++ b/debian/nagios4-doc.lintian-overrides
@@ -0,0 +1 @@
+package-contains-empty-directory usr/share/nagios4/htdocs/ssi/
diff --git a/debian/nagios3.8 b/debian/nagios4.8
similarity index 75%
rename from debian/nagios3.8
rename to debian/nagios4.8
index 273f497..25e281e 100644
--- a/debian/nagios3.8
+++ b/debian/nagios4.8
@@ -1,13 +1,13 @@
-.TH nagios3 "8" "February 2006" "sean finney " "nagios"
+.TH nagios4 "8" "February 2006" "sean finney " "nagios"
.SH NAME
-nagios3 \- network/systems status monitoring daemon
+nagios4 \- network/systems status monitoring daemon
.SH SYNOPSIS
-.B nagios3 [\-h] [\-v] [\-s] [\-d]
+.B nagios4 [\-h] [\-v] [\-s] [\-d]
.br
.SH DESCRIPTION
-.B nagios3
+.B nagios4
is a daemon program that monitors the status of various network
accessible systems, devices, and more. For more information, please
consult the online documentation available at http://www.nagios.org,
@@ -17,7 +17,7 @@ or on your nagios server's web page.
.TP
main_config_file
The main configuration file. On debian systems this defaults to
-/etc/nagios3/nagios.cfg
+/etc/nagios4/nagios.cfg
.TP
\fB\-h\fR
A helpful usage message
@@ -36,11 +36,11 @@ Starts Nagios in daemon mode (instead of as a foreground process).
.SH FILES
.TP
-.IP /etc/nagios3
-Default configuration directory for nagios3
+.IP /etc/nagios4
+Default configuration directory for nagios4
.SH AUTHOR
-nagios3 is written and maintained by Ethan Galstad . This
+nagios4 is written and maintained by Ethan Galstad . This
manual page was written by sean finney for the
Debian GNU/Linux operating system (but it may be freely used, modified,
and redistributed by others).
diff --git a/debian/nagios4.links b/debian/nagios4.links
new file mode 100644
index 0000000..eb676f0
--- /dev/null
+++ b/debian/nagios4.links
@@ -0,0 +1 @@
+usr/share/doc/nagios4-common usr/share/doc/nagios4
diff --git a/debian/nagios4.lintian-overrides b/debian/nagios4.lintian-overrides
new file mode 100644
index 0000000..97d1d06
--- /dev/null
+++ b/debian/nagios4.lintian-overrides
@@ -0,0 +1 @@
+usr-share-doc-symlink-without-dependency nagios4-common
diff --git a/debian/nagios3stats.8 b/debian/nagios4stats.8
similarity index 72%
rename from debian/nagios3stats.8
rename to debian/nagios4stats.8
index aec47b3..eeda41b 100644
--- a/debian/nagios3stats.8
+++ b/debian/nagios4stats.8
@@ -1,13 +1,13 @@
-.TH nagios3stats "8" "February 2006" "sean finney " "nagios"
+.TH nagios4stats "8" "February 2006" "sean finney " "nagios"
.SH NAME
-nagios3stats \- report statistics information from the nagios system
+nagios4stats \- report statistics information from the nagios system
.SH SYNOPSIS
-.B nagios3stats [\-hVL] [\-c config] [\-m] [\-d]
+.B nagios4stats [\-hVL] [\-c config] [\-m] [\-d]
.br
.SH DESCRIPTION
-.B nagios3stats
+.B nagios4stats
Is a program designed to provide information on the running nagios
system. It can provide a brief summary of information, or it can
be used to export specific information about the nagios system
@@ -20,15 +20,15 @@ with your nagios server's web page.
.TP
\fB\-c\fR|\-\-config=FILE
The main configuration file. On debian systems this defaults to
-/etc/nagios3/nagios.cfg
+/etc/nagios4/nagios.cfg
.TP
\fB\-m\fR|\-\-mrtg
Print output in MRTG-compatible format. For more details run
-nagios3stats with \-\-help
+nagios4stats with \-\-help
.TP
\fB\-d\fR|\-\-data=VARS
Comma-seperated list of variables to output in MRTG format. For
-more details run nagios3stats with \-\-help.
+more details run nagios4stats with \-\-help.
.TP
\fB\-h\fR|\-\-help
A helpful usage message
@@ -41,11 +41,11 @@ Print license details
.SH FILES
.TP
-.IP /etc/nagios3
-Default configuration directory for nagios3
+.IP /etc/nagios4
+Default configuration directory for nagios4
.SH AUTHOR
-nagios3 is written and maintained by Ethan Galstad . This
+nagios4 is written and maintained by Ethan Galstad . This
manual page was written by sean finney for the
Debian GNU/Linux operating system (but it may be freely used, modified,
and redistributed by others).
diff --git a/debian/patches/10_p1_pl_shebang.patch b/debian/patches/10_p1_pl_shebang.patch
deleted file mode 100644
index 69d9e16..0000000
--- a/debian/patches/10_p1_pl_shebang.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Author: Marc Haber
-Description: Fix shebang of perl interpreter
---- a/p1.pl
-+++ b/p1.pl
-@@ -1,4 +1,6 @@
-- package Embed::Persistent;
-+#!/usr/bin/perl
-+
-+package Embed::Persistent;
-
- # p1.pl for Nagios
-
diff --git a/debian/patches/50_cgi.cfg-debianize.patch b/debian/patches/50_cgi.cfg-debianize.patch
index 4e14495..c66bca3 100644
--- a/debian/patches/50_cgi.cfg-debianize.patch
+++ b/debian/patches/50_cgi.cfg-debianize.patch
@@ -30,7 +30,7 @@ Description: Debianize cgi.cfg
+# have to be tweaked a bit, as different versions of the plugin
+# use different command line arguments/syntaxes.
-+nagios_check_command=/usr/lib/nagios/plugins/check_nagios /var/cache/nagios3/status.dat 5 '/usr/sbin/nagios3'
++nagios_check_command=/usr/lib/nagios/plugins/check_nagios /var/cache/nagios4/status.dat 5 '/usr/sbin/nagios4'
# AUTHENTICATION USAGE
diff --git a/debian/patches/52_nagios.cfg-debianize.patch b/debian/patches/52_nagios.cfg-debianize.patch
index 621e645..b2585f6 100644
--- a/debian/patches/52_nagios.cfg-debianize.patch
+++ b/debian/patches/52_nagios.cfg-debianize.patch
@@ -2,35 +2,24 @@ Author: Alexander Wirt
Description: Debianize nagios.cfg
--- a/sample-config/nagios.cfg.in
+++ b/sample-config/nagios.cfg.in
-@@ -2,10 +2,6 @@
- #
- # NAGIOS.CFG - Sample Main Config File for Nagios @VERSION@
- #
--# Read the documentation for more information on this configuration
--# file. I've provided some comments here, but things may not be so
--# clear without further explanation.
--#
- # Last Modified: 12-14-2008
- #
- ##############################################################################
@@ -16,9 +12,19 @@
# for historical purposes. This should be the first option specified
# in the config file!!!
-log_file=@localstatedir@/nagios.log
-+log_file=/var/log/nagios3/nagios.log
++log_file=/var/log/nagios4/nagios.log
+# Commands definitions
-+cfg_file=/etc/nagios3/commands.cfg
++cfg_file=/etc/nagios4/commands.cfg
+# Debian also defaults to using the check commands defined by the debian
+# nagios-plugins package
+cfg_dir=/etc/nagios-plugins/config
+
-+# Debian uses by default a configuration directory where nagios3-common,
++# Debian uses by default a configuration directory where nagios4-common,
+# other packages and the local admin can dump or link configuration
+# files into.
-+cfg_dir=/etc/nagios3/conf.d
++cfg_dir=/etc/nagios4/conf.d
# OBJECT CONFIGURATION FILE(S)
# These are the object configuration files in which you define hosts,
@@ -57,7 +46,7 @@ Description: Debianize nagios.cfg
# when the config files are modified after Nagios starts.
-object_cache_file=@localstatedir@/objects.cache
-+object_cache_file=/var/cache/nagios3/objects.cache
++object_cache_file=/var/cache/nagios4/objects.cache
@@ -66,7 +55,7 @@ Description: Debianize nagios.cfg
# restarts.
-status_file=@localstatedir@/status.dat
-+status_file=/var/cache/nagios3/status.dat
++status_file=/var/cache/nagios4/status.dat
@@ -93,7 +82,7 @@ Description: Debianize nagios.cfg
# running.
-temp_file=@localstatedir@/nagios.tmp
-+temp_file=/var/cache/nagios3/nagios.tmp
++temp_file=/var/cache/nagios4/nagios.tmp
@@ -102,7 +91,7 @@ Description: Debianize nagios.cfg
# placed (assuming you've chosen to do log rotation).
-log_archive_path=@localstatedir@/archives
-+log_archive_path=/var/log/nagios3/archives
++log_archive_path=/var/log/nagios4/archives
@@ -115,15 +104,6 @@ Description: Debianize nagios.cfg
-@@ -1142,7 +1147,7 @@
- # embedded Perl interpreter) is located. If you didn't compile
- # Nagios with embedded Perl support, this option has no effect.
-
--p1_file=@bindir@/p1.pl
-+p1_file=/usr/lib/nagios3/p1.pl
-
-
-
@@ -1226,8 +1231,8 @@
# using the $ADMINEMAIL$ and $ADMINPAGER$ macros in your notification
# commands.
@@ -140,7 +120,7 @@ Description: Debianize nagios.cfg
# This option determines where Nagios should write debugging information.
-debug_file=@localstatedir@/nagios.debug
-+debug_file=/var/log/nagios3/nagios.debug
++debug_file=/var/log/nagios4/nagios.debug
diff --git a/debian/patches/60_fix_p1.pl_patch_mini_epn.patch b/debian/patches/60_fix_p1.pl_patch_mini_epn.patch
deleted file mode 100644
index 85071f3..0000000
--- a/debian/patches/60_fix_p1.pl_patch_mini_epn.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Author: Alexander Wirt
-Description: Call p1.pl from /usr/lib/nagios3
---- a/contrib/mini_epn.c
-+++ b/contrib/mini_epn.c
-@@ -19,7 +19,7 @@
- #endif
- */
-
-- char *embedding[] = { "", "p1.pl" };
-+ char *embedding[] = { "", "/usr/lib/nagios3/p1.pl" };
- char *plugin_output ;
- char fname[MAX_INPUT_CHARS];
- char *args[] = {"", "0", "", "", NULL };
diff --git a/debian/patches/70_fix_eventhandler_paths.patch b/debian/patches/70_fix_eventhandler_paths.patch
index a1fbf6f..2092ae7 100644
--- a/debian/patches/70_fix_eventhandler_paths.patch
+++ b/debian/patches/70_fix_eventhandler_paths.patch
@@ -7,7 +7,7 @@ Description: Fixes paths for all contributed eventhandlers
printfcmd="/usr/bin/printf"
-CommandFile="/usr/local/nagios/var/rw/nagios.cmd"
-+CommandFile="/var/lib/nagios3/rw/nagios.cmd"
++CommandFile="/var/lib/nagios4/rw/nagios.cmd"
# get the current date/time in seconds since UNIX epoch
datetime=`date +%s`
@@ -18,7 +18,7 @@ Description: Fixes paths for all contributed eventhandlers
printfcmd="/usr/bin/printf"
-CommandFile="/usr/local/nagios/var/rw/nagios.cmd"
-+CommandFile="/var/lib/nagios3/rw/nagios.cmd"
++CommandFile="/var/lib/nagios4/rw/nagios.cmd"
# get the current date/time in seconds since UNIX epoch
datetime=`date +%s`
@@ -29,7 +29,7 @@ Description: Fixes paths for all contributed eventhandlers
# Location of the submit_check_result_via_nsca script
-SubmitCmd="/usr/local/nagios/libexec/eventhandlers/submit_check_result_via_nsca"
-+SubmitCmd="/usr/share/nagios3/plugins/eventhandlers/distributed-monitoring/submit_check_result_via_nsca"
++SubmitCmd="/usr/share/nagios4/plugins/eventhandlers/distributed-monitoring/submit_check_result_via_nsca"
# Convert the state string to the corresponding return code
return_code=-1
@@ -53,7 +53,7 @@ Description: Fixes paths for all contributed eventhandlers
printfcmd="/usr/bin/printf"
-CommandFile="/usr/local/nagios/var/rw/nagios.cmd"
-+CommandFile="/var/lib/nagios3/rw/nagios.cmd"
++CommandFile="/var/lib/nagios4/rw/nagios.cmd"
# get the current date/time in seconds since UNIX epoch
datetime=`date +%s`
@@ -64,7 +64,7 @@ Description: Fixes paths for all contributed eventhandlers
printfcmd="/usr/bin/printf"
-CommandFile="/usr/local/nagios/var/rw/nagios.cmd"
-+CommandFile="/var/lib/nagios3/rw/nagios.cmd"
++CommandFile="/var/lib/nagios4/rw/nagios.cmd"
# get the current date/time in seconds since UNIX epoch
datetime=`date +%s`
@@ -79,7 +79,7 @@ Description: Fixes paths for all contributed eventhandlers
# Location of the event handlers
-eventhandlerdir="/usr/local/nagios/libexec/eventhandlers"
-+eventhandlerdir="/usr/share/nagios3/plugins/eventhandlers"
++eventhandlerdir="/usr/share/nagios4/plugins/eventhandlers"
# Only take action on hard host states...
@@ -94,7 +94,7 @@ Description: Fixes paths for all contributed eventhandlers
# Location of the event handlers
-eventhandlerdir="/usr/local/nagios/libexec/eventhandlers"
-+eventhandlerdir="/usr/share/nagios3/plugins/eventhandlers"
++eventhandlerdir="/usr/share/nagios4/plugins/eventhandlers"
# Only take action on hard service states...
@@ -105,7 +105,7 @@ Description: Fixes paths for all contributed eventhandlers
echocmd="/bin/echo"
-CommandFile="/usr/local/nagios/var/rw/nagios.cmd"
-+CommandFile="/var/lib/nagios3/rw/nagios.cmd"
++CommandFile="/var/lib/nagios4/rw/nagios.cmd"
# get the current date/time in seconds since UNIX epoch
datetime=`date +%s`
diff --git a/debian/patches/80_dont_call_home.patch b/debian/patches/80_dont_call_home.patch
deleted file mode 100644
index 0fadf35..0000000
--- a/debian/patches/80_dont_call_home.patch
+++ /dev/null
@@ -1,4685 +0,0 @@
-commit 16ecc5c1b71b88631af948a41d3fb26ef11e4f9e
-Author: Michael Friedrich
-Date: Fri Jan 3 15:21:56 2014 +0100
-
- html: Remove RSS news feeds and update checks entirely.
-
- This patch leaves the status.dat/retention.dat parsing functionality in
- utils.inc.php intact, even if that was used only for the update check
- itsself.
-
-diff --git a/html/Makefile.in b/html/Makefile.in
-index a977e35..6d40b04 100644
---- a/html/Makefile.in
-+++ b/html/Makefile.in
-@@ -44,8 +44,6 @@ install:
- $(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/images
- $(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/images/logos
- $(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/includes
-- $(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/includes/rss
-- $(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/includes/rss/extlib
- $(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/ssi
- $(INSTALL) -m 664 $(INSTALL_OPTS) robots.txt $(DESTDIR)$(HTMLDIR)
- # $(INSTALL) -m 664 $(INSTALL_OPTS) docs/robots.txt $(DESTDIR)$(HTMLDIR)/docs
-@@ -79,10 +77,6 @@ install:
- 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/*.*; \
-- do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/includes/rss; done
-- for file in includes/rss/extlib/*.*; \
-- do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/includes/rss/extlib; done
-
- install-unstripped:
- $(MAKE) install
-diff --git a/html/includes/rss/AUTHORS b/html/includes/rss/AUTHORS
-deleted file mode 100644
-index 7d7f3f5..0000000
---- a/html/includes/rss/AUTHORS
-+++ /dev/null
-@@ -1 +0,0 @@
--kellan
-diff --git a/html/includes/rss/CHANGES b/html/includes/rss/CHANGES
-deleted file mode 100644
-index 3346f2b..0000000
---- a/html/includes/rss/CHANGES
-+++ /dev/null
-@@ -1,41 +0,0 @@
--Version 0.72
-------------
-- - fix security exploit: http://www.sec-consult.com/216.html
--
--Version 0.7
-------------
-- - support for input and output charset encoding
-- based on the work in FoF, uses iconv or mbstring if available
-- -
--
--Version 0.6
-------------
-- - basic support for Atom syndication format
-- including support for Atom content constructs
-- - fixed support for private feeds (HTTP Auth and SSL)
-- (thanks to silverorange.com for providing test feeds)
-- - support for some broken webservers
--
--Version 0.52
-------------
-- - support GZIP content negoiation
-- - PHP 4.3.2 support
--
--Version 0.4
-------------
-- - improved error handling, better access for script authors
-- - included example scripts of working with MagpieRSS
-- - new Smarty plugin for RSS date parsing
--
--Version 0.3
-------------
-- - added support for conditional gets (Last-Modified, ETag)
-- - now use Snoopy to handle fetching RSS files
--
--Version 0.2
-------------
-- - MAJOR CLEAN UP
-- - removed kludgy $options array in favour of constants
-- - phased out returning arrays
-- - added better error handling
-- - re-worked comments
-diff --git a/html/includes/rss/ChangeLog b/html/includes/rss/ChangeLog
-deleted file mode 100644
-index 62fa4f5..0000000
---- a/html/includes/rss/ChangeLog
-+++ /dev/null
-@@ -1,405 +0,0 @@
--2005-10-28 14:11 kellan
--
-- * extlib/Snoopy.class.inc: a better solution
--
--2005-10-28 11:51 kellan
--
-- * extlib/Snoopy.class.inc: fix arbtriary code execution
-- vulnerability when using curl+ssl
--
-- http://www.sec-consult.com/216.html
--
--2005-03-08 10:46 kellan
--
-- * rss_parse.inc: fix bug w/ atom and date normalization
--
--2005-02-09 14:59 kellan
--
-- * rss_fetch.inc: fix stale cache bug
--
--2005-01-28 02:27 kellan
--
-- * rss_parse.inc: support php w/o array_change_case
--
--2005-01-23 20:02 kellan
--
-- * rss_fetch.inc: fix cache bug introduced by charset encoding
--
--2005-01-12 09:14 kellan
--
-- * rss_cache.inc, rss_fetch.inc: more sanity checks for when things
-- go wrong
--
--2004-12-12 13:44 kellan
--
-- * INSTALL, rss_cache.inc, rss_utils.inc: detab
--
--2004-11-23 20:15 kellan
--
-- * rss_parse.inc: fix calling iconv instead of mb_convert_encoding
--
--2004-11-22 02:11 kellan
--
-- * CHANGES, ChangeLog, rss_parse.inc, scripts/magpie_debug.php: last
-- bit of tidying
--
--2004-11-22 01:45 kellan
--
-- * rss_fetch.inc: detab, bump version
--
--2004-11-22 01:43 kellan
--
-- * rss_parse.inc: was filtering too much
--
--2004-11-22 00:03 kellan
--
-- * rss_fetch.inc, rss_parse.inc: cache on $url . $output_encoding
-- otherwise we can get munged output
--
--2004-11-21 23:52 kellan
--
-- * rss_parse.inc: add WARNING
--
--2004-11-21 23:45 kellan
--
-- * rss_parse.inc: don't set ERROR on notice or warning (rss_fetch
-- dies on parse errors)
--
--2004-11-21 23:44 kellan
--
-- * rss_fetch.inc: add encoding defines (fix timeout error reporting)
--
--2004-11-21 20:21 kellan
--
-- * rss_parse.inc: incorporate steve's patch
--
--2004-11-21 19:26 kellan
--
-- * rss_parse.inc: remove old debugging functions, totally
-- arbitrarily. might break stuff. can't really explain why i'm
-- doing this.
--
--2004-10-28 15:52 kellan
--
-- * rss_parse.inc: fixed '=' instead of '=='
--
--2004-10-26 00:48 kellan
--
-- * rss_parse.inc: chance epoch to timestamp to conform w/ php naming
-- conventions
--
--2004-06-15 12:00 kellan
--
-- * rss_parse.inc: [no log message]
--
--2004-04-26 14:16 kellan
--
-- * rss_fetch.inc: bump version
--
--2004-04-26 12:36 kellan
--
-- * rss_parse.inc: fix field doubling
--
--2004-04-24 17:47 kellan
--
-- * CHANGES, ChangeLog: updated
--
--2004-04-24 17:35 kellan
--
-- * rss_fetch.inc: bumped version
--
--2004-04-24 16:52 kellan
--
-- * rss_parse.inc: support arbitrary atom content constructs
--
-- some refactoring
--
--2004-04-24 16:15 kellan
--
-- * rss_parse.inc: support summary content contstruct. add normalize
-- function
--
--2004-03-27 16:29 kellan
--
-- * extlib/Snoopy.class.inc: accept self-signed certs
--
--2004-03-27 12:53 kellan
--
-- * extlib/Snoopy.class.inc: fixed SSL support * set status * set
-- error on bad curl
--
-- (also ripped out big chunks of dead weight (submit_form) which
-- were getting in my way
--
--2004-01-25 02:25 kellan
--
-- * rss_parse.inc: make RSS 1.0's rdf:about available
--
--2004-01-25 02:07 kellan
--
-- * rss_parse.inc: clean up text, and line formats. add support item
-- rdf:about
--
--2004-01-24 23:40 kellan
--
-- * CHANGES, ChangeLog: update changes
--
--2004-01-24 23:37 kellan
--
-- * rss_fetch.inc: updated version
--
--2004-01-24 23:35 kellan
--
-- * rss_parse.inc: whitespace
--
--2004-01-24 23:23 kellan
--
-- * extlib/Snoopy.class.inc: support badly formatted http headers
--
--2004-01-24 23:20 kellan
--
-- * rss_parse.inc: added alpha atom parsing support
--
--2003-06-25 22:34 kellan
--
-- * extlib/Snoopy.class.inc: fixed fread 4.3.2 compatibility problems
--
--2003-06-13 11:31 kellan
--
-- * rss_fetch.inc: reset cache on 304
--
--2003-06-12 21:37 kellan
--
-- * rss_cache.inc, rss_fetch.inc, rss_parse.inc, rss_utils.inc:
-- bumped up version numbers
--
--2003-06-12 21:32 kellan
--
-- * htdocs/index.html: updated news
--
--2003-06-12 21:27 kellan
--
-- * NEWS: a manual blog :)
--
--2003-06-12 21:22 kellan
--
-- * htdocs/index.html: fully qualified img
--
--2003-06-12 21:20 kellan
--
-- * htdocs/index.html: clean up. added badge.
--
--2003-06-12 21:04 kellan
--
-- * rss_utils.inc: clean up regex
--
--2003-06-12 21:02 kellan
--
-- * rss_cache.inc: suppress some warnings
--
--2003-05-30 20:44 kellan
--
-- * extlib/Snoopy.class.inc: more comments, cleaned up notice
--
--2003-05-30 15:14 kellan
--
-- * extlib/Snoopy.class.inc: don't advertise gzip support if the user
-- hasn't built php with gzinflate support
--
--2003-05-12 22:32 kellan
--
-- * ChangeLog: changes
--
--2003-05-12 22:11 kellan
--
-- * htdocs/index.html: announce 0.5
--
--2003-05-12 21:42 kellan
--
-- * htdocs/index.html: change
--
--2003-05-12 21:39 kellan
--
-- * rss_fetch.inc: use gzip
--
--2003-05-12 21:37 kellan
--
-- * extlib/Snoopy.class.inc: added support gzip encoded content
-- negoiation
--
--2003-05-12 21:32 kellan
--
-- * rss_cache.inc, rss_fetch.inc, rss_parse.inc, rss_utils.inc: fixed
-- typoes
--
--2003-04-26 21:44 kellan
--
-- * rss_parse.inc: fix minor typo
--
--2003-04-18 08:19 kellan
--
-- * htdocs/cookbook.html: updated cookbook to show more code for
-- limiting items
--
--2003-03-03 16:02 kellan
--
-- * rss_parse.inc, scripts/magpie_slashbox.php: committed (or
-- adpated) patch from Nicola (www.technick.com) to quell 'Undefined
-- Indexes' notices
--
--2003-03-03 15:59 kellan
--
-- * rss_fetch.inc: commited patch from nicola (www.technick.com) to
-- quell 'undefined indexes' notices.
--
-- * Magpie now automatically includes its version in the
-- user-agent, & whether cacheing is turned on.
--
--2003-02-12 01:22 kellan
--
-- * CHANGES, ChangeLog: ChangeLog now auto-generated by cvs2cl
--
--2003-02-12 00:21 kellan
--
-- * rss_fetch.inc: better errors, hopefully stomped on pesky notices
--
--2003-02-12 00:19 kellan
--
-- * rss_parse.inc: check to see is xml is supported, if not die
--
-- also throw better xml errors
--
--2003-02-12 00:18 kellan
--
-- * rss_cache.inc: hopefully cleared up some notices that were being
-- thrown into the log
--
-- fixed a debug statement that was being called as an error
--
--2003-02-12 00:15 kellan
--
-- * scripts/: magpie_simple.php, magpie_slashbox.php: moved
-- magpie_simple to magpie_slashbox, and replaced it with a simpler
-- demo.
--
--2003-02-12 00:02 kellan
--
-- * INSTALL, README, TROUBLESHOOTING: Improved documentation. Better
-- install instructions.
--
-- TROUBLESHOOTING cover common installation and usage problems
--
--2003-01-22 14:40 kellan
--
-- * htdocs/cookbook.html: added cookbook.html
--
--2003-01-21 23:47 kellan
--
-- * cookbook: a magpie cookbook
--
--2003-01-20 10:09 kellan
--
-- * ChangeLog: updated
--
--2003-01-20 09:23 kellan
--
-- * scripts/simple_smarty.php: minor clean up
--
--2003-01-20 09:15 kellan
--
-- * scripts/README: added smarty url
--
--2003-01-20 09:14 kellan
--
-- * magpie_simple.php, htdocs/index.html, scripts/README,
-- scripts/magpie_debug.php, scripts/magpie_simple.php,
-- scripts/simple_smarty.php,
-- scripts/smarty_plugin/modifier.rss_date_parse.php,
-- scripts/templates/simple.smarty: Added scripts directory for
-- examples on how to use MagpieRSS
--
-- magpie_simple - is a simple example magpie_debug - spew all the
-- information from a parsed RSS feed simple_smary - example of
-- using magpie with Smarty template system
-- smarty_plugin/modifier.rss_date_parse.php - support file for the
-- smarty demo templates/simple.smary - template for the smarty demo
--
--2003-01-20 09:11 kellan
--
-- * rss_fetch.inc, rss_parse.inc: changes to error handling to give
-- script authors more access to magpie's errors.
--
-- added method magpie_error() to retrieve global MAGPIE_ERROR
-- variable for when fetch_rss() returns false
--
--2002-10-26 19:02 kellan
--
-- * htdocs/index.html: putting the website under source control
--
--2002-10-26 18:43 kellan
--
-- * AUTHORS, ChangeLog, INSTALL, README: some documentation to make
-- it all look official :)
--
--2002-10-25 23:04 kellan
--
-- * magpie_simple.php: quxx
--
--2002-10-25 23:04 kellan
--
-- * rss_parse.inc: added support for textinput and image
--
--2002-10-25 19:23 kellan
--
-- * magpie_simple.php, rss_cache.inc, rss_fetch.inc, rss_parse.inc,
-- rss_utils.inc: switched to using Snoopy for fetching remote RSS
-- files.
--
-- added support for conditional gets
--
--2002-10-25 19:22 kellan
--
-- * rss_cache.inc, rss_fetch.inc, rss_parse.inc, rss_utils.inc:
-- Change comment style to slavishly imitate the phpinsider style
-- found in Smarty and Snoopy :)
--
--2002-10-25 19:18 kellan
--
-- * extlib/Snoopy.class.inc: added Snoopy in order to support
-- conditional gets
--
--2002-10-23 23:19 kellan
--
-- * magpie_simple.php, rss_cache.inc, rss_fetch.inc, rss_parse.inc:
-- MAJOR CLEANUP!
--
-- * rss_fetch got rid of the options array, replaced it with a more
-- PHP-like solution of using defines. constants are setup, with
-- defaults, in the function init()
--
-- got rid of the idiom of passing back an array, its was awkward to
-- deal with in PHP, and unusual (and consquently confusing to
-- people). now i return true/false values, and try to setup error
-- string where appropiate (rss_cache has the most complete example
-- of this)
--
-- change the logic for interacting with the cache
--
-- * rss_cache major re-working of how error are handled. tried to
-- make the code more resillient. the cache is now much more aware
-- of MAX_AGE, where before this was being driven out of rss_fetch
-- (which was silly)
--
-- * rss_parse properly handles xml parse errors. used to sail
-- along blithely unaware.
--
--2002-09-11 11:11 kellan
--
-- * rss_cache.inc, rss_parse.inc, magpie_simple.php, rss_fetch.inc,
-- rss_utils.inc: Initial revision
--
--2002-09-11 11:11 kellan
--
-- * rss_cache.inc, rss_parse.inc, magpie_simple.php, rss_fetch.inc,
-- rss_utils.inc: initial import
--
-diff --git a/html/includes/rss/INSTALL b/html/includes/rss/INSTALL
-deleted file mode 100644
-index 640833d..0000000
---- a/html/includes/rss/INSTALL
-+++ /dev/null
-@@ -1,143 +0,0 @@
--REQUIREMENTS
--
-- MapieRSS requires a recent PHP 4+ (developed with 4.2.0)
-- with xml (expat) support.
--
-- Optionally:
-- * PHP5 with libxml2 support.
-- * cURL for SSL support
-- * iconv (preferred) or mb_string for expanded character set support
--
--QUICK START
--
-- Magpie consists of 4 files (rss_fetch.inc, rss_parser.inc, rss_cache.inc,
-- and rss_utils.inc), and the directory extlib (which contains a modified
-- version of the Snoopy HTTP client)
--
-- Copy these 5 resources to a directory named 'magpierss' in the same
-- directory as your PHP script.
--
-- At the top of your script add the following line:
--
-- require_once('magpierss/rss_fetch.inc');
--
-- Now you can use the fetch_rss() method:
--
-- $rss = fetch_rss($url);
--
-- Done. That's it. See README for more details on using MagpieRSS.
--
--NEXT STEPS
--
-- Important: you'll probably want to get the cache directory working in
-- order to speed up your application, and not abuse the webserver you're
-- downloading the RSS from.
--
-- Optionally you can install MagpieRSS in your PHP include path in order to
-- make it available server wide.
--
-- Lastly you might want to look through the constants in rss_fetch.inc see if
-- there is anything you want to override (the defaults are pretty good)
--
-- For more info, or if you have trouble, see TROUBLESHOOTING
--
--SETTING UP CACHING
--
-- Magpie has built-in transparent caching. With caching Magpie will only
-- fetch and parse RSS feeds when there is new content. Without this feature
-- your pages will be slow, and the sites serving the RSS feed will be annoyed
-- with you.
--
--** Simple and Automatic **
--
-- By default Magpie will try to create a cache directory named 'cache' in the
-- same directory as your PHP script.
--
--** Creating a Local Cache Directory **
--
-- Often this will fail, because your webserver doesn't have sufficient
-- permissions to create the directory.
--
-- Exact instructions for how to do this will vary from install to install and
-- platform to platform. The steps are:
--
-- 1. Make a directory named 'cache'
-- 2. Give the web server write access to that directory.
--
-- An example of how to do this on Debian would be:
--
-- 1. mkdir /path/to/script/cache
-- 2. chgrp www-data /path/to/script/cache
-- 3. chmod 775 /path/to/script/cache
--
-- On other Unixes you'll need to change 'www-data' to what ever user Apache
-- runs as. (on MacOS X the user would be 'www')
--
--** Cache in /tmp **
--
-- Sometimes you won't be able to create a local cache directory. Some reasons
-- might be:
--
-- 1. No shell account
-- 2. Insufficient permissions to change ownership of a directory
-- 3. Webserver runs as 'nobody'
--
-- In these situations using a cache directory in /tmp can often be a good
-- option.
--
-- The drawback is /tmp is public, so anyone on the box can read the cache
-- files. Usually RSS feeds are public information, so you'll have to decide
-- how much of an issue that is.
--
-- To use /tmp as your cache directory you need to add the following line to
-- your script:
--
-- define('MAGPIE_CACHE_DIR', '/tmp/magpie_cache');
--
--** Global Cache **
--
-- If you have several applications using Magpie, you can create a single
-- shared cache directory, either using the /tmp cache, or somewhere else on
-- the system.
--
-- The upside is that you'll distribute fetching and parsing feeds across
-- several applications.
--
--INSTALLING MAGPIE SERVER WIDE
--
-- Rather then following the Quickstart instructions which requires you to have
-- a copy of Magpie per application, alternately you can place it in some
-- shared location.
--
--** Adding Magpie to Your Include Path **
--
-- Copy the 5 resources (rss_fetch.inc, rss_parser.inc, rss_cache.inc,
-- rss_utils.inc, and extlib) to a directory named 'magpierss' in your include
-- path. Now any PHP file on your system can use Magpie with:
--
-- require_once('magpierss/rss_fetch.inc');
--
-- Different installs have different include paths, and you'll have to figure
-- out what your include_path is.
--
-- From shell you can try:
--
-- php -i | grep 'include_path'
--
-- Alternatley you can create a phpinfo.php file with contains:
--
--
--
-- Debian's default is:
--
-- /usr/share/php
--
-- (though more idealogically pure location would be /usr/local/share/php)
--
-- Apple's default include path is:
--
-- /usr/lib/php
--
-- While the Entropy PHP build seems to use:
--
-- /usr/local/php/lib/php
-\ No newline at end of file
-diff --git a/html/includes/rss/NEWS b/html/includes/rss/NEWS
-deleted file mode 100644
-index 5ac6b97..0000000
---- a/html/includes/rss/NEWS
-+++ /dev/null
-@@ -1,53 +0,0 @@
--MagpieRSS News
--
--MAGPIERSS 0.51 RELEASED
-- * important bugfix!
-- * fix "silent failure" when PHP doesn't have zlib
--
--FEED ON FEEDS USES MAGPIE
-- * web-based RSS aggregator built with Magpie
-- * easy to install, easy to use.
-- http://minutillo.com/steve/feedonfeeds/
--
--MAGPIERSS 0.5 RELEASED
-- * supports transparent HTTP gzip content negotiation for reduced bandwidth usage
-- * quashed some undefined index notices
--
--MAGPIERSS 0.46 RELEASED
-- * minor release, more error handling clean up
-- * documentation fixes, simpler example
-- * new trouble shooting guide for installation and usage problems
-- http://magpierss.sourceforge.net/TROUBLESHOOTING
--
--MAGPIE NEWS AS RSS
-- * releases, bug fixes, releated stories in RSS
--
--MAGPIERSS COOKBOOK: SIMPLE PHP RSS HOW TOS
-- * answers some of the most frequently asked Magpie questions
-- * feedback, suggestions, requests, recipes welcome
-- http://magpierss.sourceforge.net/cookbook.html
--
--MAGPIERSS 0.4 RELEASED!
-- * improved error handling, more flexibility for script authors, backwards compatible
-- * new and better examples! including using MagpieRSS and Smarty
-- * new Smarty plugin for RSS date parsing
-- http://smarty.php.net
--
--INFINITE PENGUIN NOW SUPPORTS MAGPIE 0.3
-- * simple, sophisticated RSS viewer
-- * includes auto-generated javascript ticker from RSS feed
-- http://www.infinitepenguins.net/rss/
--
--TRAUMWIND RELEASES REX BACKEND FOR MAGPIERSS
-- * drop in support using regex based XML parser
-- * parses improperly formed XML that chokes expat
-- http://traumwind.de/blog/magpie/magpie_alike.php
--
--MAGPIERSS 0.3 RELEASED!
-- * Support added for HTTP Conditional GETs.
-- http://fishbowl.pastiche.org/archives/001132.html
--
--MAGPIERSS 0.2!
-- * Major clean up of the code. Easier to use.
-- * Simpler install on shared hosts.
-- * Better documentation and comments.
-diff --git a/html/includes/rss/README b/html/includes/rss/README
-deleted file mode 100644
-index 6af7edb..0000000
---- a/html/includes/rss/README
-+++ /dev/null
-@@ -1,48 +0,0 @@
--NAME
--
-- MagpieRSS - a simple RSS integration tool
--
--SYNOPSIS
--
-- require_once(rss_fetch.inc);
-- $url = $_GET['url'];
-- $rss = fetch_rss( $url );
--
-- echo "Channel Title: " . $rss->channel['title'] . "
";
--
--DESCRIPTION
--
-- MapieRSS is an XML-based RSS parser in PHP. It attempts to be "PHP-like",
-- and simple to use.
--
-- Some features include:
--
-- * supports RSS 0.9 - 1.0, with limited RSS 2.0 support
-- * supports namespaces, and modules, including mod_content and mod_event
-- * open minded [1]
-- * simple, functional interface, to object oriented backend parser
-- * automatic caching of parsed RSS objects makes its easy to integrate
-- * supports conditional GET with Last-Modified, and ETag
-- * uses constants for easy override of default behaviour
-- * heavily commented
--
--
--1. By open minded I mean Magpie will accept any tag it finds in good faith that
-- it was supposed to be here. For strict validation, look elsewhere.
--
--
--GETTING STARTED
--
--
--
--COPYRIGHT:
-- Copyright(c) 2002 kellan@protest.net. All rights reserved.
-- This software is released under the GNU General Public License.
-- Please read the disclaimer at the top of the Snoopy.class.inc file.
-diff --git a/html/includes/rss/TROUBLESHOOTING b/html/includes/rss/TROUBLESHOOTING
-deleted file mode 100644
-index 89068d3..0000000
---- a/html/includes/rss/TROUBLESHOOTING
-+++ /dev/null
-@@ -1,152 +0,0 @@
--TROUBLESHOOTING
--
--
--Trouble Installing MagpieRSS:
--
--1. Fatal error: Failed opening required '/path/to/script/rss_fetch.inc'
-- (include_path='.:/usr/local/lib/php:/usr/local/lib/php/pear')
--
--2. Cache couldn't make dir './cache'.
--
--3. Fatal error: Failed to load PHP's XML Extension.
-- http://www.php.net/manual/en/ref.xml.php
--
--Trouble Using MagpieRSS
--
--4. Warning: MagpieRSS: Failed to fetch example.com/index.rdf.
-- (HTTP Error: Invalid protocol "")
--
--5. Warning: MagpieRSS: Failed to parse RSS file.
-- (not well-formed (invalid token) at line 19, column 98)
--
--6. Warning: MagpieRSS: Failed to fetch http://localhost/rss/features.1-0.rss.
-- (HTTP Response: HTTP/1.1 404 Not Found)
--
--If you would rather provide a custom error, see the COOKBOOK
--(http://magpierss.sf.net/cookbook.html) recipe 2.
--
--*************************************************************************
--1. Fatal error: Failed opening required '/path/to/script/rss_fetch.inc'
-- (include_path='.:/usr/local/lib/php:/usr/local/lib/php/pear')
--
-- This could mean that:
--
-- a) PHP can't find the MagpieRSS files.
-- b) PHP found them the MagpieRSS files, but can't read them.
--
-- a. Telling PHP where to look for MagpieRSS file.
--
-- This might mean your PHP program can't find the MagpieRSS libraries.
-- Magpie relies on 4 include files, rss_fetch.inc, rss_parse.inc,
-- rss_cache.inc, rss_util.inc, and for normal use you'll need all 4 (see the
-- cookbook for exceptions).
--
-- This can be fixed by making sure the MagpieRSS files are in your include
-- path.
--
-- If you can edit your include path (for example your on a shared host) then
-- you need to replace:
--
-- require_once('rss_fetch.inc');
--
-- -with-
--
-- define('MAGPIE_DIR', '/path/to/magpierss/');
-- require_once(MAGPIE_DIR.'rss_fetch.inc');
--
-- b. PHP can't read the MagpieRSS files
--
-- All PHP libraries need to be readable by your webserver.
--
-- On Unix you can accomplish this with:
--
-- chmod 755 rss_fetch.inc rss_parse.inc rss_cache.inc rss_util.inc
--
--*************************************************************************
--2. Cache couldn't make dir './cache'.
--
-- MagpieRSS caches the results of fetched and parsed RSS to reduce the load on
-- both your server, and the remote server providing the RSS. It does this by
-- writing files to a cache directory.
--
-- This error means the webserver doesn't have write access to the current
-- directory.
--
-- a. Make a webserver writeable cache directory
--
-- Find the webserver's group. (on my system it is 'www')
--
-- mkdir ./cache
-- chgrp www directory_name
-- chmod g+w directory_name
--
-- (this is the best, and desired solution)
--
-- b. Tell MagpieRSS to create the cache directory somewhere the webserver can
-- write to.
--
-- define('MAGPIE_CACHE_DIR', '/tmp/magpierss');
--
-- (this is not a great solution, and might have security considerations)
--
-- c. Turn off cacheing.
--
-- Magpie can work fine with cacheing, but it will be slower, and you might
-- become a nuiance to the RSS provider, but it is an option.
--
-- define('MAGPIE_CACHE_ON', 0);
--
-- d. And lastly, do NOT
--
-- chmod 777 ./cache
--
-- Any of the above solutions are better then this.
--
-- NOTE: If none of this works for you, let me know. I've got root, and a
-- custom compiled Apache on almost any box I ever touch, so I can be a little
-- out of touch with reality. But I won't know that if I don't feedback.
--
--************************************************************************* 3.
--3. Fatal error: Failed to load PHP's XML Extension.
-- http://www.php.net/manual/en/ref.xml.php
--
-- -or-
--
-- Fatal error: Failed to create an instance of PHP's XML parser.
-- http://www.php.net/manual/en/ref.xml.php
--
-- Make sure your PHP was built with --with-xml
--
-- This has been turned on by default for several versions of PHP, but it might
-- be turned off in your build.
--
-- See php.net for details on building and configuring PHP.
--
--
--*************************************************************************
--4. Warning: MagpieRSS: Failed to fetch index.rdf.
-- (HTTP Error: Invalid protocol "")
--
-- You need to put http:// in front of your the URL to your RSS feed
--
--*************************************************************************
--5. Warning: MagpieRSS: Failed to parse RSS file.
-- (not well-formed (invalid token) at line 19, column 98)
--
-- There is a problem with the RSS feed you are trying to read.
-- MagpieRSS is an XML parser, and therefore can't parse RSS feed with invalid
-- characters. Some RSS parser are based on regular expressions, and can
-- parse invalid RSS but they have their own problems.
--
-- You could try contacting the author of the RSS feed, and pointing them to
-- the online RSS validator at:
--
-- http://feeds.archive.org/validator/
--
--*************************************************************************
--6. Warning: MagpieRSS: Failed to fetch http://example.com/index.rdf
-- (HTTP Response: HTTP/1.1 404 Not Found)
--
-- Its a 404! The RSS file ain't there.
--
--
-diff --git a/html/includes/rss/cookbook b/html/includes/rss/cookbook
-deleted file mode 100644
-index 45dda98..0000000
---- a/html/includes/rss/cookbook
-+++ /dev/null
-@@ -1,125 +0,0 @@
--MAGPIERSS RECIPES: Cooking with Corbies
--
-- "Four and twenty blackbirds baked in a pie."
--
--1. LIMIT THE NUMBER OF HEADLINES(AKA ITEMS) RETURNED.
--
--PROBLEM:
--
--You want to display the 10 (or 3) most recent headlines, but the RSS feed
--contains 15.
--
--SOLUTION:
--
--$num_items = 10;
--$rss = fetch_rss($url);
--
--$items = array_slice($rss->items, 0, $num_items);
--
--DISCUSSION:
--
--Rather then trying to limit the number of items Magpie parses, a much simpler,
--and more flexible approach is to take a "slice" of the array of items. And
--array_slice() is smart enough to do the right thing if the feed has less items
--then $num_items.
--
--See: http://www.php.net/array_slice
--
--
--2. DISPLAY A CUSTOM ERROR MESSAGE IF SOMETHING GOES WRONG
--
--PROBLEM:
--
--You don't want Magpie's error messages showing up if something goes wrong.
--
--SOLUTION:
--
--# Magpie throws USER_WARNINGS only
--# so you can cloak these, by only showing ERRORs
--error_reporting(E_ERROR);
--
--# check the return value of fetch_rss()
--
--$rss = fetch_rss($url);
--
--if ( $rss ) {
--...display rss feed...
--}
--else {
-- echo "An error occured! " .
-- "Consider donating more $$$ for restoration of services." .
-- " Error Message: " . magpie_error();
--}
--
--DISCUSSION:
--
--MagpieRSS triggers a warning in a number of circumstances. The 2 most common
--circumstances are: if the specified RSS file isn't properly formed (usually
--because it includes illegal HTML), or if Magpie can't download the remote RSS
--file, and there is no cached version.
--
--If you don't want your users to see these warnings change your error_reporting
--settings to only display ERRORs. Another option is to turn off display_error,
--so that WARNINGs, and NOTICEs still go to the error_log but not to the webpages.
--
--You can do this with:
--
--ini_set('display_errors', 0);
--
--See: http://www.php.net/error_reporting,
-- http://www.php.net/ini_set,
-- http://www.php.net/manual/en/ref.errorfunc.php
--
--3. GENERATE A NEW RSS FEED
--
--PROBLEM:
--
--Create an RSS feed for other people to use.
--
--SOLUTION:
--
--Use Useful Inc's RSSWriter (http://usefulinc.com/rss/rsswriter/)
--
--DISCUSSION:
--
--An example of turning a Magpie parsed RSS object back into an RSS file is forth
--coming. In the meantime RSSWriter has great documentation.
--
--4. DISPLAY HEADLINES MORE RECENT THEN X DATE
--
--PROBLEM:
--
--You only want to display headlines that were published on, or after a certain
--date.
--
--
--SOLUTION:
--
--require 'rss_utils.inc';
--
--# get all headlines published today
--$today = getdate();
--
--# today, 12AM
--$date = mktime(0,0,0,$today['mon'], $today['mday'], $today['year']);
--
--$rss = fetch_rss($url);
--
--foreach ( $rss->items as $item ) {
-- $published = parse_w3cdtf($item['dc']['date']);
-- if ( $published >= $date ) {
-- echo "Title: " . $item['title'];
-- echo "Published: " . date("h:i:s A", $published);
-- echo "
--
--Rather then trying to limit the number of items Magpie parses, a much simpler,
--and more flexible approach is to take a "slice" of the array of items. And
--array_slice() is smart enough to do the right thing if the feed has less items
--then $num_items.
--
--
2. Display a Custom Error Message if Something Goes Wrong
--
--
Problem:
--
--You don't want Magpie's error messages showing up if something goes wrong.
--
--
Solution:
--
--# Magpie throws USER_WARNINGS only
--# so you can cloak these, by only showing ERRORs
--error_reporting(E_ERROR);
--
--# check the return value of fetch_rss()
--
--$rss = fetch_rss($url);
--
--if ( $rss ) {
--...display rss feed...
--}
--else {
-- echo "An error occured! " .
-- "Consider donating more $$$ for restoration of services." .
-- "<br>Error Message: " . magpie_error();
--}
--
--
Discussion:
--
--MagpieRSS triggers a warning in a number of circumstances. The 2 most common
--circumstances are: if the specified RSS file isn't properly formed (usually
--because it includes illegal HTML), or if Magpie can't download the remote RSS
--file, and there is no cached version.
--
--If you don't want your users to see these warnings change your error_reporting
--settings to only display ERRORs.
--Another option is to turn off display_error,
--so that WARNINGs, and NOTICEs still go to the error_log but not to the webpages.
--
--You can do this with:
--
--
--# you can also do this in your php.ini file
--ini_set('display_errors', 0);
--
--
--This recipe only works for RSS 1.0 feeds that include the field.
--(which is very good RSS style)
--parse_w3cdtf() is defined in
--rss_utils.inc, and parses RSS style dates into Unix epoch
--seconds.
--
--
--MagpieRSS provides fetch_rss() which takes a URL and returns a
--parsed RSS object, but what if you want to parse a file stored locally that
--doesn't have a URL?
--
--
Solution
--
--require_once('rss_parse.inc');
--
--$rss_file = 'some_rss_file.rdf';
--$rss_string = read_file($rss_file);
--$rss = new MagpieRSS( $rss_string );
--
--if ( $rss and !$rss->ERROR) {
--...display rss...
--}
--else {
-- echo "Error: " . $rss->ERROR;
--}
--
--# efficiently read a file into a string
--# in php >= 4.3.0 you can simply use file_get_contents()
--#
--function read_file($filename) {
-- $fh = fopen($filename, 'r') or die($php_errormsg);
-- $rss_string = fread($fh, filesize($filename) );
-- fclose($fh);
-- return $rss_string;
--}
--
--
--
Discussion
--Here we are using MagpieRSS's RSS parser directly without the convience wrapper
--of fetch_rss(). We read the contents of the RSS file into a
--string, and pass it to the parser constructor. Notice also that error handling
--is subtly different.
--
--
improved error handling, more flexibility for script authors,
--backwards compatible
--
new and better examples! including using MagpieRSS and Smarty
--
new Smarty plugin for RSS date parsing
--
--
--
--
--
--
--
--
--
Why?
-- I wrote MagpieRSS out of a frustration with the limitations of existing
-- solutions. In particular many of the existing PHP solutions seemed to:
--
--
use a parser based on regular expressions, making for an inherently
-- fragile solution
--
only support early versions of RSS
--
discard all the interesting information besides item title, description,
-- and link.
--
not build proper separation between parsing the RSS and displaying it.
--
-- In particular I failed to find any PHP RSS parsers that could sufficiently
-- parse RSS 1.0 feeds, to be useful on the RSS based event feeds we generate
-- at Protest.net.
--
--
--
-- Parses most RSS formats, including support for
-- 1.0 modules and limited
-- namespace support. RSS is packed into convenient data structures; easy to
-- use in PHP, and appropriate for passing to a templating system, like
-- Smarty.
--
--
--
Integrated Object Cache
--
-- Caching the parsed RSS means that the 2nd request is fast, and that
--including the rss_fetch call in your PHP page won't destroy your performance,
--and force you to reply on an external cron job. And it happens transparently.
--
--
--
-- Makes extensive use of constants to allow overriding default behaviour, and
-- installation on shared hosts.
--
--
Modular
--
--
rss_fetch.inc - wraps a simple interface (fetch_rss())
-- around the library.
--
rss_parse.inc - provides the RSS parser, and the RSS object
--
rss_cache.inc - a simple (no GC) object cache, optimized for RSS objects
--
rss_utils.inc - utility functions for working with RSS. currently
-- provides parse_w3cdtf(), for parsing W3CDTF into epoch seconds.
--
--
--
--
--
--
--
--
Magpie's approach to parsing RSS
--
-- Magpie takes a naive, and inclusive approach. Absolutely
-- non-validating, as long as the RSS feed is well formed, Magpie will
-- cheerfully parse new, and never before seen tags in your RSS feeds.
--
--
-- This makes it very simple support the varied versions of RSS simply, but
-- forces the consumer of a RSS feed to be cognizant of how it is
-- structured.(at least if you want to do something fancy)
--
--
-- Magpie parses a RSS feed into a simple object, with 4 fields:
-- channel, items, image, and
-- textinput.
--
--
--
channel
-- $rss->channel contains key-value pairs of all tags, without
-- nested tags, found between the root tag (<rdf:RDF>, or <rss>)
-- and the end of the document.
--
--
--
items
-- $rss->items is an array of associative arrays, each one
-- describing a single item. An example that looks like:
--
--<item rdf:about="http://protest.net/NorthEast/calendrome.cgi?span=event&ID=210257">
--<title>Weekly Peace Vigil</title>
--<link>http://protest.net/NorthEast/calendrome.cgi?span=event&ID=210257</link>
--<description>Wear a white ribbon</description>
--<dc:subject>Peace</dc:subject>
--<ev:startdate>2002-06-01T11:00:00</ev:startdate>
--<ev:location>Northampton, MA</ev:location>
--<ev:enddate>2002-06-01T12:00:00</ev:enddate>
--<ev:type>Protest</ev:type>
--</item>
--
-- Is parsed, and pushed on the $rss->items array as:
--
--array(
-- title => 'Weekly Peace Vigil',
-- link => 'http://protest.net/NorthEast/calendrome.cgi?span=event&ID=210257',
-- description => 'Wear a white ribbon',
-- dc => array (
-- subject => 'Peace'
-- ),
-- ev => array (
-- startdate => '2002-06-01T11:00:00',
-- enddate => '2002-06-01T12:00:00',
-- type => 'Protest',
-- location => 'Northampton, MA'
-- )
--);
--
--
--
--
image and textinput
--$rss->image and $rss-textinput are associative arrays
--including name-value pairs for anything found between the respective parent
--tags.
--
--
--
--Error: PHP compiled without XML support (--with-xml), Mapgie won't work without PHP support for XML. \n";
-- exit;
-- }
-- else {
-- echo "OK: Found an XML parser. \n";
-- }
--
-- if ( ! function_exists('gzinflate') ) {
-- echo "Warning: PHP compiled without Zlib support (--with-zlib). No support for GZIP encoding. \n";
-- }
-- else {
-- echo "OK: Support for GZIP encoding. \n";
-- }
--
-- if ( ! (function_exists('iconv') and function_exists('mb_convert_encoding') ) ) {
-- echo "Warning: No support for iconv (--with-iconv) or multi-byte strings (--enable-mbstring)." .
-- "No support character set munging. \n";
-- }
-- else {
-- echo "OK: Support for character munging. \n";
-- }
--}
--
--?>
-diff --git a/html/includes/rss/scripts/magpie_simple.php b/html/includes/rss/scripts/magpie_simple.php
-deleted file mode 100644
-index 282735e..0000000
---- a/html/includes/rss/scripts/magpie_simple.php
-+++ /dev/null
-@@ -1,29 +0,0 @@
--channel['title'] . "
--This is a simple example script. If this was a real script we probably wouldn't allow strangers to submit random URLs, and we certainly wouldn't simply echo anything passed in the URL. Additionally its a bad idea to leave this example script lying around.
--