Commit Graph

10885 Commits

Author SHA1 Message Date
Michael Friedrich 7242301fdb
Merge pull request 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  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 

Thanks @nilmerg :)
2019-04-03 13:48:24 +02:00
Michael Friedrich e909302fd9 Fix headings in the docs
refs 
2019-04-03 11:04:07 +02:00
Michael Friedrich 0f2864f881
Merge pull request 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 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 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 
2019-04-02 17:05:48 +02:00
Michael Friedrich f484bbefc0
Merge pull request 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 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 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
Alexander A. Klimov e26774c7f8 IoEngine: adjust I/O threads 2019-04-01 13:31:16 +02:00