Michael Friedrich
fdb13d1b7d
TlsUtility: Replace deprecated OpenSSL function with ASN1_STRING_get0_data()
2020-02-21 13:02:58 +01:00
Michael Friedrich
456b0779bb
JsonRpcConnection PKI: Document swalled exception
2020-02-20 15:15:54 +01:00
Michael Friedrich
12b6c1aab9
CLI: Improve error handling for 'pki verify' command
2020-02-20 15:10:57 +01:00
Alexander A. Klimov
0f84ce0470
Consider a JsonRpcConnection being seen on a single byte of TLS payload, not only a whole message
2020-02-19 11:11:53 +01:00
Alexander A. Klimov
b65aed1dd3
IoEngine#SpawnCoroutine(): always terminate coroutines cleanly
2020-02-19 10:51:26 +01:00
Michael Friedrich
e4e26d66a6
Build fix
2020-02-17 18:40:28 +01:00
Michael Friedrich
6f263a4922
Add `pki verify` CLI command: print, signed by CA, valid CA, CN match
2020-02-17 18:10:51 +01:00
Michael Friedrich
a91b9f2ddf
Pki: Extend GetCertificateInformation() with version, serial, signature algorithm, SANs
2020-02-17 17:44:10 +01:00
Michael Friedrich
24397fbee8
CA Proxy: Catch exceptions from VerifyCertificate()
2020-02-17 17:43:11 +01:00
Michael Friedrich
548eb933c9
TlsUtility: Add getters for version, signature algorithm, SANs
2020-02-17 17:42:20 +01:00
Henrik Triem
099cc5d8df
Merge pull request #7833 from Icinga/feature/version-build-info-openssl
...
CLI: Add OpenSSL version to 'Build' section in --version
2020-02-17 17:07:51 +01:00
Alexander A. Klimov
fbce756007
JsonRpcConnection#Send*Message(): keep this alive
2020-02-17 16:12:07 +01:00
Michael Friedrich
cfd9b80027
Merge pull request #7838 from Icinga/bugfix/catch-exception-in-node-setup
...
Catch exception when trusted cert is not readable during node setup on agent/satellite
2020-02-14 09:51:17 +01:00
Michael Friedrich
71c7eebe4e
CLI: Add OpenSSL version to 'Build' section in --version
...
This helps to see against which OpenSSL version Icinga was built.
Inspired by #5572
2020-02-14 08:55:39 +01:00
Michael Insel
e4f25269fe
Fix Build
...
I have no idea how this got lost.
2020-02-14 07:56:23 +01:00
Michael Insel
90ac6cd9a1
CLI: Catch exception when trusted cert is not readable
...
This catches an exception when the trusted cert is not readable during
node setup.
2020-02-13 20:03:17 +01:00
Michael Friedrich
82e055bfb6
CLI: Clean up 'pki save-cert' command and remove deprecated params
...
This got obsoleted 4 years ago in a monster commit.
b297e8cfa7
2020-02-13 16:14:01 +01:00
Michael Friedrich
e1557def94
CLI: Verify --trustedcert being a client, non CA certificate in 'node setup'
...
This commit also cleans some shell output with master vs. parent.
2020-02-13 16:09:16 +01:00
Michael Friedrich
a7436394cd
TlsUtility: Add IsCa() function to verify given certificate being a CA certificate
2020-02-13 16:03:43 +01:00
Michael Friedrich
d53eb34520
Unify Application::GetStartTime() and drop GetMainTime()
...
This essentially moves the start time into the scope when main
starts to "do something", after the reload and configuration handling
is done.
2020-02-11 17:26:15 +01:00
Michael Friedrich
57facbddd5
Merge pull request #7697 from Icinga/bugfix/icingadb-compiler-warnings
...
IcingaDB: Fix enumeral mismatch compiler warnings
2020-02-11 17:22:28 +01:00
Michael Friedrich
ae8a0b6a64
Introduce Application::GetUptime()
2020-02-11 16:47:50 +01:00
Michael Friedrich
3a4fb840d4
Tests: Add multi parent dependency test case
2020-02-11 15:13:25 +01:00
Michael Friedrich
9b0365ab43
Fix logical error with zero dependencies in IsReachable()
2020-02-11 15:13:25 +01:00
Henrik Triem
d0c0beb8be
Change behaviour of multiple dependencies (all failed = unreachable)
2020-02-11 15:13:25 +01:00
Michael Insel
5930d640e4
IcingaDB: Fix enumeral mismatch compiler warnings
...
This fixes 3 enumeral mismatch compiler warnings when building the
IcingaDB target.
2020-02-10 18:56:11 +01:00
Michael Friedrich
2f82047737
Merge pull request #7769 from Icinga/bugfix/m_lexbuffer
...
Make ConfigCompiler#m_LexBuffer a String
2020-02-10 16:27:42 +01:00
Michael Friedrich
04edda531c
Merge pull request #7788 from Icinga/bugfix/windows-timeout-unknown-state
...
Terminate windows check processes with UNKNOWN state on timeout
2020-02-10 15:34:28 +01:00
Michael Friedrich
ccd354c16c
Merge pull request #7810 from Icinga/bugfix/spawncoroutine-copy
...
IoEngine#SpawnCoroutine(): don't copy parameter
2020-02-10 15:31:31 +01:00
Michael Friedrich
d99f76bdae
Merge pull request #7767 from Icinga/bugfix/replay-log-windows-rename
...
Ensure that log replay files are properly renamed on Windows
2020-02-10 11:42:25 +01:00
Michael Friedrich
8324970ab9
Merge pull request #7809 from Icinga/bugfix/handshake-timeout-7805
...
Close connections w/o sucessful TLS handshakes during 10s
2020-02-07 16:01:30 +01:00
Michael Friedrich
7488d2614b
Merge pull request #7811 from Icinga/bugfix/config-sync-log
...
Cluster config sync: Use a more friendly message when configs are equal and don't need a reload
2020-02-06 14:32:46 +01:00
Michael Friedrich
bf2d6abfad
Merge pull request #7747 from Icinga/bugfix/heartbeat-unauthenticated-7746
...
Don't send event::Heartbeat to unauthenticated peers
2020-02-06 14:32:25 +01:00
Michael Friedrich
f961370e36
ApiEvents: Fix AcknowledgementCleared code quality
2020-02-06 13:03:04 +01:00
Alexander A. Klimov
35c9f2e7b3
Close connections w/o sucessful TLS handshakes during 10s
...
refs #7805
2020-02-05 15:53:56 +01:00
Alexander A. Klimov
0ed0f73d9d
IoEngine#SpawnCoroutine(): remove redundand overload
2020-02-05 15:31:57 +01:00
Michael Friedrich
cdfc6e6f50
Cluster config sync: Use a more friendly message when configs are equal and don't need a reload
...
This also adds an entry to the troubleshooting docs.
2020-02-05 15:31:41 +01:00
Alexander A. Klimov
d98493c90f
IoEngine#SpawnCoroutine(): don't copy parameter
2020-02-05 15:30:03 +01:00
Noah Hilverling
572c912c96
Merge pull request #7804 from Icinga/bugfix/not-overdue-active-checks-disabled-7790
...
Checkable#next_update: ignore re-scheduled #next_check if !#enable_active_checks
2020-01-31 14:17:30 +01:00
Alexander Aleksandrovič Klimov
431e4f64c9
Merge pull request #7794 from Icinga/bugfix/icingadb-fix-last-update
...
IcingaDB: Fix last_update
2020-01-31 12:12:49 +01:00
Alexander A. Klimov
86bbb79869
Checkable#next_update: ignore re-scheduled #next_check if !#enable_active_checks
...
refs #7790
2020-01-31 11:49:47 +01:00
Noah Hilverling
b77bc7b963
IcingaDB: Fix last_update
2020-01-29 14:43:29 +01:00
Michael Friedrich
5812dae55b
Dev: Allow to delay main worker process in order to attach with LLDB
...
Introduce `-DInternal.DebugWorkerDelay=120` and sleep inside `RunWorker()`.
Rationale: With 2.11 we've introduced a real umbrella process where the
main process is spawned as child fork. Running icinga2 in foreground on
a macOS shell with LLDB will now exit, and not follow the child process.
LLDB doesn't support `follow-fork-mode child` like GDB and therefore we
need to:
- Print the child process PID
- Sleep for X seconds to allow the developer to run `lldb -p <PID>`, set breakpoints, etc.
This commit also documents all available debug build enabled internal constants.
2020-01-29 13:21:05 +01:00
Michael Insel
d7dfa6f1df
Terminate windows check processes with UNKNOWN state on timeout
...
On Windows this terminates checks that reached the timeout with the UNKNOWN
state instead the WARNING state.
Co-authored-by: araujorm <araujorm@users.noreply.github.com>
2020-01-27 21:43:01 +01:00
Michael Friedrich
e1939368b2
Merge pull request #7765 from Icinga/bugfix/opentsdb-graphite-reconnect
...
Graphite/OpenTSDB: Ensure that Reconnect failure is detected
2020-01-27 14:32:26 +01:00
Alexander A. Klimov
530d84ae3b
Make ConfigCompiler#m_LexBuffer a String
...
... to reduce malloc()s.
2020-01-21 13:38:59 +01:00
Michael Friedrich
0da46c1d4b
Ensure that log replay files are properly renamed on Windows
...
rename() without _unlink() before doesn't work on Windows.
This commits also adds an error message which was swallowed
previously.
2020-01-20 11:41:43 +01:00
Michael Friedrich
3533ddd010
Graphite/OpenTSDB: Ensure that Reconnect failure is detected
...
fixes #7729
2020-01-18 17:09:09 +01:00
Noah Hilverling
0d28ef5abe
IcingaDB::UpdateState: Check for Redis connection before calling FireAndForgetQuery()
2020-01-17 13:53:05 +01:00
Alexander Aleksandrovič Klimov
f11cccf874
Merge pull request #7760 from Icinga/bugfix/icingadb-manually-rescheduling-a-check-does-not-update-next_update-and-next_check-7707
...
IcingaDB: Fix rescheduling a check not always updating state in Redis
2020-01-16 11:58:28 +01:00
Noah Hilverling
cbe1c181a1
IcingaDB: Fix rescheduling check not always updating state in Redis
...
fixes #7707
2020-01-16 10:51:56 +01:00
Michael Friedrich
8f5375d2bb
Use IoEngine::Spawn wrapper in RedisConnection class
...
This avoids multiple locations for `asio::spawn` calls.
2020-01-16 09:53:24 +01:00
Alexander A. Klimov
3d841d5f64
Don't send event::Heartbeat to unauthenticated peers
...
refs #7746
2020-01-13 11:21:38 +01:00
Eric Lippmann
cb21086d6c
Merge pull request #7737 from Icinga/bugfix/revert-notification-result
...
Revert NotificationResult
2020-01-09 10:06:39 +01:00
Noah Hilverling
6575ce920e
Merge pull request #7721 from Icinga/bugfix/icingadb-pending
...
IcingaDB: suppress state sync until config sync finished
2020-01-08 17:30:22 +01:00
Stuart Henderson
6744b1af54
cope with OS which don't fill in si_pid in siginfo
...
Icinga processes check si_pid on IPC signals to ensure that the signal
comes from an expected process. OpenBSD doesn't currently fill in si_pid
in siginfo (leaving it 0) so signals never pass this check, resulting
in startup failing to complete (the worker doesn't see the umbrella's
signal and vice-versa) - issue #7505 .
Relax the requirement so that either 0 or the wanted pid is accepted.
2020-01-07 22:08:38 +00:00
Noah Hilverling
275ab08303
IcingaDB - Runtime updates: Use one pub/sub channel per config object type
2020-01-07 16:40:29 +01:00
Michael Friedrich
7e1e8b3393
Revert "Add NotificationResult class"
...
This reverts commit 9621fd2e4b
.
2020-01-07 14:26:09 +01:00
Michael Friedrich
3605076f8b
Revert "Add OnNewNotificationResult signal and ProcessNotificationResult handler"
...
This reverts commit ac483f2a8a
.
2020-01-07 14:26:07 +01:00
Michael Friedrich
152709071d
Revert "Implement last_notification_result handling for Notification objects"
...
This reverts commit 1706b297a5
.
2020-01-07 14:21:06 +01:00
Michael Friedrich
d242b41704
Revert "Make NotificationResult available for events: Cluster and Features"
...
This reverts commit 566e59bbfa
.
2020-01-07 14:20:59 +01:00
Michael Friedrich
55e13fd001
Revert "Fix license headers"
...
This reverts commit 48b3d25ce2
.
2020-01-07 14:20:45 +01:00
Alexander A. Klimov
f6f7d9b635
IcingaDB: suppress state sync until config sync finished
2019-12-18 13:41:56 +01:00
Michael Friedrich
387c2c8b79
Merge pull request #7717 from Icinga/bugfix/redisconnection-shared_ptr
...
RedisConnection: replace std::shared_ptr<T> with Shared<T>::Ptr
2019-12-18 13:32:16 +01:00
Michael Friedrich
cbbff6b37d
Merge pull request #7716 from Icinga/bugfix/redisconnection-long-logs
...
RedisConnection: shorten log messages
2019-12-18 13:31:51 +01:00
Alexander A. Klimov
de5b3eb2c7
RedisConnection: replace std::shared_ptr<T> with Shared<T>::Ptr
2019-12-17 12:13:30 +01:00
Alexander A. Klimov
955b612703
RedisConnection: shorten log messages
2019-12-17 11:49:54 +01:00
Alexander A. Klimov
b1cc0cd767
Document RedisConnection
2019-12-17 11:44:00 +01:00
Michael Friedrich
cd44c5371a
Merge pull request #7713 from Icinga/bugfix/coroutine-stack-size-linux
...
Boost Coroutines: Increase the default stack size from 64 to 256KB
2019-12-13 17:30:23 +01:00
Michael Friedrich
f62f2eb25e
Boost Coroutines: Increase the default stack size from 64 to 256KB
...
refs #7532
2019-12-13 17:20:06 +01:00
Alexander A. Klimov
c6ea9bc7fe
IcingaDB: update icinga:nextupdate:* on Checkable#next_check changes
...
refs #7707
2019-12-10 16:11:51 +01:00
Noah Hilverling
77e02031f9
Merge pull request #7690 from Icinga/feature/flapping-acknowledgement-start-time-7689
...
IcingaDB: include consistent IDs, start time and end time in icinga:history:stream:{flapping,acknowledgement}
2019-12-10 14:49:17 +01:00
Noah Hilverling
ee40fedb2a
Merge pull request #7700 from Icinga/bugfix/icingadb-don-t-hash-hashes-7692
...
IcingaDB: don't hash hashes
2019-12-10 13:39:12 +01:00
Alexander A. Klimov
78189d70ef
IcingaDB: don't hash hashes
...
refs #7692
2019-12-10 11:23:05 +01:00
Alexander A. Klimov
d69cb676a7
Introduce IcingaDB#GetObjectIdentifiersWithoutEnv()
...
refs #7692
2019-12-10 11:22:35 +01:00
Alexander A. Klimov
4f68cfd299
IcingaDB: include consistent IDs, start time and end time in icinga:history:stream:{flapping,acknowledgement}
...
refs #7689
2019-12-10 10:44:26 +01:00
Alexander A. Klimov
829d07aefe
Introduce Checkable#acknowledgement_last_change
...
refs #7689
2019-12-10 10:44:23 +01:00
Alexander A. Klimov
98ba1c03d0
Make Checkable#flapping_last_change consistent across nodes
...
refs #7689
2019-12-10 10:11:24 +01:00
Michael Friedrich
f47142cf72
Merge pull request #7686 from Icinga/bugfix/open-connections
...
Fix open connections when agent waits for CA approval
2019-12-09 19:25:13 +01:00
Michael Friedrich
ce1a71cfec
Merge pull request #7695 from Icinga/bugfix/double-ack
...
Refuse acking an already acked checkable
2019-12-09 19:23:41 +01:00
Noah Hilverling
e8f352f4d7
IcingaDB history: Add cancelled_by & removed_by to downtime & comment history
2019-12-09 10:30:52 +01:00
Noah Hilverling
f0b8892e4a
Merge pull request #7676 from Icinga/feature/icingadb-localendpoint-id
...
IcingaDB#GetStats(): add endpoint_id to IcingaApplication
2019-12-06 16:59:36 +01:00
Noah Hilverling
5e23414197
Merge pull request #7699 from Icinga/bugfix/icingadb-hash-arrays-7691
...
Get rid of IcingaDB#CalculateCheckSum*()
2019-12-06 16:37:24 +01:00
Alexander A. Klimov
e109063333
IcingaDB#GetStats(): add endpoint_id to IcingaApplication
2019-12-06 15:52:47 +01:00
Alexander A. Klimov
783586978f
Get rid of IcingaDB#CalculateCheckSumProperties()
...
refs #7691
2019-12-06 11:25:41 +01:00
Alexander A. Klimov
9a678dce8e
Get rid of IcingaDB#CalculateCheckSumVars()
...
refs #7691
2019-12-06 11:24:33 +01:00
Alexander A. Klimov
b5ada44330
Get rid of IcingaDB#CalculateCheckSumMetadata()
...
refs #7691
2019-12-06 11:23:13 +01:00
Michael Friedrich
65ab6b256f
Merge pull request #7696 from Icinga/bugfix/metrics-zero-thresholds
...
Metrics: Always send '0' as value for thresholds
2019-12-06 11:01:35 +01:00
Alexander A. Klimov
c91154a14c
Get rid of IcingaDB#CalculateCheckSumString()
...
refs #7691
2019-12-06 10:54:11 +01:00
Alexander A. Klimov
6fc4efccc7
Get rid of IcingaDB#CalculateCheckSumArray()
...
refs #7691
2019-12-06 10:47:48 +01:00
Alexander Aleksandrovič Klimov
202e90b626
Merge pull request #7693 from Icinga/feature/icingadb-remove-unnecessar-service-host-ids
...
IcingaDB: Remove unnecessary service_/host_ids
2019-12-05 15:04:52 +01:00
Michael Friedrich
ee72791f25
Metrics: Always send '0' as value for thresholds
...
fixes #7666
2019-12-05 13:05:59 +01:00
Alexander A. Klimov
da6a9174d1
Checkable#ClearAcknowledgement(): OnAcknowledgementCleared() at most once
2019-12-05 11:54:33 +01:00
Alexander A. Klimov
798ea54173
Refuse acking an already acked checkable
2019-12-05 11:08:16 +01:00
Noah Hilverling
5b8b777691
IcingaDB: Add timestamp to stats stream
2019-12-05 10:34:41 +01:00
Noah Hilverling
71ef1de964
Merge pull request #7667 from Icinga/feature/icingadb-acks-history
...
IcingaDB: populate icinga:history:stream:acknowledgement
2019-12-05 09:20:36 +01:00
Noah Hilverling
3e832900f6
IcingaDB: Remove unnecessary service_/host_ids
2019-12-05 07:35:05 +01:00
Alexander A. Klimov
04e13e784d
IcingaDB: populate icinga:history:stream:acknowledgement
2019-12-04 15:02:14 +01:00
Noah Hilverling
92e51a3f87
Merge pull request #7684 from Icinga/bugfix/is_handled-host-down-7673
...
IcingaDB: update service state on Host#problem change
2019-12-04 14:43:09 +01:00
Alexander Aleksandrovič Klimov
5d40a71f8b
Merge pull request #7669 from Icinga/feature/icingadb-notification-recipients
...
IcingaDB: Add notification recipients
2019-12-04 11:00:53 +01:00