Commit Graph

10730 Commits

Author SHA1 Message Date
Michael Friedrich c785a0678f Deprecate ExternalCommandListener feature ('command') and adjust log warnings to the roadmap
They won't be removed with 2.11 thus far. Users should
be guided to the roadmap which holds all details instead
of hardcoding a version in the code.
2019-04-03 14:39:10 +02:00
Michael Friedrich 7242301fdb
Merge pull request #7077 from Icinga/bugfix/no-api
Always update object authority & don't skip notifications in non-API setups
2019-04-03 14:22:56 +02:00
Michael Friedrich 84019ba27a Fix notification skip for local non-API enabled setups
W/o local endpoint, these reminder notifications would
have been skipped otherwise.

PR #6935 improved the logging and made this problem visible.

Thanks @nilmerg :)
2019-04-03 13:50:21 +02:00
Michael Friedrich 5c3a9b77d7 Always update object authority, even w/o API feature
Regression from #7062

Thanks @nilmerg :)
2019-04-03 13:48:24 +02:00
Michael Friedrich e909302fd9 Fix headings in the docs
refs #6918
2019-04-03 11:04:07 +02:00
Michael Friedrich 0f2864f881
Merge pull request #6918 from Icinga/feature/technical-concepts-jsonrpc-messages
Add technical concept docs for our internal JSON-RPC API messages
2019-04-03 10:52:45 +02:00
Michael Friedrich 3c591a03b0 Add technical concept docs for our internal JSON-RPC message API 2019-04-03 10:51:15 +02:00
Alexander A. Klimov 2e5af2922b /v1/events: terminate on disconnect 2019-04-03 09:59:45 +02:00
Alexander A. Klimov 4c5ee0dbbf EventQueue#WaitForEvent(): re-add timeout 2019-04-03 09:53:45 +02:00
Michael Friedrich c6eaee611c
Merge pull request #7074 from Icinga/feature/cli-run-as-icinga-not-root
Impersonate as Icinga user, not root
2019-04-03 09:52:08 +02:00
Michael Friedrich 7174dcd265 Upgrading docs: Mention CLI commands 2019-04-03 09:51:35 +02:00
Alexander A. Klimov 28d46052b0 HttpServerConnection#StartStreaming(): auto-detect disconnection 2019-04-03 09:50:52 +02:00
Michael Friedrich c2f180395a
Merge pull request #7000 from Icinga/bugfix/goto-loop
Don't abuse goto for building simple loops
2019-04-03 09:46:17 +02:00
Alexander A. Klimov c284cf0b68 HttpServerConnection: encapsulate streaming start indicator 2019-04-02 17:37:29 +02:00
Michael Friedrich 7ca8c3ec2f Impersonate as Icinga user, not root
This requires write permissions for

