4384 Commits

Author SHA1 Message Date
Alexander A. Klimov
29e8961cda ElasticsearchWriter: don't leak sockets
refs #7018

(cherry picked from commit b2e2b587da530a5b79f746ed0db5b3804b502e07)
2019-03-19 11:31:20 +01:00
Alexander A. Klimov
1fc3a77c4a InfluxdbWriter: don't leak sockets
refs #6989

(cherry picked from commit 2a6b122413dfc8762a7839bbe41c125455a17b5c)
2019-03-19 11:30:01 +01:00
Michael Friedrich
7e87a61a62 Backport Defer class for 2.10 2019-03-19 11:23:18 +01:00
Alexander A. Klimov
bac6f17eff Notification#BeginExecuteNotification(): SetNextNotification() correctly
refs #5561

(cherry picked from commit 3b2054761ad90e71fba82d13cd57d7388f524993)
2019-03-19 11:20:09 +01:00
Jean Flach
cd65ffc55c Don't run UpdateObjectAuthority for Comments and Downtimes
(cherry picked from commit 2aff6a5887112259d795401e907a879ce424db51)
2019-03-19 11:19:50 +01:00
Michael Friedrich
2e2e4ffcec Fix that no_more_notifications gets reset when Recovery notifications are filtered away
Hello from the OSMC hackathon :)

(cherry picked from commit d082e8c1b19c88a68e0381db7f5806f31fe8523d)
2019-03-19 11:19:32 +01:00
Alexander A. Klimov
1436b7dc1c Don't require OS headers to provide SO_REUSEPORT
(cherry picked from commit bf0c68757f99f88b43d7696f98d8361f39b83b82)
2019-03-13 10:31:09 +01:00
Alexander A. Klimov
f98e40d880 Secure ApiUser::GetByAuthHeader() against timing attacks
(cherry picked from commit 9558ebc0f46febc7692bbb65394708b78b276d46)
2019-02-25 13:34:51 +01:00
Michael Friedrich
82c0197aae Activate downtimes before any checkable object
(cherry picked from commit 7936a147ba82ce7e19de43ccb5f4c830edd8d235)
2019-02-25 09:49:19 +01:00
Michael Friedrich
466096a6a4 Debug: Log calls to ConfigObject::Deactivate()
Only available in debug builds.

(cherry picked from commit d98c0704c446b0fd47b18b610a92ac75de180853)
2019-02-19 13:53:09 +01:00
Michael Friedrich
c770920818 Refactor conditions and add debug log messages for future crs and skipped crs
(cherry picked from commit d1fb1a8eda05018c5f665fceeb52569e243a7b65)
2019-02-11 13:32:46 +01:00
Jean Flach
dc27bcc8a3 Fix checkresults from the future breaking checks
(cherry picked from commit c97f3c80f550320abcbc3bcbaa0a3673c2091c34)
2019-02-11 13:32:39 +01:00
Michael Friedrich
92fba8c64f Don't allow retry_interval <= 0
(cherry picked from commit 8cbd4820725655e3c4ae06aef78308183be016da)
2019-02-11 13:31:55 +01:00
Alexander A. Klimov
fb72633c5e Downtime::AddDowntime(): place Downtimes in the same zone as the origin ScheduledDowntimes
(cherry picked from commit ce847324bc8abe4f36071633b999fa88ba2213f3)
2019-02-11 13:31:22 +01:00
Alexander A. Klimov
ee915ed5d2 Validate Zone::GetLocalZone() before using
(cherry picked from commit b09e7b287e6b4bbc277c9ef7828e34f884927f82)
2019-02-11 13:30:47 +01:00
Michael Friedrich
a557f47e2a Log: Ensure not to pass negative values to localtime()
refs #6887

(cherry picked from commit 2fc33996b620d97e54d75b0d8c101fb3d9ba791c)
2019-02-11 13:29:27 +01:00
Alexander A. Klimov
9040c9b512 Allow Checkable#retry_interval to be 0
refs #6871

(cherry picked from commit 9ae738d17fa6220d988001e4c56155aa6535992c)
2019-02-11 13:29:05 +01:00
Alexander A. Klimov
362c7eb28a TcpSocket#Bind(): also set SO_REUSEPORT
refs #6898

(cherry picked from commit 984f7be03060f89235ccee1a1ef3e5fba652a9df)
2019-02-11 13:16:40 +01:00
Michael Friedrich
f6a62e71d8 ClusterEvents::AcknowledgementSet event should forward 'persistent' attribute
(cherry picked from commit 9f2ccfbaa0fd35e33a002dd48c7b429636dc806c)
2019-02-11 13:16:21 +01:00
Michael Friedrich
4fb444d3b7 Fix Convert::ToLong(double val)
(cherry picked from commit b58cb17e4b389c6bd703e2334cb0bb2739213f62)
2019-02-11 13:15:18 +01:00
Alexander A. Klimov
b888e06682 Downtime#HasValidConfigOwner(): respect Downtime#authoritative_zone
refs #6542

(cherry picked from commit c98d6a52545bf0e10b9b0d644b0d15813ab7de48)
2019-02-11 13:14:46 +01:00
Alexander A. Klimov
53248a70c2 Add and populate Downtime#authoritative_zone
refs #6542

(cherry picked from commit 5431eae116df92d0b856e7f856da24df5a948144)
2019-02-11 13:14:40 +01:00
Alexander A. Klimov
a24256993c Downtime#HasValidConfigOwner(): wait for ScheduledDowntimes
refs #6542

(cherry picked from commit 39e0d787e82c187de64b29e4979f4caac0907441)
2019-02-11 13:13:44 +01:00
Alexander A. Klimov
7c71218d88 Implement ScheduledDowntime::AllConfigIsLoaded()
refs #6542

