[Pkg-nagios-changes] [SCM] Debian packaging for Nagios3 branch, master, updated. debian/3.4.1-2-19-g04df464
Alexander Wirt
formorer at debian.org
Thu Jun 27 05:47:49 UTC 2013
The following commit has been merged in the master branch:
commit 51fb59be723c4179006a962cd0d6d84b84b91781
Author: Alexander Wirt <formorer at debian.org>
Date: Wed Jun 26 22:26:34 2013 +0200
Backport upstream r1953 to fix downtime retention across restarts
Closes: #710356
Thanks: Didier 'OdyX' Raboud for the patch
diff --git a/debian/patches/00list b/debian/patches/00list
index b2b0f96..f4aee6e 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -9,4 +9,5 @@
99_remove_update-check.dpatch
99_fix_php_warning.dpatch
999_daemon-downtime-Handle-loading-effective-downtime-fr.dpatch
+999_daemon-downtime-Handle-loading-effective-downtime-fr.dpatch
99_security_status_cgi_servicegroup.dpatch
diff --git a/debian/patches/999_daemon-downtime-Handle-loading-effective-downtime-fr.dpatch b/debian/patches/999_daemon-downtime-Handle-loading-effective-downtime-fr.dpatch
index cf920a3..b80b44f 100644
--- a/debian/patches/999_daemon-downtime-Handle-loading-effective-downtime-fr.dpatch
+++ b/debian/patches/999_daemon-downtime-Handle-loading-effective-downtime-fr.dpatch
@@ -84,3 +84,89 @@ index 09a0333..0193c50 100644
--
1.8.2
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## daemon downtime: Handle loading effective downtime from retention
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: From 9f18395268dda948265722984097735d48d72197 Mon Sep 17 00:00:00 2001
+## DP: From: Andreas Ericsson <ae at op5.se>
+## DP: Date: Wed, 6 Jun 2012 09:38:06 +0000
+## DP: Subject: [PATCH] daemon downtime: Handle loading effective downtime from
+## DP: retention
+## DP:
+## DP: Without this patch, Nagios would forget about downtime that starts
+## DP: before the core is stopped and ends after the core is restarted.
+## DP:
+## DP: According to testers, the original problem with notifications being
+## DP: re-sent does not crop up again when this patch is applied.
+## DP:
+## DP: Tested-by: Mark Elsen <mark.elsen at gmail.com>
+## DP: Tested-by: Phil Randal <phil.randal at hoopleltd.co.uk>
+## DP: Patched-by: Carlos Velasco <carlos.velasco at nimastelecom.com>
+## DP: Signed-off-by: Andreas Ericsson <ae at op5.se>
+## DP:
+## DP: git-svn-id: https://nagios.svn.sourceforge.net/svnroot/nagios/nagioscore/trunk@1953 5f96b256-904b-4d8d-8c98-d829582c6739
+## DP: ---
+## DP: THANKS | 1 +
+## DP: common/downtime.c | 31 +++++++++++++++++++++++++++----
+## DP: 2 files changed, 28 insertions(+), 4 deletions(-)
+
+ at DPATCH@
+diff --git a/THANKS b/THANKS
+index d2f759a..b7c666e 100644
+--- a/THANKS
++++ b/THANKS
+@@ -277,6 +277,7 @@ since 1999. If I missed your name, let me know.
+ * Nikola Vassilev
+ * Esteban Manchado Velazquez
+ * Geert Vanderkelen
++* Carlos Velasco
+ * Jan Vejvalka
+ * Robert August Vincent II
+ * Dave Viner
+diff --git a/common/downtime.c b/common/downtime.c
+index 09a0333..0193c50 100644
+--- a/common/downtime.c
++++ b/common/downtime.c
+@@ -401,11 +401,34 @@ int handle_scheduled_downtime(scheduled_downtime *temp_downtime) {
+ }
+
+ /* if downtime handler gets triggerd in between then there seems to be a restart */
+- /* Don't do anything just return */
+- time( ¤t_time);
+- if( temp_downtime->start_time < current_time && current_time < temp_downtime->end_time && temp_downtime->is_in_effect == TRUE)
+- return OK;
++ time(¤t_time);
++ if(temp_downtime->start_time < current_time && current_time < temp_downtime->end_time && temp_downtime->is_in_effect == TRUE) {
++#ifdef USE_EVENT_BROKER
++ /* send data to event broker */
++ broker_downtime_data(NEBTYPE_DOWNTIME_START, NEBFLAG_NONE, NEBATTR_NONE, temp_downtime->type, temp_downtime->host_name, temp_downtime->service_description, temp_downtime->entry_time, temp_downtime->author, temp_downtime->comment, temp_downtime->start_time, temp_downtime->end_time, temp_downtime->fixed, temp_downtime->triggered_by, temp_downtime->duration, temp_downtime->downtime_id, NULL);
++#endif
++
++ /* increment the downtime depth variable */
++ if(temp_downtime->type == HOST_DOWNTIME) {
++ hst->scheduled_downtime_depth++;
++ update_host_status(hst, FALSE);
++ }
++ else {
++ svc->scheduled_downtime_depth++;
++ update_service_status(svc, FALSE);
++ }
+
++ /* schedule an event */
++ if(temp_downtime->fixed == FALSE)
++ event_time = (time_t)((unsigned long)time(NULL) + temp_downtime->duration);
++ else
++ event_time = temp_downtime->end_time;
++ if((new_downtime_id = (unsigned long *)malloc(sizeof(unsigned long)))) {
++ *new_downtime_id = temp_downtime->downtime_id;
++ schedule_new_event(EVENT_SCHEDULED_DOWNTIME, TRUE, event_time, FALSE, 0, NULL, FALSE, (void *)new_downtime_id, NULL, 0);
++ }
++ return OK;
++ }
+
+ /* have we come to the end of the scheduled downtime? */
+ if(temp_downtime->is_in_effect == TRUE) {
+--
+1.8.2
+
--
Debian packaging for Nagios3
More information about the Pkg-nagios-changes
mailing list