- etc/features-*
- etc/*.conf
- var/{lib,cache}/icinga2/*

Typically permissions are handled by prepare-dirs,
or the respective CLI commands are run as root either way.

fixes #4947
2019-04-02 17:05:48 +02:00
Michael Friedrich f484bbefc0
Merge pull request #7008 from Icinga/feature/shared-ptr-atomic
Use C++11 atomics for our intrusive pointers
2019-04-02 15:15:56 +02:00
Alexander A. Klimov 09a2e04f4b EventQueue#WaitForEvent(): don't lock I/O thread while locking mutex 2019-04-02 14:38:06 +02:00
Alexander A. Klimov cfd0d86b9b Use C++11 atomics for our intrusive pointers 2019-04-02 13:54:30 +02:00
Michael Friedrich 58ae29acac
Merge pull request #7072 from Icinga/feature/boost-upgrading-docs
Upgrading docs: Add Boost dependencies
2019-04-01 18:10:46 +02:00
Alexander A. Klimov 00d859234e Use new I/O engine in PkiUtility::FetchCert() and PkiUtility::RequestCertificate() 2019-04-01 17:18:00 +02:00
Alexander A. Klimov 6e7932f157 Add non-async overloads for JsonRpc::ReadMessage() and JsonRpc::SendMessage() 2019-04-01 17:11:10 +02:00
Alexander A. Klimov f4a78380e9 Add non-async overloads for NetString::ReadStringFromStream() and NetString::WriteStringToStream() 2019-04-01 17:11:10 +02:00
Alexander A. Klimov d1e87bdc45 Connect(): add non-async overload 2019-04-01 17:11:09 +02:00
Alexander A. Klimov f2d9d91e83 Introduce UnbufferedAsioTlsStream#GetPeerCertificate() 2019-04-01 17:11:09 +02:00
Michael Friedrich 66461ee3af Upgrading docs: Add Boost dependencies 2019-04-01 16:51:50 +02:00
Michael Friedrich dc0288fef8
Merge pull request #7005 from Icinga/feature/boost-asio
ApiListener: use Boost ASIO and coroutines for net I/O
2019-04-01 16:49:44 +02:00
Michael Friedrich 5c2aaf6380 Improve error logging on connection failure (cluster) 2019-04-01 16:13:37 +02:00
Markus Frosch ebf9f9d9f5 travis: Add boost path config
And disable unity builds for travis.

[skip appveyor]
2019-04-01 15:31:44 +02:00
Markus Frosch e4a3b64258 travis: Remove converity 2019-04-01 15:25:19 +02:00
Markus Frosch 0e5d0e0077 travis: Switch to xenial and newer Boost 2019-04-01 15:22:41 +02:00
Alexander A. Klimov 64b2ac4b30 ApiListener: drop unused thread pool 2019-04-01 15:06:17 +02:00
Alexander A. Klimov 3a6caa2800 Respect Accept:application/json where possible 2019-04-01 13:31:16 +02:00
Alexander A. Klimov 24c9542b5b HttpServerConnection: fix side effect of HTTP parser's default body limit 2019-04-01 13:31:16 +02:00
Alexander A. Klimov d428bdf384 Add missing includes 2019-04-01 13:31:16 +02:00
Markus Frosch ff3a2fe3da CMake: Handle INSTALL_RPATH globally and allow external additions 2019-04-01 13:31:16 +02:00
Alexander A. Klimov bf23e5392b UnbufferedAsioTlsStream: don't rely on *this in decltype()s for methods' return types 2019-04-01 13:31:16 +02:00
Alexander A. Klimov 7ec1e638a8 Turn shortcut UnbufferedAsioTlsStream::Parent into a base class 2019-04-01 13:31:16 +02:00
Markus Frosch f4193e40a1 appveyor: Use Boost 1.66 2019-04-01 13:31:16 +02:00
Alexander A. Klimov 5b2c1f023d Rename preventGc to keepAlive 2019-04-01 13:31:16 +02:00
Alexander A. Klimov 915525dbcd Doc: adjust default of ApiListener#bind_host 2019-04-01 13:31:16 +02:00
Alexander A. Klimov 5208448b76 Restore the previous performance of replaying logs 2019-04-01 13:31:16 +02:00
Alexander A. Klimov 79e95d2355 Introduce JsonRpcConnection#SendMessageInternal() 2019-04-01 13:31:16 +02:00
Alexander A. Klimov e6d78bf361 Move some TCP/TLS logic out of ApiListener
... for re-using it
2019-04-01 13:31:16 +02:00
Alexander A. Klimov 79220ee647 io-engine.hpp: fix missing namespace 2019-04-01 13:31:16 +02:00
Alexander A. Klimov 8b3efe5759 Introduce AsioConditionVariable 2019-04-01 13:31:16 +02:00
Alexander A. Klimov d3392d1579 Rename AsioTlsStreamHack to UnbufferedAsioTlsStream 2019-04-01 13:31:16 +02:00
Alexander A. Klimov e129c561d5 HttpServerConnection: don't disconnect during sending response 2019-04-01 13:31:16 +02:00
Alexander A. Klimov b384f859c9 Make IoEngine::m_CpuBoundSemaphore signed 2019-04-01 13:31:16 +02:00
Alexander A. Klimov 326bf66255 ApiListener: use setsockopt(), not tcp::acceptor#set_option() 2019-04-01 13:31:16 +02:00
Alexander A. Klimov b5fddaf3ce ApiListener: log why bind(2) failed 2019-04-01 13:31:16 +02:00