(cherry picked from commit bbcf469af1c584a92d028446c6ff1f558950cd97)
2019-02-11 13:13:36 +01:00
Michael Friedrich
ea64467c65 Revert "ThreadPool#Stop(): discard non-processed queue items"
This reverts commit 797ecd1539c91d3dd02dc7d164ce602c52a6f802.
2018-12-06 09:55:42 +01:00
Alexander A. Klimov
c8a1155e3d Remove redundand check for object existence on creation via API
refs #3937
2018-12-05 16:05:05 +01:00
David Lublink
62fcbe3c01 * BugFix : Wrong operator on stride variable causing incorrect behaviour ( #6749 ) 2018-12-05 16:01:35 +01:00
Michael Friedrich
173455de22 Call SSL_shutdown() at least twice 2018-12-05 16:00:53 +01:00
Edgar Fuß
3b4dc854cf Put running downtimes in effect
If Icinga2 was restarted with a newly configured downtime that should
be in effect at the time of restart, the should-be-running segment of
it was not put into effect.

Add new LegacyTimePeriod::FindRunningSegment() and
ScheduledDowntime::FindRunningSegment() functions, call the latter in
ScheduledDowntime::CreateNextDowntime() before trying the old
ScheduledDowntime::FindNextSegment().
2018-12-05 16:00:28 +01:00
Edgar Fuß
e76ec0d42e Remove spurious string in debug message
Remove a spurious " at " in the "Evaluating segment" debug message in ScheduledDowntime::FindNextSegment().
2018-12-05 15:59:58 +01:00
Edgar Fuß
ce6ab9a948 Remove dead code
Remove some dead code in ScheduledDowntime::CreateNextDowntime().
2018-12-05 15:59:52 +01:00
Alexander A. Klimov
f3f402fa7e Socket engine: drop life support objects
refs #6477
2018-12-05 15:59:29 +01:00
Alexander A. Klimov
ad06c4f5ab Make SocketEventDescriptor#EventInterface a SocketEvents::Ptr
refs #6477
2018-12-05 15:59:23 +01:00
Alexander A. Klimov
0b03a3d8f8 SocketEvents: inherit from Stream
refs #6477
2018-12-05 15:59:17 +01:00
Michael Friedrich
78e470996d Only create downtimes from non-paused ScheduledDowntime objects in HA enabled cluster zones 2018-12-05 15:47:41 +01:00
Alexander A. Klimov
1d6cec5a99 HttpServerConnection#DataAvailableHandler(): be aware of being called multiple times concurrently
refs #6816
2018-12-05 15:46:32 +01:00
Alexander A. Klimov
797ecd1539 ThreadPool#Stop(): discard non-processed queue items 2018-12-05 15:46:03 +01:00
Michael Friedrich
1c8fba182c Add a code comment for connection: close handling 2018-12-05 15:45:17 +01:00
Sven Wegener
080f666b55 Restore 'Connection: close' behaviour in HTTP responses
Actually the `corked` functionality caused problems with
not closing connections properly.

Full Analysis: https://github.com/Icinga/icinga2/issues/6799#issuecomment-443710338

Full credits to @swegener :)

fixes #6799
2018-12-05 15:45:09 +01:00
Michael Friedrich
0046dcad7b DB IDO: Don't enqueue queries when the feature is paused (HA)
fixes #5876
refs #6739
2018-11-13 12:01:50 +01:00
Michael Insel
f4f2d862e6 Fix deadlock in GraphiteWriter
This fixes a deadlock in the GraphiteWriter feature, which is visible
during the reload process. The reload thread waits for the
GraphiteWriter to finish, but the GraphiteWriter can't finish because
it's stuck in `SendMetric()` waiting for a lock which is hold by the
reload thread.
2018-11-13 09:13:55 +01:00
Michael Friedrich
b3e98a842f Fix possible double free in StreamLogger::BindStream()
refs #6737
2018-11-12 17:07:51 +01:00
Michael Friedrich
46ed01348c Ensure that API/JSON-RPC messages in the same session are processed and not stalled
This basically drops the "corked" implementation which just stalled the
TLS IO polling after some requests. If you need sort of rate limiting
for these events, use an external TLS proxy which terminates that in front
of Icinga.

fixes #6635
2018-11-12 17:07:38 +01:00
Michael Friedrich
ec939373d0 Improve error handling for invalid child_options for API downtime actions
fixes #6712
2018-10-29 13:52:43 +01:00
Michael Friedrich
4424b203c2 Minor styleguide 2018-10-29 13:51:25 +01:00
Max Rosin
d8462cf6cd Fix the Icinga2 version check for versions with more than 5 characters
The previous implementation assumed that every version number will have
5 characters. With the release of 2.10.0 this does not work anymore.
The new implementation extracts everything from the second character to
the first dash. This should work as long as the version string is in a
format like 'v2.10.1-8-gaebe6da'.

fixes Icinga#6703
2018-10-29 13:51:09 +01:00
Michael Friedrich
30853e6041 Revert code from icinga.com update 2018-10-24 12:34:38 +02:00
Michael Friedrich
fac43e9eaf Fix regression for wrong objects.cache path overwriting icinga2.debug file
The 'statusdata' feature is deprecated, although it affects 'object list'.

fixes #6705

refs #6707
2018-10-19 12:31:24 +02:00
Michael Friedrich
3cb2c1d143 icinga.com: Update everything else 2018-10-18 09:50:53 +02:00
Michael Friedrich
a2cb542a2e icinga.com: Update '*.sql' 2018-10-18 09:41:54 +02:00