Michael Friedrich
3fe169cd7a
Graphite/PerfdataWriter: Add host perfdata.
...
Fixes #5908
2014-04-02 14:13:24 +02:00
Gunnar Beutner
036fd3303f
Replace $plugindir$ macro with a constant.
...
Fixes #5877
2014-03-31 13:11:36 +02:00
Michael Friedrich
2f59aa38a3
Fix unknown attribute 'notification_type_filter'.
...
Fixes #5887
2014-03-30 16:15:49 +02:00
Gunnar Beutner
5179eebf09
Allow rterm in indexer ops.
...
Refs #5870
2014-03-30 10:00:11 +02:00
Gunnar Beutner
14084735da
Make sure we evaluate "apply" rules in the right order.
...
Refs #5870
2014-03-30 01:20:58 +01:00
Gunnar Beutner
6ef2cdb0eb
Implement apply support for dependencies.
...
Refs #5880
2014-03-28 23:03:53 +01:00
Gunnar Beutner
33ae12d084
Implement apply support for scheduled downtimes and notifications.
...
Refs #5880
2014-03-28 23:01:33 +01:00
Gunnar Beutner
adce8e95bc
Move the apply rule handler to the Service class.
...
Refs #5878
2014-03-28 19:45:02 +01:00
Gunnar Beutner
54063f0b9f
Rename __name and __type properties.
...
Refs #5870
2014-03-28 14:17:55 +01:00
Gunnar Beutner
7ee1278118
Implement the new syntax for the "apply" keyword.
...
Refs #5878
2014-03-28 14:00:00 +01:00
Gunnar Beutner
b289987500
Implement the "." operator.
...
Refs #5876
2014-03-28 13:59:56 +01:00
Gunnar Beutner
de81baf515
Remove inline service/notification/downtime definitions.
...
Refs #5875
2014-03-28 11:22:39 +01:00
Gunnar Beutner
8958d2f69f
Implement the "import" keyword.
...
Refs #5869
2014-03-28 11:22:36 +01:00
Gunnar Beutner
8e699ac0fa
Fix scoping rules for object definitions.
...
Refs #5846
2014-03-24 11:23:47 +01:00
Gunnar Beutner
aacc699dd4
Refactor the config parser's AST.
...
Refs #5846
2014-03-23 11:27:40 +01:00
Michael Friedrich
f3f157d60d
Set check source only on local instance (empty authority).
...
Fixes #5824
Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2014-03-21 10:18:11 +01:00
Michael Friedrich
fc7d7cc9eb
DB IDO: Send endpoint authority for status updates.
...
Refs #5636
2014-03-20 18:03:47 +01:00
Gunnar Beutner
02fc3278c8
Implement missing operators for the Value class.
...
Fixes #5804
2014-03-20 13:02:31 +01:00
Michael Friedrich
f6067d357d
Set check source to node name as authority, if empty.
...
Fixes #5805
2014-03-20 10:32:52 +01:00
Michael Friedrich
5ec2349f64
Clear sticky ack on soft recovery, fix sticky=2, normal=1|0.
...
Fixes #5365
2014-03-19 23:08:44 +01:00
Michael Friedrich
bcc17be2ca
Fix missing lock and clear ack comments in RemoveHostAcknowledgement().
2014-03-19 22:08:28 +01:00
Gunnar Beutner
700cc43770
Update documentation.
...
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner
ec0557afea
Implement additional operators: &&, ||, in and !in.
...
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner
caad7a7973
Implement the 'apply template' directive.
...
Refs #5789
2014-03-19 12:46:23 +01:00
Michael Friedrich
ce737ff2f3
Change copyright header (again).
...
Fixes #5424
2014-03-19 11:42:47 +01:00
Michael Friedrich
ac35eadc8d
Empty command string on CHANGE_{HOST,SERVICE}_EVENTHANDLER should disable event handlers.
...
Fixes #5670
2014-03-17 18:52:23 +01:00
Gunnar Beutner
5a7d56f4a3
Avoid unnecessary async callback.
...
Refs #5748
2014-03-17 09:09:55 +01:00
Michael Friedrich
2f7881736e
Remove comment when clearing acknowledgement.
...
Fixes #5366
2014-03-13 16:43:32 +01:00
Gunnar Beutner
74209bde40
Reschedule services before running checks.
...
Fixes #5754
2014-03-13 14:13:55 +01:00
Gunnar Beutner
bfc5d2a4be
Use fewer threads for plugin-based checks.
...
Fixes #5748
2014-03-12 10:25:06 +01:00
Gunnar Beutner
51c7093e13
Fix initial check interval.
...
Refs #5716
2014-03-11 15:21:35 +01:00
Michael Friedrich
2b6529c424
Fix {Host,Service,User}Group::{Add,Remove}Member isn't thread-safe.
...
Fixes #5699
2014-03-11 10:40:37 +01:00
Gunnar Beutner
a124bed5c0
Don't send notifications for the initial state change.
...
Fixes #5736
2014-03-10 13:54:16 +01:00
Gunnar Beutner
a8a955ff9c
Fix $ escaping in macros.
...
Fixes #5378
2014-03-10 09:41:48 +01:00
Gunnar Beutner
bd37b9b62f
Fix: Check attempt counter is invalid.
...
Fixes #5734
2014-03-10 08:56:31 +01:00
Michael Friedrich
4a077c9ceb
Update next check before processing any result triggering status updates.
...
Fixes #5733
2014-03-09 18:06:24 +01:00
Gunnar Beutner
bf1d9bf6ed
Fix inline service dependencies.
...
Fixes #5726
2014-03-07 12:14:28 +01:00
Gunnar Beutner
f5b4e951f0
Fix deadlock in Service::RemoveAllComments().
...
Fixes #5721
2014-03-07 09:53:47 +01:00
Gunnar Beutner
7e690cc7b8
Fix: Pending services are being checked with the retry interval.
...
Fixes #5716
2014-03-06 11:39:32 +01:00
Gunnar Beutner
979d6cc97a
Fix: Host groups in objects.cache aren't working properly.
...
Fixes #5632
2014-03-05 12:07:53 +01:00
Gunnar Beutner
22d53cf3b5
Implement a new object type for service dependencies.
...
Fixes #2799
2014-03-05 09:57:29 +01:00
Michael Friedrich
f890a7ae8c
Refactor status/perfdata stats registry.
...
Fixes #5622
2014-02-20 15:25:58 +01:00
Gunnar Beutner
9bdf2f4766
Event handlers should be run when services are in a soft state.
...
Fixes #5681
2014-02-20 10:35:58 +01:00
Michael Friedrich
d3cdbb5156
Implement IcingaStatusWriter object dumping local and feature stats.
...
Refactored the cluster listener health check too.
Refs #5622
Refs #5444
2014-02-17 18:51:16 +01:00
Michael Friedrich
84be5e3413
Implement StatsFunction Registry for features.
...
Refs #5622
2014-02-17 17:53:41 +01:00
Michael Friedrich
95f7de123e
Move Check Stats into CIB.
...
Fixes #5617
2014-02-10 14:59:56 +01:00
Gunnar Beutner
663f72300b
Fix validation for the "authorities" attribute.
...
Fixes #5593
2014-02-10 08:50:09 +01:00
Michael Friedrich
e534f9bc1b
Add Cluster Health Check.
...
Fixes #5438
2014-02-07 15:19:37 +01:00
Michael Friedrich
5f26bb9147
Add check source to external commands / check result reader.
...
Fixes #5615
2014-02-07 09:48:15 +01:00
Michael Friedrich
1e0a11c7f2
Add IcingaNodeName script variable, set as check source (WIP).
...
Fixes #5471
Fixes #5473
2014-02-06 15:38:06 +01:00
Michael Friedrich
1728095c53
Fix ProcessHostCheckResult error message.
...
Fixes #5601
2014-02-04 15:59:08 +01:00
Michael Friedrich
a3097ff3c6
DB IDO: Fix the way notification_id is handled.
...
Fixes #5103
Fixes #5265
2014-01-28 17:53:40 +01:00
Michael Friedrich
f30eca5a73
DB IDO: Refactor notification signal handling.
...
Refs #5103
Fixes #5265
2014-01-28 15:53:12 +01:00
Gunnar Beutner
95559cb329
Fix: PROCESS_HOST_CHECK_RESULT misinterprets the given status code.
...
Fixes #5462
2014-01-28 14:44:06 +01:00
Michael Friedrich
fcec5c61a0
CompatUtility: Fix broken custom variable dump.
...
Fixes #5547
2014-01-21 16:13:27 +01:00
Johannes Meyer
f8e6673123
Implement missing host/servicegroup commands
...
fixes #5504
2014-01-20 16:58:18 +01:00
Johannes Meyer
f11ed8a684
Implement ENABLE_HOSTGROUP_PASSIVE_HOST_CHECKS
...
fixes #5501
fixes #5502
fixes #5503
2014-01-20 16:04:02 +01:00
Johannes Meyer
8a25bff8a6
Fix that dis-/enabling notifications affect active checks
...
fixes #5500
2014-01-20 11:12:03 +01:00
Michael Friedrich
555d72150a
Update copyright header.
...
Fixes #5424
2014-01-09 00:32:11 +01:00
Johannes Meyer
2997680cf1
Fix indices used to access arguments of external commands
...
fixes #5368
2013-12-18 14:41:19 +01:00
Gunnar Beutner
3a10127bf4
Implement support for using custom variables as macros.
...
Fixes #5364
2013-12-18 10:53:26 +01:00
Gunnar Beutner
21fb0d9872
Implement "safe mode" for icinga::Deserialize.
...
Fixes #5035
2013-12-18 10:27:58 +01:00
Johannes Meyer
12d32ad719
Fix crash that might occur in a situation where icinga should not crash...
...
refs #5356
2013-12-17 16:01:33 +01:00
Johannes Meyer
772f319926
Fix that triggered_by field is not of type int in a livestatus response
...
fixes #5356
2013-12-17 15:15:39 +01:00
Gunnar Beutner
9bf44b9b1d
Fix: Missing warn/crit/min/max values are incorrectly set to 0.
...
Fixes #5358
2013-12-17 14:47:19 +01:00
Gunnar Beutner
41d4ba169f
Embed constants into lib{base,icinga,db_ido}.
...
Fixes #5247
2013-12-17 14:24:29 +01:00
Gunnar Beutner
6bec49bd23
Fix invalid lock in Service::UpdateSlaveNotifications.
...
Fixes #5354
2013-12-17 11:56:29 +01:00
Gunnar Beutner
ad563cf5d2
Use CompatUtility::GetCommandLine in StatusDataWriter::DumpCommand.
...
Fixes #5353
2013-12-17 10:20:28 +01:00
Johannes Meyer
1bec9692c6
Fix address and address6 being empty in objects.cache
...
fixes #5352
2013-12-17 09:50:19 +01:00
Gunnar Beutner
ddf83f33d2
Fix compiler warnings in Service::ProcessCheckResult.
...
Refs #5349
2013-12-17 07:55:46 +01:00
Gunnar Beutner
dac4ac02a9
Fix compiler warning in CompatUtility::GetServiceNotificationNotificationOptions.
...
Refs #5349
2013-12-17 07:52:35 +01:00
Gunnar Beutner
0b8b421323
Fix compiler warnings in ScheduledDowntime::FindNextSegment.
...
Refs #5349
2013-12-17 07:52:30 +01:00
Michael Friedrich
07e4bc03bc
Fix perfdata double value type formatting.
...
Fixes #5277
2013-12-16 16:57:30 +01:00
Michael Friedrich
a840dc8694
Apply UOM base to warn/crit/min/max to perfdata values.
...
Fixes #5280
2013-12-16 16:36:54 +01:00
Gunnar Beutner
ff5a35b7db
Fix race condition in TimePeriod::Start.
...
Refs #5337
2013-12-15 18:46:14 +01:00
Gunnar Beutner
0af81f2da2
Fix race conditions in the config compiler.
...
Fixes #5335
2013-12-15 11:54:22 +01:00
Michael Friedrich
2ae988f457
Windows build fix.
2013-12-13 17:09:47 +01:00
Gunnar Beutner
f8d7f7799e
Improve WorkQueue performance
...
Refs #5327
2013-12-13 14:08:06 +01:00
Michael Friedrich
66765311c3
Refactor CompatUtility::* for DB IDO, Livestatus, StatusData.
...
Fixes #5241
2013-12-13 09:38:22 +01:00
Michael Friedrich
e6c6a7dc52
Use exclamation mark for auto-generated config item names.
...
Fixes #5318
2013-12-12 11:50:08 +01:00
Johannes Meyer
e50dd8c1cc
Fix indentation in lib/icinga/externalcommandprocessor.cpp
2013-12-11 16:00:09 +01:00
Johannes Meyer
66845d05f8
Fix crash when a command is executed that affects check services
...
fixes #5297
2013-12-11 12:43:18 +01:00
Gunnar Beutner
41ded2858c
Implement scheduled downtimes.
...
Fixes #3584
2013-12-06 13:45:18 +01:00
Gunnar Beutner
e2941dbca8
Make sure that TimePeriod segments are being merged properly.
...
Refs #5268
2013-12-05 12:30:02 +01:00
Gunnar Beutner
52d2066995
Avoid temporary String objects in PerfdataValue::Format.
...
Fixes #5248
2013-12-02 12:55:35 +01:00
Gunnar Beutner
f05858d3ad
Avoid unnecessary copies when iterating over dictionaries.
...
Refs #5246
2013-12-02 11:07:38 +01:00
Gunnar Beutner
6e84800538
Fix indentation in CompatUtility::GetServiceNotification*
...
Fixes #5242
2013-11-29 12:28:17 +01:00
Gunnar Beutner
cac4167e79
Fix initial check schedule.
...
Fixes #5240
2013-11-28 20:56:48 +01:00
Gunnar Beutner
6428fc6123
Implement override_check_period.
...
Refs #4746
2013-11-26 13:43:56 +01:00
Gunnar Beutner
245dd66bab
Implement override_max_check_attempts.
...
Refs #4746
2013-11-26 13:27:41 +01:00
Gunnar Beutner
1c8fb7a198
Implement override_check_command.
...
Refs #4746
2013-11-26 13:26:21 +01:00
Gunnar Beutner
b9f9cd03d2
Implement override_event_command.
...
Refs #4746
2013-11-26 12:44:49 +01:00
Gunnar Beutner
ae3eaee1f4
Implement override_enable_perfdata.
...
Refs #4746
2013-11-26 12:33:16 +01:00
Gunnar Beutner
d8c9d6a88a
Implement override_enable_flapping.
...
Refs #4746
2013-11-26 12:33:16 +01:00
Gunnar Beutner
04061adc01
Implement override_enable_notifications.
...
Refs #4746
2013-11-26 12:33:10 +01:00
Gunnar Beutner
45161fe66d
Improve latency after start-up.
...
Fixes #5121
2013-11-21 16:09:21 +01:00
Gunnar Beutner
91338a7e49
Remove redundant checks.
...
Fixes #5071
2013-11-21 12:23:55 +01:00
Gunnar Beutner
92dd32eb68
Implement support for high-level stack traces.
...
Refs #5085
2013-11-21 09:42:27 +01:00
Gunnar Beutner
39dcf20a89
Implement support for stack traces for STL exceptions.
...
Fixes #5114
2013-11-20 21:55:14 +01:00
Gunnar Beutner
0f28e55925
Implement support for non-standard "multi" performance data.
...
Refs #5082
2013-11-17 03:29:43 +01:00
Gunnar Beutner
d95c6c7d85
Remove trailing spaces from performance data.
...
Refs #5082
2013-11-17 01:00:26 +01:00
Gunnar Beutner
f9b107d0bf
Accept invalid performance data.
...
Refs #5082
2013-11-17 00:05:31 +01:00
Gunnar Beutner
8c24638ff1
Fix latency calculation.
...
Refs #5050
2013-11-15 14:40:14 +01:00
Gunnar Beutner
e2a7cb32e5
Use normal check interval for services which haven't been checked yet.
...
Refs #5050
2013-11-15 12:57:04 +01:00
Gunnar Beutner
2dacc047ec
Remove quotes from perfdata keys.
...
Fixes #5031
2013-11-13 15:43:59 +01:00
Gunnar Beutner
438d5c0f57
Move EmptyTimePeriod and EvenMinutesTimePeriod to libmethods.
...
Fixes #5032
2013-11-13 09:41:06 +01:00
Gunnar Beutner
6ccf4497f2
Fix unit tests on Windows.
...
Fixes #5068
2013-11-13 09:08:17 +01:00
Gunnar Beutner
81c4dd40ab
Make sure that Notification::notification_command is set.
...
Fixes #5056
2013-11-11 17:26:20 +01:00
Gunnar Beutner
0dba71ecaf
Fix service and notification templates.
...
Fixes #5058
2013-11-11 16:42:58 +01:00
Michael Friedrich
d1419a3067
Fix CompatUtility::{ConvertTimestamp,GetCheckResultOutput} should return std::pair.
...
Fixes #5045
2013-11-11 15:06:23 +01:00
Gunnar Beutner
95712e46d4
Fix compiler warning in PerfdataValue::Parse.
...
Fixes #5055
2013-11-11 13:14:42 +01:00
Gunnar Beutner
92c8d71bf3
Implement one-time notification for escalation contacts.
...
Fixes #5011
2013-11-11 11:21:23 +01:00
Gunnar Beutner
f7171e3e90
Optimize Service::GetHost.
...
Refs #5049
2013-11-10 22:04:18 +01:00
Gunnar Beutner
9a764d8a08
Optimize signal calls.
...
Refs #5049
2013-11-10 16:53:57 +01:00
Gunnar Beutner
45a6ca6cb3
Fix type for CheckResult::command.
...
Refs #5039
2013-11-10 01:29:09 +01:00
Gunnar Beutner
e2292ce5f7
Refactor the Service::Is{Comment,Downtime}* methods.
...
Refs #5039
2013-11-09 22:20:49 +01:00
Gunnar Beutner
ec1a7bbfcb
Implement class for service downtimes.
...
Refs #5039
2013-11-09 22:08:26 +01:00
Gunnar Beutner
cb526ddccc
Implement class for service comments.
...
Refs #5039
2013-11-09 21:19:52 +01:00
Gunnar Beutner
112f26dc19
Replace check result dictionaries with a class.
...
Refs #5039
2013-11-09 15:26:01 +01:00
Gunnar Beutner
e525410b75
Add missing new-line.
...
Refs #5036
2013-11-08 21:56:42 +01:00
Gunnar Beutner
2a6151e935
Use anonymous namespaces for INITIALIZE_ONCE().
...
Refs #5036
2013-11-08 21:12:47 +01:00
Gunnar Beutner
e546cd854d
Clean up the DynamicType class.
...
Refs #5036
2013-11-08 16:07:21 +01:00
Gunnar Beutner
7c990eff6e
Add missing copyrights.
...
Refs #5036
2013-11-08 16:06:59 +01:00
Gunnar Beutner
a84536bea3
Implement serializer support for arbitrary classes.
...
Fixes #5024
2013-11-08 14:08:59 +01:00
Gunnar Beutner
59739d9ae4
Fix crash in CompatUtility::GetCheckResultPerfdata.
...
Refs #5026
2013-11-08 14:00:38 +01:00
Gunnar Beutner
ceb0a54baf
Implement support for performance data unit prefixes.
...
Fixes #5026
2013-11-08 08:39:05 +01:00
Gunnar Beutner
5aba175e18
Use PluginUtility::{Parse,Format}Perfdata for check results.
...
Refs #2710
2013-11-07 16:07:52 +01:00
Gunnar Beutner
2af388e4ef
Implement performance data parser.
...
Refs #2710
2013-11-07 16:07:52 +01:00
Gunnar Beutner
6acc017707
Remove namespace qualifiers for boost::make_shared and boost::enable_shared_from_this.
...
Fixes #5012
2013-11-07 08:28:33 +01:00
Gunnar Beutner
b1ddc71925
Merge ReflectionObject methods into the Object class.
...
Refs #4996
2013-11-05 08:56:30 +01:00
Gunnar Beutner
6dd6c605d4
Don't explicitly load libmethods in libicinga.
...
Refs #4995
2013-11-05 08:34:34 +01:00
Gunnar Beutner
a6b0233b75
Make sure the name of the initial library (libicinga) is not hard-coded.
...
Refs #4959
2013-11-04 15:33:29 +01:00
Gunnar Beutner
871f6febc7
Move methods to a separate library.
...
Refs #4959
2013-11-04 15:29:18 +01:00
Michael Friedrich
6eae4508aa
Fix macros requiring last check result.
...
Fixes #4981
2013-11-04 09:28:23 +01:00
Gunnar Beutner
f2307c4242
Add cmake build files.
...
Refs #4962
2013-11-03 13:45:26 +01:00
Gunnar Beutner
2c143fbdf8
Remove unused files.
...
Refs #4962
2013-11-03 11:12:47 +01:00
Gunnar Beutner
fcc96cfe8f
Fix compilation with Visual Studio 2013.
...
Refs #4987
2013-11-01 00:13:30 +01:00
Michael Friedrich
d21d79a36c
CompatUtility: Use functionality in compat/ido/livestatus.
...
refs #4735
2013-10-31 16:08:55 +01:00
Michael Friedrich
75b69411b9
Livestatus: Add log table.
...
refs #4433
2013-10-31 13:39:16 +01:00
Gunnar Beutner
9c152f1f5c
Fix command_line accessor.
...
Refs #4980
2013-10-30 19:32:15 +01:00
Gunnar Beutner
ef55412855
Fix libdl detection on FreeBSD.
...
Refs #4977
2013-10-30 13:01:50 +01:00
Gunnar Beutner
dc21088680
Fix make dist.
...
Refs #4976
2013-10-30 12:18:08 +01:00
Gunnar Beutner
9f1c4539dc
Remove libltdl dependency.
...
Refs #4964
2013-10-30 12:00:55 +01:00
Gunnar Beutner
24d018a058
Fix short_name and display_name properties.
...
Refs #4973
2013-10-30 09:55:00 +01:00
Gunnar Beutner
db4b3b78d6
Implement class compiler.
...
Refs #4963
2013-10-28 14:27:36 +01:00
Gunnar Beutner
7c933f7063
Clean up indentation.
2013-10-24 07:38:29 +02:00
Gunnar Beutner
963dccfac8
Add RandomCheck similar to NullCheck.
...
Refs #4896
2013-10-23 13:51:52 +02:00
Michael Friedrich
39f11334ab
Add NOTIFICATION{AUTHOR,AUTHORNAME,COMMENT} macros.
...
fixes #4914
2013-10-19 00:19:16 +02:00
Michael Friedrich
886b1c8dd7
Fix missing object lock in ExternalCommandProcessor::RemoveSvcAcknowledgement().
2013-10-19 00:17:28 +02:00
Michael Friedrich
641bc96b84
Fix perfdata in NullCheck.
2013-10-18 20:04:56 +02:00
Michael Friedrich
bc3411fe8d
GraphiteWriter: Refactor perfdata parsing.
2013-10-18 16:27:57 +02:00
Gunnar Beutner
9506b6710e
Implement TOTALHOSTSERVICES, TOTALHOSTSERVICESOK, TOTALHOSTSERVICESWARNING, TOTALHOSTSERVICESUNKNOWN and TOTALHOSTSERVICESCRITICAL macros.
2013-10-18 11:40:46 +02:00
Gunnar Beutner
0be741aca4
Build fix.
2013-10-18 11:30:55 +02:00
Gunnar Beutner
cbf82e1cb8
Implement HOSTDURATIONSEC and SERVICEDURATIONSEC macros.
2013-10-18 11:29:49 +02:00
Michael Friedrich
dd1ec43cd0
Documentation: Add Notifications, Escalations, Filters, Delay.
2013-10-18 00:11:35 +02:00
Gunnar Beutner
05a81b84e1
Fix: Check_source in ClassicUI is N/A
...
Fixes #4893
2013-10-17 12:08:08 +02:00
Gunnar Beutner
c570593b73
Remove unused #include.
2013-10-17 10:34:01 +02:00
Gunnar Beutner
5a724ba011
Revert "NullCheckTask should return StateOK."
...
This reverts commit 046ea13cc8
.
2013-10-17 10:24:47 +02:00
Gunnar Beutner
204f04f295
Fix Service::GetEnablePerfdata().
2013-10-16 18:36:14 +02:00
Michael Friedrich
8686305848
Fix enable_perfdata.
2013-10-16 17:18:21 +02:00
Gunnar Beutner
a30afad4bd
Fix ExternalCommandProcessor::ChangeNormalHostCheckInterval.
2013-10-16 16:08:00 +02:00
Gunnar Beutner
ac9981fbcd
Implement event_handler_enabled modified attribute.
2013-10-16 15:20:14 +02:00
Gunnar Beutner
046ea13cc8
NullCheckTask should return StateOK.
2013-10-16 15:20:04 +02:00
Gunnar Beutner
ed4231d3be
Fix external commands.
2013-10-16 13:12:38 +02:00
Gunnar Beutner
3ba0616620
Fix Service::{Get,Set}ModifiedAttributes.
2013-10-16 13:08:55 +02:00
Gunnar Beutner
45eb84f730
Allow floating point numbers for CHANGE_*_CHECK_INTERVAL.
2013-10-16 13:08:51 +02:00
Gunnar Beutner
3596ee577b
Implement modified attributes check_interval and retry_interval.
2013-10-16 13:02:21 +02:00
Gunnar Beutner
20fbce9c9c
Build fix.
2013-10-16 12:10:31 +02:00
Gunnar Beutner
6f645ecfbf
Clean up ExternalCommandProcessor method names.
2013-10-16 12:09:45 +02:00
Gunnar Beutner
d07dc47b1b
Implement CHANGE_HOST_MODATTR.
2013-10-16 12:08:58 +02:00
Gunnar Beutner
177e1a9000
Implement modified attributes for enable_active_checks and enable_passive_checks.
2013-10-16 11:46:54 +02:00
Gunnar Beutner
33cc106a14
Implement GetEnablePerfdata/GetEnableEventHandlers.
2013-10-16 10:47:02 +02:00
Gunnar Beutner
f8c057d63a
Windows build fix.
2013-10-15 20:29:09 +02:00
Michael Friedrich
4135578903
Add GraphiteWriter.
...
fixes #3986
2013-10-15 14:56:02 +02:00
Michael Friedrich
5aa809faeb
Fix thinko in last commit.
2013-10-14 22:54:05 +02:00
Michael Friedrich
e8451018c6
Add perfdata to NullCheckTask.
2013-10-14 22:48:29 +02:00
Gunnar Beutner
1b0977a512
Windows build fix.
2013-10-10 23:07:33 +02:00
Gunnar Beutner
1dc10ca512
Update Service type definition.
2013-10-10 11:31:17 +02:00
Gunnar Beutner
fe5c925a63
Windows build fix.
2013-10-09 15:03:24 +02:00
Gunnar Beutner
9782a361bb
Convert global attributes to script variables.
2013-10-08 12:37:21 +02:00
Gunnar Beutner
29adc21021
Use script variables for global options.
2013-10-08 12:22:16 +02:00
Gunnar Beutner
369d88b3c4
Implement global attributes.
2013-10-08 11:57:35 +02:00
Gunnar Beutner
f449eb9e84
Implement Utility::Random().
2013-10-03 22:10:46 +02:00
Michael Friedrich
d79680c642
Add random state to NullCheckTask.
...
refs #4774
2013-10-03 20:33:32 +02:00
Michael Friedrich
bfa8cf789b
compat: Add more host attributes, refactor contacts getter.
2013-10-02 21:09:13 +02:00
Michael Friedrich
972a4f8b9a
Change user attribute macros to $USER...$
...
but keep the $CONTACT...$ still supported for compatibility.
fixes #4792
2013-10-02 19:01:03 +02:00
Michael Friedrich
09cc7632e7
compatutility: Use User(Group) Ptr, not name.
...
refs #4735
2013-10-01 16:44:33 +02:00
Michael Friedrich
b2f13c37e4
compatutility: Add contact(group) getters.
...
refs #4735
2013-10-01 15:39:00 +02:00
Gunnar Beutner
400fe5e13c
Remove the uncheckable state.
2013-10-01 13:12:04 +02:00
Michael Friedrich
16de7f853b
db_ido: Add eventhandlers.
...
refs #4768
2013-10-01 11:04:30 +02:00
Michael Friedrich
c07857dea8
Fix compiler warning.
2013-10-01 10:24:29 +02:00
Michael Friedrich
1ab5639c9a
compatutility: Add MapExternalCommandType() used in db_ido.
...
refs #4768
2013-09-30 20:25:53 +02:00
Michael Friedrich
2699eb3682
db_ido: Add externalcommands.
...
command_type mapping missing.
refs #4768
2013-09-30 19:32:32 +02:00
Michael Friedrich
30323f410f
db_ido: Add {host,service}checks.
...
refs #4768
2013-09-30 18:39:13 +02:00
Michael Friedrich
86ef8aae8c
compatutility: Fix check_type.
2013-09-30 16:52:57 +02:00
Michael Friedrich
be5078c9aa
Fix error message.
2013-09-27 23:13:25 +02:00
Gunnar Beutner
518f050544
Fix Notification::user_groups validator (rename from Notification::groups).
...
Fixes #4753
2013-09-27 14:58:32 +02:00
Michael Friedrich
f1d2548fc0
External commands fail gracefully when given invalid host/service names.
...
Added process_check_result script for tests too.
fixes #4647
2013-09-27 13:05:44 +02:00
Gunnar Beutner
93cd1b811e
Make check_source a check result attribute.
2013-09-27 07:34:08 +02:00
Michael Friedrich
e954e38c5e
db_ido: Add check_source.
2013-09-26 22:43:21 +02:00
Michael Friedrich
e07183d481
Add check authority to service.
...
fixes #4762
2013-09-26 21:53:43 +02:00
Michael Friedrich
77abbc1556
db_ido: Add statehistory.
...
refs #4379
2013-09-25 18:01:08 +02:00
Michael Friedrich
0b4c554711
Fix unused parameter, missing initialization.
2013-09-25 11:31:35 +02:00
Gunnar Beutner
033b06e66a
Remove unused parameter.
2013-09-25 11:21:20 +02:00
Gunnar Beutner
a6fd88c8af
config: Remove unused validator.
2013-09-25 09:24:44 +02:00
Gunnar Beutner
9c84213a1b
Build fix.
2013-09-25 09:24:34 +02:00
Gunnar Beutner
881c47893a
config: Rename Notification::groups to Notification::user_groups.
2013-09-25 09:23:12 +02:00
Gunnar Beutner
b10db3bd7f
config: Rename Service::servicegroups to Service::groups.
2013-09-25 09:21:17 +02:00
Gunnar Beutner
03c047f4a7
config: Rename host_name to host.
2013-09-25 09:19:25 +02:00
Gunnar Beutner
414d8c80bc
config: Rename servicedependencies/hostdependencies.
2013-09-25 09:16:53 +02:00
Gunnar Beutner
0b265c18af
config: Rename Host::hostgroups to Host::groups.
2013-09-25 09:15:30 +02:00
Gunnar Beutner
e766b4534f
config: Rename Host::hostcheck to Host::check.
2013-09-25 09:12:15 +02:00
Gunnar Beutner
a401d871eb
config: Don't clone host/service attributes.
2013-09-25 08:51:55 +02:00
Gunnar Beutner
bf1a800e39
Update copyright information.
2013-09-25 07:45:56 +02:00
Michael Friedrich
91e0566de0
Fix crash on missing notification_command.
2013-09-24 18:58:51 +02:00
Michael Friedrich
d4295cb3a4
notifications: Add OnNotificationSentToAllUsers signal.
2013-09-24 18:49:25 +02:00
Michael Friedrich
83a06b4378
compatutility: Refactor checkresult output, add notification type mapping.
2013-09-24 18:48:24 +02:00
Gunnar Beutner
2ca6ec42e2
config: Add missing "volatile" validator for the Service type.
2013-09-24 13:33:16 +02:00
Gunnar Beutner
826a56ba20
Update type validators.
2013-09-24 13:25:38 +02:00
Gunnar Beutner
a7e25beb06
Improve config validation.
...
Fixes #4391
2013-09-24 13:13:14 +02:00
Gunnar Beutner
3c3101336a
Comment out some of the less useful debug messages.
2013-09-21 09:00:40 +02:00
Gunnar Beutner
77a945157f
Fix timeperiod update bug.
2013-09-19 00:01:18 +02:00
Gunnar Beutner
afbfdb2579
Remove unnecessary check.
2013-09-18 10:30:20 +02:00
Gunnar Beutner
e045ece3de
Change log level for some messages.
2013-09-18 10:30:11 +02:00
Gunnar Beutner
282acd94ec
Fix parameter type for Service::RemoveDowntime.
2013-09-18 10:06:31 +02:00
Michael Friedrich
46659e7551
Add missing DowntimesExpireTimer.
...
now the expired downtimes will get deleted every 60 seconds.
fixes #4711
2013-09-17 20:11:29 +02:00
Michael Friedrich
bcc370b82c
Add RemoveDowntime() cancelled parameter, check for expired/triggered downtimes.
...
refs #4652
refs #4710
2013-09-17 19:37:10 +02:00
Gunnar Beutner
31a55987e5
cluster: Implement domain support.
2013-09-17 13:18:40 +02:00
Gunnar Beutner
b887b558bc
Ignore check results if we have a local result that's newer.
2013-09-12 17:39:29 +02:00
Gunnar Beutner
eb7d9e96f8
Make sure the next check timestamp can't be in the past.
2013-09-12 15:47:45 +02:00
Gunnar Beutner
0c64ea7f88
Remove obsolete code.
2013-09-12 14:12:36 +02:00
Gunnar Beutner
102127fd5e
config: Copy authority information into dependant services.
2013-09-12 13:08:37 +02:00
Gunnar Beutner
f418db79d7
Make sure the check latency can't be negative.
2013-09-12 11:36:31 +02:00
Gunnar Beutner
eb20b7e33e
Update test check output.
2013-09-12 10:36:50 +02:00
Gunnar Beutner
50d506dfd7
Add check output for NullCheck.
2013-09-12 10:31:41 +02:00
Gunnar Beutner
2b23c66ac8
Fix bug which causes timeperiods not to be updated.
2013-09-12 07:13:36 +02:00
Gunnar Beutner
4b6d8943fa
Fix crash in MacroProcessor::ResolveMacros.
2013-09-11 14:59:49 +02:00
Gunnar Beutner
15fae2bf2a
Refactor how Application objects work.
2013-09-10 16:03:36 +02:00
Gunnar Beutner
61f0f7edc7
Don't copy macros / custom attributes to services.
2013-09-10 10:54:23 +02:00
Gunnar Beutner
f260f5e73b
Fix macro priority.
2013-09-10 10:33:34 +02:00
Michael Friedrich
98e20f6425
Fix: Add missing locks.
2013-09-09 13:52:59 +02:00
Gunnar Beutner
ec0a32380e
Fix: Don't shell-escape macros by default.
2013-09-09 13:44:18 +02:00
Gunnar Beutner
df729d5514
Only do flapping updates when services are in a hard state.
2013-09-06 15:29:00 +02:00
Gunnar Beutner
4be2105584
cluster: Periodically clean up old log files.
2013-09-03 15:23:47 +02:00
Gunnar Beutner
86e2f3dd81
Windows build fix.
2013-09-01 06:01:27 +02:00
Gunnar Beutner
6aa1682878
Fix HOSTSTATE macro.
2013-08-30 17:02:21 +02:00
Gunnar Beutner
6d89c5201a
Build fix.
2013-08-30 16:53:14 +02:00
Gunnar Beutner
8df0525e3e
Fix shell escaping in the macro processor.
2013-08-30 16:52:41 +02:00
Gunnar Beutner
b4f5ff90b6
Fix 'force' parameter for notifications.
2013-08-30 15:56:03 +02:00
Gunnar Beutner
ce44c9e249
Fix incorrect parameter for OnNotificationSentChanged event.
2013-08-30 15:36:13 +02:00
Gunnar Beutner
b94f1603bb
Implement CONTACTEMAIL and CONTACTPAGER macros.
2013-08-30 15:16:25 +02:00
Gunnar Beutner
c194ad1ca3
Register service and notification objects.
2013-08-30 15:09:42 +02:00
Gunnar Beutner
e8c61a578f
Implement restarting Icinga.
2013-08-30 14:27:24 +02:00
Gunnar Beutner
519ce78727
Implement script variables IcingaPrefixDir, IcingaLocalStateDir, IcingaPkgLibDir, IcingaPkgDataDir and IcingaStatePath.
2013-08-30 12:04:24 +02:00
Gunnar Beutner
c9ec28440e
Another bugfix for the event order.
2013-08-29 19:25:34 +02:00
Gunnar Beutner
91724814d8
Fix: State file doesn't work for generated service objects.
2013-08-29 16:53:57 +02:00
Gunnar Beutner
1742f3273e
Check if flapping is enabled.
2013-08-29 14:13:18 +02:00
Gunnar Beutner
f334385111
cluster: Fix duplicate acknowledgement comments.
2013-08-29 14:01:40 +02:00
Gunnar Beutner
90d929595d
Implement cluster events for acknowledgements.
2013-08-29 13:48:18 +02:00
Gunnar Beutner
10e31dfa50
Build fix.
2013-08-29 13:09:26 +02:00
Gunnar Beutner
0a60128080
Implement cluster events for notifications/flapping.
2013-08-29 13:06:36 +02:00
Gunnar Beutner
24b7aed259
Implement cluster event for SetForceNextNotification.
2013-08-29 11:37:51 +02:00
Gunnar Beutner
911f64c411
Fix state file functionality.
2013-08-29 10:40:43 +02:00
Gunnar Beutner
f134ed61bc
Fix: ::Start must be called after restoring the state file.
...
Fixes #4654
2013-08-29 10:17:12 +02:00
Gunnar Beutner
8683a0834f
Fix deadlock in Service::RemoveDowntime().
2013-08-29 09:36:44 +02:00
Gunnar Beutner
e93808a468
Fix "make dist".
...
Fixes #4489
2013-08-29 08:38:09 +02:00
Gunnar Beutner
2e2012c913
Clean up Makefiles.
2013-08-29 08:21:07 +02:00
Gunnar Beutner
788104980c
Implement cluster events for downtimes.
2013-08-28 16:08:22 +02:00
Gunnar Beutner
a49d298b9c
Implement cluster events for comments.
2013-08-28 14:59:41 +02:00
Gunnar Beutner
0d24b941f5
Implement some cluster events.
2013-08-28 11:12:20 +02:00
Gunnar Beutner
f39f69d390
Refactor ASSERT macro.
2013-08-28 08:18:58 +02:00
Gunnar Beutner
f49bb3d150
Refactor JSON-RPC library and implement check-result messages.
2013-08-27 12:21:41 +02:00
Gunnar Beutner
45b8d96461
Clean up JSON-RPC library.
2013-08-26 16:53:17 +02:00
Gunnar Beutner
e9e55cd8c0
Remove the replication feature and clean up the code.
2013-08-26 14:56:38 +02:00
Michael Friedrich
b89f72b552
Windows x64 build fix.
2013-08-20 12:50:24 +02:00
Gunnar Beutner
82b3b81b91
Windows build fix.
2013-08-20 08:29:38 +02:00
Michael Friedrich
1a13f2ad6e
Perfdata: Fix config validation warning.
2013-08-16 17:24:59 +02:00
Michael Friedrich
478e42dbde
comments: Only send signal on removal.
2013-08-12 11:08:22 +02:00
Gunnar Beutner
3c0b8b9d5a
ido: Add preliminary support for downtimes.
2013-08-09 15:30:46 +02:00
Michael Friedrich
a6cc26c2d7
compat: Fix wrong const placement.
2013-08-09 14:29:56 +02:00
Michael Friedrich
1a798232ba
compat: fix customvar exclude
2013-08-09 14:07:44 +02:00
Michael Friedrich
e7214174b1
compat: Add CompatUtility::GetCustomVariableConfig().
2013-08-09 13:55:44 +02:00
Michael Friedrich
d562e98779
ido: Add missing check_type for host/service status tables.
...
refs #4380
2013-08-09 12:35:42 +02:00
Gunnar Beutner
c34540676e
ido: Use relative timestamps for the timeranges.
2013-08-09 11:07:55 +02:00
Michael Friedrich
c179738a81
config: Add missing attributes removing warnings.
2013-08-08 17:52:30 +02:00
Gunnar Beutner
17aedad7a7
Implement status updates for contacts.
2013-08-08 08:38:12 +02:00
Michael Friedrich
d3f24b31ec
ido: Fixes for comments.
...
refs #4380
2013-08-07 15:57:35 +02:00
Michael Friedrich
25a268c167
ido: Experimental support for comments.
...
refs #4380
2013-08-07 15:39:09 +02:00
Gunnar Beutner
bd0ad338f8
ido: Implement contactgroup members.
2013-08-05 09:49:19 +02:00
Gunnar Beutner
5d09af0a6e
ido: Implement servicegroup members.
2013-08-05 09:38:16 +02:00
Gunnar Beutner
f5c7cde99b
ido: Implement hostgroup members.
2013-08-05 08:57:08 +02:00
Michael Friedrich
aa82ef7c06
ido: Refactor CompatUtility::GetServiceConfigAttributes()
...
refs #4500
2013-08-02 14:20:50 +02:00
Michael Friedrich
153a8b24fe
ido: Fix hosts without hostcheck service not being dumped to config table.
...
still, the status update must be triggered by icinga2 which does not
happen currently.
fixes #4500
2013-08-02 14:13:27 +02:00
Michael Friedrich
f1b7dbdca4
ido: Implement commanddbobjects.
2013-08-01 14:14:54 +02:00
Gunnar Beutner
167b4ac714
Add HostGroup::OnMembersCached signal.
2013-08-01 11:08:06 +02:00
Michael Friedrich
cd4ebf1bf2
ido: add notify_on_* to host/service config
...
refs #4378
2013-08-01 10:44:15 +02:00
Michael Friedrich
260b5f174f
ido: add missing host/service config/status attributes
...
refs #4380
refs #4378
2013-07-31 18:06:54 +02:00
Michael Friedrich
0634847055
build fix on debian squeeze
2013-07-30 22:38:33 +02:00
Michael Friedrich
9f4edd1bda
CompatUtility: add service config attributes getter
2013-07-30 18:17:13 +02:00
Gunnar Beutner
70220e7375
ido: Properly implement program status updates.
2013-07-25 09:23:34 +02:00
Gunnar Beutner
e894d24939
IDO: Use CompatUtility for hosts and services.
2013-07-23 09:50:42 +02:00
Gunnar Beutner
42cf9ea8d6
Move some of the compat functionality to the CompatUtility class.
2013-07-23 09:12:38 +02:00
Gunnar Beutner
cab2b41e56
Implement shift operator for the Value class.
2013-07-23 09:11:53 +02:00
Michael Friedrich
f0f3412f2c
add GetChildHosts() to host object
2013-07-19 16:11:17 +02:00
Gunnar Beutner
511b052105
Only check escalations for problem notifications.
2013-07-19 11:02:43 +02:00
Michael Friedrich
15f88c9582
fix object lock
2013-07-18 18:28:23 +02:00
Michael Friedrich
2ebf0822ac
add LastState{OK,Warning,Critical,Unknown|Up,Down,Unreachable} time attributes
2013-07-18 18:16:39 +02:00
Michael Friedrich
fe4a5e721c
notifications: add notification number
2013-07-18 17:04:09 +02:00
Michael Friedrich
40c62f28bb
timeperiods: re-add display_name
2013-07-18 15:30:17 +02:00
Michael Friedrich
ccd60bbc4b
macros: fix param name for ResolveMacros
2013-07-16 17:11:18 +02:00
Michael Friedrich
d5579d9e2f
Config: add macros/custom dictionaries to Host Service definition
...
additive inheritance (+=) works with templates too.
2013-07-16 14:53:21 +02:00
Michael Friedrich
9ad0b11442
User: register enable_notifications, add GetEnableNotifications()
2013-07-16 13:17:53 +02:00
Michael Friedrich
36e9e9adbd
custom attr: move into DynamicObject using GetCustom()
2013-07-12 15:13:05 +02:00
Gunnar Beutner
540e63c157
Make sure new comments/downtimes are added to the ID cache right away.
2013-07-11 08:58:11 +02:00
Gunnar Beutner
664916dffb
Fix nullptr deref in Service::GetLastCheckPerfData().
2013-07-10 09:57:18 +02:00
Michael Friedrich
3023686042
service: add IsHostCheck helper
2013-07-09 16:59:31 +02:00
Gunnar Beutner
4961523e91
Add DECLARE_PTR_TYPEDEFS macro for Ptr/WeakPtr typedefs.
2013-07-09 08:43:52 +02:00
Michael Friedrich
9249af1c66
log an error to debug when check_command not found on service execution
...
refs #4391
2013-07-06 20:46:09 +02:00
Michael Friedrich
16adc9a0c5
livestatus: add more hosttable todos
...
refs #4372
2013-07-05 19:14:10 +02:00
Michael Friedrich
337b781088
service: register attribute last_hard_state
2013-07-05 14:05:49 +02:00
Michael Friedrich
ec3e8cfe1c
livestatus: move host attribute getter into host->service again
...
refs #4372
2013-07-05 13:42:40 +02:00
Michael Friedrich
88197d216a
livestatus: add first part of host data providers
...
refs #4372
2013-07-05 09:35:49 +02:00
Gunnar Beutner
8e880a3f39
Fix include directory for ltdl.h.
2013-07-02 16:56:01 +02:00
Gunnar Beutner
acc2bdb875
Use object name if HOSTADDRESS macro isn't defined.
2013-07-02 10:08:22 +02:00
Gunnar Beutner
184f503c2a
Fix how the HOSTALIAS and CONTACTALIAS macros work.
2013-07-02 09:54:24 +02:00
Gunnar Beutner
4cd4228f64
Implement HOSTADDRESS and HOSTADDRESS6 macros.
2013-07-02 09:47:31 +02:00
Gunnar Beutner
76edc08506
Remove unnecessary parenthesis.
2013-07-02 09:00:15 +02:00
Gunnar Beutner
03e019580a
Implement dumping commands and timeperiods.
2013-07-02 08:44:03 +02:00
Michael Friedrich
207b91224b
compat: dump commands to objects.cache
...
service->notifications may create duplicates.
2013-07-01 20:12:03 +02:00
Michael Friedrich
9334c1e346
notifications: refactor NotificationSent message
...
like flapping and downtimes behave now.
refs #4361
2013-07-01 17:56:21 +02:00
Michael Friedrich
b9c4e7f931
fix typo
2013-07-01 17:56:05 +02:00
Michael Friedrich
ce9c390ed9
flapping: fix division by 0, add compat status, extcmds
...
and some debug output.
refs #4360
refs #2711
2013-07-01 17:25:30 +02:00
Michael Friedrich
4de7908b94
compatlog: add flapping messages
...
refs #4360
2013-07-01 14:44:56 +02:00
Gunnar Beutner
bdd0ee013c
Implement Service::GetFlappingCurrent().
2013-07-01 14:39:43 +02:00
Gunnar Beutner
ff6383873f
Implement Service::GetFlappingThreshold().
2013-07-01 14:30:19 +02:00
Gunnar Beutner
ff04af396b
Add missing validator for flapping_threshold.
2013-07-01 14:09:54 +02:00
Gunnar Beutner
e2714525c9
Remove the built-in attributes notes_url and action_url.
2013-07-01 13:55:25 +02:00
Gunnar Beutner
e28fba2a9c
Fix missing variable definition: Service::m_Endpoint.
2013-07-01 11:28:49 +02:00
Michael Friedrich
b906b51d3b
refactor downtime message handling (wip)
2013-07-01 11:28:49 +02:00
Michael Friedrich
6f7b231302
compatlog: refactor custom/acknowledgement notifications with author/commenttext
...
refs #4361
2013-07-01 11:17:58 +02:00
Michael Friedrich
cd48a4946a
compatlog: fix checkcommand name
...
refs #4361
2013-07-01 10:03:00 +02:00
Michael Friedrich
3af0559b4a
Compat: log notifications (wip)
...
- we need a way to figure out which last commend id (or, author and
text) where set when type is CUSTOM or ACKNOWLEDGEMENT
- GetCheckCommandName was required too
- not sure if notifications.cpp is the correct location
refs #4361
refs #3985
refs #2750
2013-06-28 21:31:38 +02:00
Michael Friedrich
29175b1eb3
fix typo
2013-06-28 13:44:18 +02:00
Michael Friedrich
147cd81328
add downtime message (started,stopped,cancelled) and compat logger
...
refs #3985
refs #2750
2013-06-28 13:40:01 +02:00
Gunnar Beutner
4b997c0838
Implement validator for timeperiods.
...
Fixes #3845
2013-06-27 11:25:10 +02:00
Gunnar Beutner
a97519a42e
Move filter constants to itl/constants.conf.
2013-06-27 11:23:32 +02:00
Gunnar Beutner
0b8d011601
Fix syntax error.
2013-06-26 10:19:00 +02:00
Gunnar Beutner
463f4e4cf9
Implement notification_*_filter variables for Host/Service objects.
2013-06-26 10:19:00 +02:00
Gunnar Beutner
d2b31f6a06
Implement notification conditions.
...
Fixes #2841
2013-06-26 09:08:50 +02:00
Gunnar Beutner
46b3f033cf
Make sure flapping counters aren't negative.
2013-06-26 09:03:44 +02:00