Alexander Aleksandrovič Klimov
70b438a2bf
Merge pull request #8104 from Icinga/bugfix/remove-downtime-returns-wrong-status-7408
...
API: Display a correct status when removing a downtime
2021-01-14 17:49:00 +01:00
Alexander A. Klimov
b90b77b275
cluster-zone: consider own zone connected if there's only one endpoint
...
... because in this case only the checking node can be (not) connected to itself.
refs #8570
2021-01-14 17:28:46 +01:00
Alexander A. Klimov
931b9307ae
StartUnixWorker(): don't exit() on fork() failure
...
... but let the caller handle the failure.
Not to stop working completely just because of fork() failure during a reload.
2021-01-14 13:40:18 +01:00
Alexander A. Klimov
e1bc4d474f
On check_timeout first send SIGTERM
...
... to allow check plugins to terminate gracefully.
refs #6162
2021-01-14 12:00:11 +01:00
Yonas Habteab
997ad86225
Fix no re-notification for non OK state changes with time delay
2021-01-14 11:54:25 +01:00
Alexander Aleksandrovič Klimov
5efe3e662c
Merge pull request #8025 from Icinga/bugfix/downtime-for-host-service-with-long-name-8022
...
ConfigObjectUtility::GetObjectConfigPath(): hash names of not already existing objects
2021-01-14 10:42:04 +01:00
Julian Brost
db30704d14
Merge pull request #8532 from Icinga/bugfix/do-not-override-error-codes-that-are-not-200
...
HTTP: Do not override status codes that are not 200
2021-01-14 09:34:04 +01:00
Yonas Habteab
066db5ef60
HTTP: Don't override status codes that are not OK
2021-01-13 18:56:56 +01:00
Julian Brost
f12666c166
Merge pull request #8157 from Icinga/bugfix/temporary-files-5124
...
Clean up temp files
2021-01-13 15:45:29 +01:00
Julian Brost
0c6abc817b
Remove upq from ConfigItem::ActivateItems
...
Since commit d9010c7b9faaec137f3e195b370edbb406c37d76, ActivateItems no
longer uses the WorkQueue upq to perform tasks but instead performs
these locally. One instance of `upq.Join()`/`upq.HasExceptions()`
remained in the function, but I believe this was just missed when
removing the `upq.Enqueue()` call just before.
This commit removes the corresponding parameter and updates all call
sites accordingly.
2021-01-13 15:19:55 +01:00
Alexander Aleksandrovič Klimov
5a0118c6d8
Merge pull request #8442 from Icinga/bugfix/close-ebadf-8437
...
Close FDs based on /proc/self/fd
2021-01-13 10:59:15 +01:00
Alexander A. Klimov
68a0079c26
ConfigObjectUtility::GetObjectConfigPath(): hash names of not already existing objects
...
... to avoid too long file names.
refs #8022
2021-01-12 18:03:22 +01:00
Alexander A. Klimov
450b2117d2
Add ".tmp" to state and modified attributes temp files
...
refs #5124
2021-01-12 17:35:29 +01:00
Alexander A. Klimov
18c2dae941
Clean up temp files
...
refs #5124
2021-01-12 17:35:29 +01:00
Alexander A. Klimov
26c944125b
Close FDs based on /proc/self/fd
...
... not to waste time with close(2)ing RLIMIT_NOFILE-3 non-existing FDs.
Newer kernel = higher RLIMIT_NOFILE = more time wasted
refs #8437
2021-01-12 17:32:28 +01:00
Julian Brost
aea06a27dc
Use reference-counted pointer in notification callback
...
`this` could be deleted after `Notification::BeginExecuteNotification`
exited and before `Notification::ExecuteNotificationHelper` finished.
This is fixed by constructing a `Notification::Ptr` and operate on that
one as it is properly reference-counted.
2021-01-12 17:19:29 +01:00
Alexander Aleksandrovič Klimov
a6af5406f7
Merge pull request #8083 from Icinga/feature/Implement-new-API-events-7974
...
Implement new API event streams response
2021-01-12 12:26:05 +01:00
Yonas Habteab
756abbb2ff
ApiEvents: Implement new API event streams response
2021-01-11 14:59:48 +01:00
Alexander Aleksandrovič Klimov
d996d1e201
Merge pull request #8580 from bebehei/typo
...
Fix typo seemless -> seamless
2021-01-11 13:45:08 +01:00
Alexander Aleksandrovič Klimov
635a8c5d4c
Merge pull request #8088 from Icinga/bugfix/log-two-nodes-run-on-different-versions-8075
...
Display logmessage if two nodes run on different versions
2021-01-11 12:30:30 +01:00
Alexander Aleksandrovič Klimov
862add5f3f
Merge pull request #8512 from Icinga/bugfix/zombie-processes
...
Revert "icinga2 daemon: reap remaining child processes after reload"
2021-01-11 11:38:20 +01:00
Julian Brost
0276c0b052
Properly handle service downtime referencing a deleted host
...
Only two out of three cases were handled properly by the code: host
downtimes referencing a deleted host and service downtimes referencing a
deleted service worked fine. However, if a service downtime references a
deleted host, `Host::GetByName()` returns `nullptr` which isn't
accounted for. Use `Service::GetByNamePair()` instead as this performs a
check for the host being null internally.
2021-01-08 11:12:15 +01:00
Benedikt Heine
8a455e8150
Fix typo seemless -> seamless
2020-12-25 23:27:08 +01:00
Julian Brost
00d8703aad
Merge pull request #7847 from Icinga/feature/log-trim-trailing-newlines-7828
...
Log: trim trailing newlines
2020-12-23 14:20:43 +01:00
Julian Brost
eab07a7318
Provide a conversion function from icinga::String to boost::string_view
...
Boost.Beast changed the signature of
boost::beast::http::basic_fields::set in version 1.74 so that no longer
allows passing an icinga::String instance as value. This adds a
conversion function so that it works again.
2020-12-22 16:27:38 +01:00
Julian Brost
339b37a985
Use content_length method for setting the Content-Length header
...
Boost.Beast changed the signature of the previously used generic `set`
method so that it no longer accepts integer types, however there is
alreay a more specific method for setting the Content-Length header, so
use this one instead.
2020-12-22 16:27:38 +01:00
Alexander A. Klimov
4051bc9c8f
ConfigObjectUtility#CreateObject(): check config objects for duplicates
...
... not to delete already existing objects during a trial of re-creation.
refs #7726
2020-12-16 16:45:22 +01:00
Yonas Habteab
8eb4f2e062
ApiListener: Display log message if two nodes run on different versions
2020-12-16 16:09:28 +01:00
Noah Hilverling
f7e368564f
Merge pull request from GHSA-pcmr-2p2f-r7j6
...
Verify certificates against CRL before renewing them (2.13)
2020-12-15 12:30:19 +01:00
Alexander Aleksandrovič Klimov
6b04ef6e5d
Merge pull request #7871 from Icinga/feature/more-uoms-for-perfdata-7225
...
PerfdataValue: add UoMs
2020-12-14 18:42:49 +01:00
Alexander A. Klimov
f311dfb775
Apply rules: import default templates first
...
... to allow to override the attributes they set.
refs #7914
2020-12-14 18:15:18 +01:00
Alexander A. Klimov
8c6bfdcf54
Revert "icinga2 daemon: reap remaining child processes after reload"
...
This reverts commit 91265a5b0e134006893576a465c4c84906f1eb82
which isn't needed anymore as Icinga 2 isn't PID 1 anymore.
2020-12-14 13:38:35 +01:00
Alexander A. Klimov
f04387a973
FireSuppressedNotifications(const Notification::Ptr&): don't send notifications while suppressed by checkable
...
... e.g. if a notification enters its time period (not suppressed anymore),
but its checkable has entered a downtime (suppressed).
refs #8509
2020-12-14 13:28:53 +01:00
Alexander A. Klimov
5547488cd5
Introduce Checkable#NotificationReasonSuppressed()
...
refs #8509
2020-12-14 13:27:58 +01:00
Alexander Aleksandrovič Klimov
915a3c3001
Merge pull request #8436 from Icinga/bugfix/children-recover-too-late
...
On recovery: re-check children
2020-12-11 15:41:31 +01:00
Noah Hilverling
2bad55efc7
Fix runtime config updates not working for objects without zone
...
refs #8533
2020-12-10 16:08:55 +01:00
Alexander Aleksandrovič Klimov
366a97bf19
Merge pull request #8541 from Icinga/bugfix/openssl-error-buffer
...
Use proper buffer size for OpenSSL error messages
2020-12-09 16:08:19 +01:00
Julian Brost
4c0247c02d
Allow specifying a CRL in icinga2 pki verify
2020-12-09 12:12:01 +01:00
Julian Brost
e86bd24348
Verify certificates against CRL before renewing them
...
When a CRL is specified in the ApiListener configuration, Icinga 2 only
used it when connections were established so far, but not when a
certificate is requested. This allows a node to automatically renew a
revoked certificate if it meets the other conditions for auto-renewal
(issued before 2017 or expires in less than 30 days).
2020-12-09 12:10:59 +01:00
Julian Brost
bbfd1ecfc8
Use ERR_error_string_n() instead of ERR_error_string()
...
Explicitly pass the actual length of the buffer to avoid overflows.
2020-12-08 13:08:18 +01:00
Julian Brost
c0fc9a86c5
Increase size of buffer for OpenSSL error messages
...
According to man 3 ERR_error_string, "buf must be at least 256 bytes
long", therefore increase the buffer size to 256 everywhere.
2020-12-08 13:08:18 +01:00
Julian Brost
61d7ec4bf7
Remove std::string to_string(const errinfo_openssl_error& e)
...
The function was never used and it's implementation contains a bug where
a buffer of too small size is used as a paramter to ERR_error_string.
According to the `man 3 ERR_error_info`, the buffer has to be at least
256 bytes in size.
Also the function seems of limited use as it allows to output the tag
object used with additional error information for exceptions in Boost.
However, you boost::get_error_info<>() just returns the value type but
not the full tag object from the exception.
2020-12-08 13:05:38 +01:00
Yonas Habteab
dd02e3b6d8
API: Display a correct status code when removing a scheduled downtime
2020-12-07 13:19:41 +01:00
Alexander A. Klimov
b8bb8cb946
Configuration.ApiBindHost: default to ::
...
refs #8183
2020-12-04 16:52:58 +01:00
Julian Brost
f2a532de32
Merge pull request #8035 from Icinga/feature/expiry-date-comments-4663
...
/v1/actions/add-comment: add param expiry
2020-12-04 15:48:50 +01:00
Alexander Aleksandrovič Klimov
6f33c2f90c
Merge pull request #8314 from Icinga/feature/add-support-influxdb-basic-auth-7644
...
Add support Influxdb basic auth
2020-12-03 11:00:04 +01:00
Yonas Habteab
2ade57bcbb
Add support influxdb basic auth
...
fixes #7644
2020-12-02 16:48:03 +01:00
Alexander A. Klimov
854939a8ce
On recovery: re-check children
2020-12-02 12:24:40 +01:00
Alexander A. Klimov
668bf06424
Don't fire suppressed notifications if last parent recovery >= last check result
2020-12-02 12:03:19 +01:00
Alexander Aleksandrovič Klimov
bee4ac7f7c
Merge pull request #8040 from Icinga/feature/v1-actions-execute-command-8034
...
Add API endpoint: /v1/actions/execute-command
2020-12-02 10:53:24 +01:00