Commit 0ac07f7f authored by Alexander Wirt's avatar Alexander Wirt

Imported Upstream version 1.10.3

parent 08c209a9
......@@ -13,6 +13,30 @@ UPGRADE NOTES
- idoutils: ${source}/module/idoutils/config/updates
* package locations may differ!
1.10.3 - 11/02/2014
ENHANCEMENTS
* initscript: implement IcingaPrecacheFallback option for the init script (thx Immobilienscout24) #4968 - GB
FIXES
* core: fix passive host check commands check service's passive check acceptance (thx Naemon) #5568 - MF
* core: fix host state translation for passive host check results #5575 - MF
* classic ui: aggressively check for possible buffer overflows in cmd.cgi (thx GitHub) #5434 - MF
* classic ui: add missing jquery and jquery-ui-timepicker-addon sources #5564 - MF
* idoutils: wait for child processes on exit preventing zombies (thx Laurent Bigonville) #4427 - MF
* initscript: fix ido2db returning invalid lsb codes (Marco Hoyer) #4825 - MF
* spec: only add apache user to the icingacmd group if existing #5263 - MF
* spec: fix usermod error on SUSE #5430 - GB
* spec: backport fedora spec file fixes (thx Fedora & Shawn Starr) #5545 - MF
** Import iconset from fedora into sample config objects.
** Also use the Apache 2.4 RequireAll authorization container.
1.10.2 - 05/12/2013
......
......@@ -91,7 +91,7 @@ MKDIR=/bin/mkdir
###############################
# Global
###############################
ICINGA_VERSION=1.10.2
ICINGA_VERSION=1.10.3
CP=@CP@
......
......@@ -48,21 +48,11 @@ Create Database, User, Grants
# mysql -u root -p
mysql> CREATE DATABASE icinga;
Query OK, 1 row affected (0.01 sec)
mysql> CREATE DATABASE icinga;
mysql> GRANT USAGE ON icinga.* TO 'icinga'@'localhost'
IDENTIFIED BY 'icinga'
WITH MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0
MAX_UPDATES_PER_HOUR 0;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE
ON icinga.* TO 'icinga'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit
quit
Import database schema
----------------------
......
......@@ -48,21 +48,11 @@ Create Database, User, Grants
# mysql -u root -p
mysql> CREATE DATABASE icinga;
Query OK, 1 row affected (0.01 sec)
mysql> CREATE DATABASE icinga;
mysql> GRANT USAGE ON icinga.* TO 'icinga'@'localhost'
IDENTIFIED BY 'icinga'
WITH MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0
MAX_UPDATES_PER_HOUR 0;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE
ON icinga.* TO 'icinga'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit
quit
Import database schema
----------------------
......
......@@ -148,6 +148,7 @@ in various ways. If we missed your name, let us know.
* Ronald Ho
* Stanley Hopcroft
* Sam Howard
* Marco Hoyer
* Torsten Huebler
* Stig Jacobsen
* Percy Jahn
......
......@@ -3636,21 +3636,17 @@ int handle_async_host_check_result_3x(host *temp_host, check_result *queued_chec
}
/* translate return code to basic UP/DOWN state - the DOWN/UNREACHABLE state determination is made later */
/* NOTE: only do this for active checks - passive check results already have the final state */
if (queued_check_result->check_type == HOST_CHECK_ACTIVE) {
/* if we're not doing aggressive host checking, let WARNING states indicate the host is up (fake the result to be STATE_OK) */
if (use_aggressive_host_checking == FALSE && result == STATE_WARNING)
result = STATE_OK;
/* if we're not doing aggressive host checking, let WARNING states indicate the host is up (fake the result to be STATE_OK) */
if (use_aggressive_host_checking == FALSE && result == STATE_WARNING)
result = STATE_OK;
/* OK states means the host is UP */
if (result == STATE_OK)
result = HOST_UP;
/* OK states means the host is UP */
if (result == STATE_OK)
result = HOST_UP;
/* any problem state indicates the host is not UP */
else
result = HOST_DOWN;
}
/* any problem state indicates the host is not UP */
else
result = HOST_DOWN;
/******************* PROCESS THE CHECK RESULTS ******************/
......
......@@ -2276,7 +2276,7 @@ int process_passive_host_check(time_t check_time, char *host_name, int return_co
int result = OK;
/* skip this host check result if we aren't accepting passive host checks */
if (accept_passive_service_checks == FALSE)
if (accept_passive_host_checks == FALSE)
return ERROR;
/* make sure we have all required data */
......
......@@ -2691,14 +2691,14 @@ static int cmd_submitf(int id, const char *fmt, ...) {
len = snprintf(cmd, sizeof(cmd) - 1, "[%lu] %s;", time(NULL), command);
if (len < 0)
if (len < 0 || len >= sizeof(cmd))
return ERROR;
if (fmt) {
va_start(ap, fmt);
len2 = vsnprintf(&cmd[len], sizeof(cmd) - len - 1, fmt, ap);
va_end(ap);
if (len2 < 0)
if (len2 < 0 || len2 >= sizeof(cmd) - len)
return ERROR;
}
......
......@@ -3457,7 +3457,7 @@ void show_downtime(int type) {
printf("\"author\": null, ");
else
printf("\"author\": \"%s\", ", json_encode(temp_downtime->author));
if (temp_downtime->author == NULL)
if (temp_downtime->comment == NULL)
printf("\"comment\": null, ");
else
printf("\"comment\": \"%s\", ", json_encode(temp_downtime->comment));
......
......@@ -2507,9 +2507,9 @@ ac_config_headers="$ac_config_headers include/config.h"
PKG_NAME=icinga-core
PKG_VERSION="1.10.2"
PKG_VERSION="1.10.3"
PKG_HOME_URL="http://www.icinga.org/"
PKG_REL_DATE="12-05-2013"
PKG_REL_DATE="02-11-2014"
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
......
......@@ -9,9 +9,9 @@ AC_CONFIG_HEADER(include/config.h)
AC_PREFIX_DEFAULT(/usr/local/icinga)
PKG_NAME=icinga-core
PKG_VERSION="1.10.2"
PKG_VERSION="1.10.3"
PKG_HOME_URL="http://www.icinga.org/"
PKG_REL_DATE="12-05-2013"
PKG_REL_DATE="02-11-2014"
dnl Figure out how to invoke "install" and what install options to use.
AC_PROG_INSTALL
......
......@@ -26,6 +26,7 @@ IcingaLockFile=icinga
IcingaUser=@icinga_user@
IcingaGroup=@icinga_grp@
IcingaChkFile=@ICINGACHKFILE@
IcingaPrecacheFallback=0
# load extra environment variables
if [ -f /etc/sysconfig/icinga ]; then
......@@ -126,7 +127,13 @@ pid_icinga ()
chk_config ()
{
printf "Running configuration check..."
$IcingaBin -v $IcingaCfgFile > $IcingaChkFile 2>&1
if test "x$2" = "xprecache"; then
$IcingaBin -v -p $IcingaCfgFile > $IcingaChkFile 2>&1
else
$IcingaBin -v $IcingaCfgFile > $IcingaChkFile 2>&1
fi
if test $? -ne 0; then
if test -z "$1"; then
cat $IcingaChkFile
......@@ -134,11 +141,11 @@ chk_config ()
else
echo $1
fi
exit 1
return 1
fi
rm -f $IcingaChkFile
echo "OK"
#exit 0
return 0
}
start(){
......@@ -160,7 +167,13 @@ start(){
rm -f $IcingaCommandFile
touch $IcingaRunFile
chown $IcingaUser:$IcingaGroup $IcingaRunFile
$IcingaBin -d $IcingaCfgFile
if test "x$1" = "xprecache"; then
$IcingaBin -d -u $IcingaCfgFile
else
$IcingaBin -d $IcingaCfgFile
fi
if [ -d $IcingaLockDir ]; then touch $IcingaLockDir/$IcingaLockFile; fi
echo "Starting icinga done."
exit 0
......@@ -173,8 +186,32 @@ start(){
case "$1" in
start)
chk_config "CONFIG ERROR! Start aborted. See $IcingaChkFile for details."
start
if test $IcingaPrecacheFallback != 1; then
chk_config "CONFIG ERROR! Start aborted. See $IcingaChkFile for details."
if test $? != 0; then
exit 1
fi
start
else
IcingaPrecacheFile=$(grep ^precached_object_file $IcingaCfgFile | tail -n 1 | awk 'BEGIN { FS = "=" }; { print $2 }')
chk_config "CONFIG ERROR! Falling back to pre-cache file. See $IcingaChkFile for details." precache
if test $? = 0; then
cp $IcingaPrecacheFile $IcingaPrecacheFile.good
start
else
if test ! -e $IcingaPrecacheFile.good; then
echo "Pre-cache file does not exist."
exit 1
fi
cp $IcingaPrecacheFile.good $IcingaPrecacheFile
start precache
fi
fi
;;
stop)
......@@ -214,20 +251,42 @@ case "$1" in
checkconfig)
chk_config " CONFIG ERROR! See $IcingaChkFile for details."
if test $? != 0; then
exit 1
fi
;;
show-errors)
chk_config
if test $? != 0; then
exit 1
fi
;;
restart)
chk_config " CONFIG ERROR! Restart aborted. See $IcingaChkFile for details."
if test $IcingaPrecacheFallback != 1; then
chk_config " CONFIG ERROR! Restart aborted. See $IcingaChkFile for details."
if test $? != 0; then
exit 1
fi
fi
$0 stop
start
;;
reload|force-reload)
chk_config " CONFIG ERROR! Reload aborted. See $IcingaChkFile for details."
if test $IcingaPrecacheFallback != 1; then
chk_config " CONFIG ERROR! Reload aborted. See $IcingaChkFile for details."
if test $? != 0; then
exit 1
fi
fi
if test ! -f $IcingaRunFile; then
$0 start
else
......
......@@ -95,7 +95,7 @@
</li>
</ul></div>
<a class="indexterm" name="idp176310144"></a>
<a class="indexterm" name="idp176347472"></a>
</div>
<div class="section" title="1.1.2. Systemvoraussetzungen">
......@@ -123,7 +123,7 @@
</li>
</ol></div>
<a class="indexterm" name="idp176321696"></a>
<a class="indexterm" name="idp176358976"></a>
</div>
<div class="section" title="1.1.3. Lizenzierung">
......@@ -141,7 +141,7 @@
<p>Icinga wird geliefert WIE ES IST OHNE GARANTIE IRGENDEINER ART, EINSCHLIESSLICH DER GARANTIE FÜR DESIGN, VERMARKTBARKEIT
ODER DER TAUGLICHKEIT FÜR EINEN BESTIMMTEN ZWECK.</p>
<a class="indexterm" name="idp176328944"></a>
<a class="indexterm" name="idp176366224"></a>
</div>
<div class="section" title="1.1.4. Danksagungen">
......@@ -152,7 +152,7 @@
<p>Verschiedene Leute haben zu Icinga beigetragen, z.B. durch Meldung von Fehlern, vorschlagen von Verbesserungen, schreiben
von Plugins usw.</p>
<a class="indexterm" name="idp176332080"></a>
<a class="indexterm" name="idp176369360"></a>
</div>
<div class="section" title="1.1.5. Beschaffen der neuesten Version">
......@@ -162,7 +162,7 @@
<p>Sie können auf <a class="link" href="http://www.icinga.org/" target="_top">https://www.icinga.org/</a> nach neuen Versionen von Icinga suchen.</p>
<a class="indexterm" name="idp176335856"></a>
<a class="indexterm" name="idp176373136"></a>
</div>
<div class="section" title="1.1.6. Kompatibilität">
......@@ -177,7 +177,7 @@
<p>Icinga und das Icinga-Logo sind Markenzeichen von icinga.org. Alle anderen Markenzeichen, Dienstmarkenzeichen,
registrierte Markenzeichen und registrierte Dienstmarkenzeichen können das Eigentum der jeweiligen Inhaber sein.</p>
<a class="indexterm" name="idp176340848"></a>
<a class="indexterm" name="idp176378128"></a>
</div>
</div>
<div class="navfooter">
......
......@@ -95,9 +95,9 @@
durchführen, um den genauen Status eines bestimmten Netzwerk-Segments zu ermitteln. Prüfungen nach Bedarf finden sich auch in der <a class="link" href="dependencychecks.html" title="7.20. Vorausschauende Abhängigkeitsprüfungen">vorausschauenden Abhängigkeitsprüfung</a>s-Logik, um sicherzustellen, dass Icinga möglichst genaue
Statusinformationen hat.</p>
<a class="indexterm" name="idp186248320"></a>
<a class="indexterm" name="idp186285488"></a>
<a class="indexterm" name="idp186245152"></a>
<a class="indexterm" name="idp186282320"></a>
</div>
</div>
<div class="navfooter">
......
......@@ -127,9 +127,9 @@
</li>
</ul></div>
<a class="indexterm" name="idp190955088"></a>
<a class="indexterm" name="idp190991184"></a>
<a class="indexterm" name="idp190956368"></a>
<a class="indexterm" name="idp190992464"></a>
</div>
</div>
<div class="navfooter">
......
......@@ -148,55 +148,55 @@
<p>Das IDOUtils-Addon und die Dokumentation finden Sie unter <a class="link" href="http://docs.icinga.org/" target="_top">http://docs.icinga.org/</a>.</p>
<a class="indexterm" name="idp192326416"></a>
<a class="indexterm" name="idp192362464"></a>
<a class="indexterm" name="idp192328048"></a>
<a class="indexterm" name="idp192364256"></a>
<a class="indexterm" name="idp192329728"></a>
<a class="indexterm" name="idp192365648"></a>
<a class="indexterm" name="idp192331344"></a>
<a class="indexterm" name="idp192367440"></a>
<a class="indexterm" name="idp192332448"></a>
<a class="indexterm" name="idp192368576"></a>
<a class="indexterm" name="idp192334144"></a>
<a class="indexterm" name="idp192370128"></a>
<a class="indexterm" name="idp192335152"></a>
<a class="indexterm" name="idp192371408"></a>
<a class="indexterm" name="idp192336848"></a>
<a class="indexterm" name="idp192372960"></a>
<a class="indexterm" name="idp192338016"></a>
<a class="indexterm" name="idp192374240"></a>
<a class="indexterm" name="idp192339776"></a>
<a class="indexterm" name="idp192375728"></a>
<a class="indexterm" name="idp192340784"></a>
<a class="indexterm" name="idp192377072"></a>
<a class="indexterm" name="idp192342480"></a>
<a class="indexterm" name="idp192378560"></a>
<a class="indexterm" name="idp192343648"></a>
<a class="indexterm" name="idp192379904"></a>
<a class="indexterm" name="idp192345408"></a>
<a class="indexterm" name="idp192381296"></a>
<a class="indexterm" name="idp192346416"></a>
<a class="indexterm" name="idp192382688"></a>
<a class="indexterm" name="idp192348096"></a>
<a class="indexterm" name="idp192384288"></a>
<a class="indexterm" name="idp192349232"></a>
<a class="indexterm" name="idp192385376"></a>
<a class="indexterm" name="idp192351024"></a>
<a class="indexterm" name="idp192387200"></a>
<a class="indexterm" name="idp192352032"></a>
<a class="indexterm" name="idp192388208"></a>
<a class="indexterm" name="idp192353728"></a>
<a class="indexterm" name="idp192389872"></a>
<a class="indexterm" name="idp192354864"></a>
<a class="indexterm" name="idp192391008"></a>
<a class="indexterm" name="idp192356656"></a>
<a class="indexterm" name="idp192392800"></a>
<a class="indexterm" name="idp192357664"></a>
<a class="indexterm" name="idp192393808"></a>
<a class="indexterm" name="idp192359232"></a>
<a class="indexterm" name="idp192395504"></a>
<a class="indexterm" name="idp192360576"></a>
<a class="indexterm" name="idp192396640"></a>
</div>
</div>
<div class="navfooter">
......
......@@ -141,8 +141,8 @@
<div class="titlepage"><div><div><h3 class="title">
<a name="icinga_gui_comparison"></a>2.1.2. <a name="icinga-gui-comparison"></a>Icinga Web-GUI-Vergleich</h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section">2.1.2.1. <a href="beginners.html#idp176434736">Icinga-Classic-Web</a></span></dt>
<dt><span class="section">2.1.2.2. <a href="beginners.html#idp176481696">Icinga-New-Web</a></span></dt>
<dt><span class="section">2.1.2.1. <a href="beginners.html#idp176471696">Icinga-Classic-Web</a></span></dt>
<dt><span class="section">2.1.2.2. <a href="beginners.html#idp176519152">Icinga-New-Web</a></span></dt>
</dl></div>
......@@ -152,7 +152,7 @@
<div class="section" title="2.1.2.1. Icinga-Classic-Web">
<div class="titlepage"><div><div><h4 class="title">
<a name="idp176434736"></a>2.1.2.1. Icinga-Classic-Web</h4></div></div></div>
<a name="idp176471696"></a>2.1.2.1. Icinga-Classic-Web</h4></div></div></div>
<a name="icinga_gui_classic"></a>
......@@ -197,7 +197,7 @@
<p>Weil das Icinga-Classic-Web ständig weiter entwickelt wird, können Sie sicher sein, dass jedes Addon, das Sie mit Nagios nutzen,
auch mit Icinga funktionieren wird.</p>
<table border="1" id="idp176447632">
<table border="1" id="idp176484592">
<caption>Tabelle 2.1. Screenshots Icinga-Classic-Web</caption>
<tr>
......@@ -291,7 +291,7 @@
<div class="section" title="2.1.2.2. Icinga-New-Web">
<div class="titlepage"><div><div><h4 class="title">
<a name="idp176481696"></a>2.1.2.2. Icinga-New-Web</h4></div></div></div>
<a name="idp176519152"></a>2.1.2.2. Icinga-New-Web</h4></div></div></div>
<a name="icinga_gui_new_web"></a>
......@@ -364,7 +364,7 @@
</li>
</ul></div>
<table border="1" id="idp176499008">
<table border="1" id="idp176536464">
<caption>Tabelle 2.2. Screenshots Icinga-New-Web</caption>
<tr>
......@@ -514,14 +514,14 @@
</table>
</div>
<a class="indexterm" name="idp176555824"></a>
<a class="indexterm" name="idp176593280"></a>