summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--action.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 943d4bf7..1989d550 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+- bugfix: action was not called when system time was set backwards
+ (until the previous time was reached again). There are still some
+ side-effects when time is rolled back (A time rollback is really a bad
+ thing to do, ideally the OS should issue pseudo time (like NetWare did)
+ when the user tries to roll back time). Thanks to varmojfekoj for this
+ patch.
---------------------------------------------------------------------------
Version 3.18.3 (rgerhards), 2008-08-18
- bugfix: imfile could cause a segfault upon rsyslogd HUP and termination
diff --git a/action.c b/action.c
index 39c37b5b..8b47f541 100644
--- a/action.c
+++ b/action.c
@@ -544,6 +544,10 @@ actionWriteToAction(action_t *pAction)
dbgprintf("Called action, logging to %s", module.GetStateName(pAction->pMod));
time(&now); /* we need this for message repeation processing AND $ActionExecOnlyOnceEveryInterval */
+ if(pAction->tLastExec > now) {
+ /* if we are traveling back in time, reset tLastExec */
+ pAction->tLastExec = (time_t) 0;
+ }
/* now check if we need to drop the message because otherwise the action would be too
* frequently called. -- rgerhards, 2008-04-08
*/