]>
granicus.if.org Git - icinga2/log
Elias Ohm [Wed, 1 May 2019 10:09:24 +0000 (12:09 +0200)]
another small adjustment by the way just to ensure the object on stack ist the same as the one serialized further in case the object does not implement locking on mutation (besides it's mor efficient to not fetch the same value twice)
Elias Ohm [Wed, 1 May 2019 09:49:07 +0000 (11:49 +0200)]
add some object locking to the Dump method (which could theoreticylly suffer from same reace condition as serializer)
Elias Ohm [Sun, 28 Apr 2019 20:13:19 +0000 (22:13 +0200)]
Lock Objects during serialization
old behaviour was to only lock arrays, dictionaries and namespaces but not other objects
Michael Friedrich [Wed, 17 Apr 2019 11:17:41 +0000 (13:17 +0200)]
Merge pull request #7050 from Icinga/feature/previous-state-change
Implement previous_state_change
Michael Friedrich [Wed, 17 Apr 2019 11:16:23 +0000 (13:16 +0200)]
Merge pull request #7112 from Icinga/bugfix/service-handled
Include host state in Service#handled and Service#severity
Michael Friedrich [Wed, 17 Apr 2019 11:14:32 +0000 (13:14 +0200)]
Merge pull request #7121 from Icinga/bugfix/concurrent-checks
Fix that MaxConcurrentChecks constant is overridden from 'checker' feature
Michael Friedrich [Tue, 16 Apr 2019 15:40:20 +0000 (17:40 +0200)]
Merge pull request #7122 from Icinga/bugfix/evaluatefilter-change-globals
FilterUtility::EvaluateFilter(): ensure not to modify the global namespace
Michael Friedrich [Tue, 16 Apr 2019 14:02:16 +0000 (16:02 +0200)]
Merge pull request #7113 from Elias481/fix/incorrect-usage-of-global-namespace-6874-6785
use dedicated permissions namespace for scriptframe in filterutility
Alexander A. Klimov [Tue, 16 Apr 2019 13:53:44 +0000 (15:53 +0200)]
FilterUtility::EvaluateFilter(): ensure not to modify the global namespace
Michael Friedrich [Mon, 15 Apr 2019 14:56:30 +0000 (16:56 +0200)]
Fix that MaxConcurrentChecks constant is overridden from 'checker' feature
Note: This drops the deprecated concurrent_checks setting from the checker feature
entirely and refactors the underlaying code handling.
Also affects ReloadTimeout which is new for 2.11.
fixes #7111
Michael Friedrich [Tue, 16 Apr 2019 09:08:15 +0000 (11:08 +0200)]
Merge pull request #7120 from Icinga/bugfix/cluster-ignore-non-configured-zones
Ignore synced config zones where no config item exists
Michael Friedrich [Fri, 28 Sep 2018 11:55:41 +0000 (13:55 +0200)]
Ignore synced config zones where no config item exists
The culprit is that we're in compiling configuration stage here,
we don't have access to `Zone::GetByName()` as objects have not
been activated yet.
Our best guess is from a config item loaded before (e.g. from zones.conf)
since no-one can sync zones via cluster config sync either.
It may not be 100% correct since the zone object itself may be invalid.
Still, if the zone object validator fails later, the config breaks either way.
The problem with removal of these directories is dealt by the cluster
config sync with stages.
refs #6727
refs #6716
Michael Friedrich [Mon, 15 Apr 2019 11:40:06 +0000 (13:40 +0200)]
Merge pull request #7116 from Icinga/feature/no-reachable
Drop Checkable#reachable in favor of #last_reachable
Michael Friedrich [Fri, 12 Apr 2019 13:28:49 +0000 (15:28 +0200)]
Merge pull request #7115 from Icinga/feature/docs-api
Improve REST API docs
Michael Friedrich [Fri, 12 Apr 2019 10:49:41 +0000 (12:49 +0200)]
Improve REST API docs
- Better explanation for filters and filter_vars
- Update examples to use filters in the body only, don't fuck around with the URL parameters.
- Better explain actions and their intent
- More insights into config packages and their intention
- Improve API clients and add the tables from icinga2-api-examples
- Formatting for CLI requests
Alexander A. Klimov [Fri, 12 Apr 2019 11:03:11 +0000 (13:03 +0200)]
Drop Checkable#reachable in favor of #last_reachable
Michael Friedrich [Fri, 12 Apr 2019 07:34:34 +0000 (09:34 +0200)]
Docs: Fix RPM snapshot repo name
Elias Ohm [Fri, 12 Apr 2019 06:10:57 +0000 (08:10 +0200)]
* use dedicated permissions namespace for scriptframe in filterutility to allow proper parallel execution
* fixes issue https://github.com/Icinga/icinga2/issues/6785 where permission checks get wrong result because permissions checks are done within a shared namespaces without using only unique keys
* mitigates issue https://github.com/Icinga/icinga2/issues/6874 where segmentation faults occur because of concurrent access to non threadsafe parts of namespace (a fix for thread safety of namespaces which would be an alternative approach to get rid of these segfaults is out of scope of this fix as 6785 needs to be fixed anyway and this is the straight-forwards) way to fix that
* do the same for eventqueue (not certain whether events can be processed in parallel but I expect it is the case)
Alexander A. Klimov [Thu, 11 Apr 2019 09:36:23 +0000 (11:36 +0200)]
Service: reduce severity while host is down
Alexander A. Klimov [Thu, 11 Apr 2019 09:25:45 +0000 (11:25 +0200)]
Service: be handled while host is down
Michael Friedrich [Thu, 11 Apr 2019 09:20:46 +0000 (11:20 +0200)]
Merge pull request #7109 from Icinga/feature/enhance-cluster-message-send-code-docs
Improve code docs for cluster message routing conditions
Michael Friedrich [Wed, 10 Apr 2019 12:17:36 +0000 (14:17 +0200)]
Improve code docs for cluster message routing conditions
refs #6781
Michael Friedrich [Tue, 9 Apr 2019 14:57:31 +0000 (16:57 +0200)]
Merge pull request #7097 from Icinga/bugfix/disconnect-log-spam
JsonRpcConnection: reduce log spam on disconnect
Michael Friedrich [Tue, 9 Apr 2019 14:55:47 +0000 (16:55 +0200)]
Merge pull request #7096 from Icinga/feature/derivative-states
Expose derivative states via API
Michael Friedrich [Tue, 9 Apr 2019 12:16:39 +0000 (14:16 +0200)]
Merge pull request #7073 from Icinga/feature/docs-development-macos-windows
Improve docs for 2.11: Development, test snapshot packages & installation repos
Michael Friedrich [Tue, 9 Apr 2019 12:08:39 +0000 (14:08 +0200)]
Docs: Update installation for 2.11; remove EOL distributions
Michael Friedrich [Tue, 9 Apr 2019 12:08:03 +0000 (14:08 +0200)]
Development: Add snapshot package test details
Alexander A. Klimov [Tue, 9 Apr 2019 11:53:41 +0000 (13:53 +0200)]
JsonRpcConnection: reduce log spam on disconnect
Alexander A. Klimov [Tue, 9 Apr 2019 09:34:59 +0000 (11:34 +0200)]
Add Checkable#problem and #handled
Alexander A. Klimov [Tue, 9 Apr 2019 09:26:34 +0000 (11:26 +0200)]
Declare Checkable#IsStateOK() const
Alexander A. Klimov [Tue, 9 Apr 2019 09:09:02 +0000 (11:09 +0200)]
Expose Checkable#reachable
Michael Friedrich [Mon, 8 Apr 2019 12:52:58 +0000 (14:52 +0200)]
Merge pull request #7093 from Icinga/feature/docs-2-11
Docs: Update version specific changes for 2.11
Michael Friedrich [Mon, 8 Apr 2019 12:08:14 +0000 (14:08 +0200)]
Docs: Update version specific changes for 2.11
- Notification commands 2.7 dropped, reference to MTAs added
- Sysconfig variable locations
- Version bumps
Michael Friedrich [Fri, 5 Apr 2019 14:38:12 +0000 (16:38 +0200)]
Merge pull request #7079 from Icinga/tools/windows
Build Windows with Visual Studio 2017
Michael Friedrich [Fri, 5 Apr 2019 14:00:36 +0000 (16:00 +0200)]
Merge pull request #7087 from Icinga/feature/http-server-log-user-agent
HttpServerConnection: Log the user agent field for new requests too
Michael Friedrich [Fri, 5 Apr 2019 13:08:09 +0000 (15:08 +0200)]
HttpServerConnection: Log the user agent field for new requests too
refs #7041
Markus Frosch [Fri, 5 Apr 2019 08:34:07 +0000 (10:34 +0200)]
windows: Avoid 32-bit linker problems for check_swap
Michael Friedrich [Fri, 5 Apr 2019 08:31:30 +0000 (10:31 +0200)]
Merge pull request #7076 from Icinga/bugfix/eventqueue-leak
/v1/events: terminate on disconnect
Michael Insel [Thu, 4 Apr 2019 17:55:07 +0000 (19:55 +0200)]
Use Unicode functions inside check_swap
This ensures that always Unicode functions are used in check_swap.
Markus Frosch [Thu, 4 Apr 2019 16:15:21 +0000 (18:15 +0200)]
windows: Add rules for Win32 to IcingaAgent C#
Theoretically this should be automatically, but the C++ project uses
Win32 as platform...
Alexander A. Klimov [Fri, 5 Apr 2019 07:22:42 +0000 (09:22 +0200)]
/v1/events: don't deadlock other coroutines
Michael Friedrich [Fri, 5 Apr 2019 07:12:50 +0000 (09:12 +0200)]
Merge pull request #7085 from Icinga/bugfix/typo-upgrading-docs
Remove not needed inline code tag
Markus Frosch [Thu, 4 Apr 2019 12:42:58 +0000 (14:42 +0200)]
windows: Disable SAFESEH on x86
Markus Frosch [Thu, 4 Apr 2019 10:55:52 +0000 (12:55 +0200)]
cmake: Use the actual GIT_VERSION for ICINGA2_VERSION
And use a safe version with dots only for Windows.
Markus Frosch [Thu, 4 Apr 2019 10:20:52 +0000 (12:20 +0200)]
windows: Disable optimization for boost::context
Markus Frosch [Thu, 4 Apr 2019 10:11:15 +0000 (12:11 +0200)]
windows: Remove the flag to disable auto linking
Markus Frosch [Thu, 4 Apr 2019 10:10:23 +0000 (12:10 +0200)]
windows: Improve Powershell Tools and AppVeyor config
[travis skip]
Michael Insel [Thu, 4 Apr 2019 16:49:50 +0000 (18:49 +0200)]
Remove not needed inline code tag
This removes a not needed inline code tag (back-tick) in the upgrading
chapter for 2.11.
Michael Friedrich [Tue, 2 Apr 2019 13:30:35 +0000 (15:30 +0200)]
Improve development docs for macOS & Windows for 2.11
- macOS doesn't require sudo anymore
- Windows builds must use Boost 1.66+
- Fix link in About section
- Add recommended books: Boost application programming
Michael Friedrich [Thu, 4 Apr 2019 13:42:52 +0000 (15:42 +0200)]
Merge pull request #7082 from Icinga/feature/docs-troubleshooting
Troubleshooting docs: Add Windows agents without NodeName constant
Michael Friedrich [Thu, 4 Apr 2019 13:29:45 +0000 (15:29 +0200)]
Troubleshooting docs: Add Windows agents without NodeName constant
Michael Friedrich [Wed, 3 Apr 2019 17:53:26 +0000 (19:53 +0200)]
Merge pull request #7080 from Icinga/feature/docs-object-types
Docs: Improve config object types chapter
Michael Friedrich [Wed, 3 Apr 2019 13:00:36 +0000 (15:00 +0200)]
Docs: Improve config object types chapter
Michael Friedrich [Wed, 3 Apr 2019 12:59:36 +0000 (14:59 +0200)]
Merge pull request #7078 from Icinga/feature/deprecate-command-pipe-adjust-logs
Deprecate ExternalCommandListener feature ('command') and adjust log warnings to the roadmap
Michael Friedrich [Wed, 3 Apr 2019 12:39:10 +0000 (14:39 +0200)]
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.
Michael Friedrich [Wed, 3 Apr 2019 12:22:56 +0000 (14:22 +0200)]
Merge pull request #7077 from Icinga/bugfix/no-api
Always update object authority & don't skip notifications in non-API setups
Michael Friedrich [Wed, 3 Apr 2019 11:50:21 +0000 (13:50 +0200)]
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 :)
Michael Friedrich [Wed, 3 Apr 2019 11:48:24 +0000 (13:48 +0200)]
Always update object authority, even w/o API feature
Regression from #7062
Thanks @nilmerg :)
Michael Friedrich [Wed, 3 Apr 2019 09:04:07 +0000 (11:04 +0200)]
Fix headings in the docs
refs #6918
Michael Friedrich [Wed, 3 Apr 2019 08:52:45 +0000 (10:52 +0200)]
Merge pull request #6918 from Icinga/feature/technical-concepts-jsonrpc-messages
Add technical concept docs for our internal JSON-RPC API messages
Michael Friedrich [Thu, 17 Jan 2019 17:20:23 +0000 (18:20 +0100)]
Add technical concept docs for our internal JSON-RPC message API
Alexander A. Klimov [Wed, 3 Apr 2019 07:59:45 +0000 (09:59 +0200)]
/v1/events: terminate on disconnect
Alexander A. Klimov [Wed, 3 Apr 2019 07:53:45 +0000 (09:53 +0200)]
EventQueue#WaitForEvent(): re-add timeout
Michael Friedrich [Wed, 3 Apr 2019 07:52:08 +0000 (09:52 +0200)]
Merge pull request #7074 from Icinga/feature/cli-run-as-icinga-not-root
Impersonate as Icinga user, not root
Michael Friedrich [Wed, 3 Apr 2019 07:51:35 +0000 (09:51 +0200)]
Upgrading docs: Mention CLI commands
Alexander A. Klimov [Wed, 3 Apr 2019 07:50:52 +0000 (09:50 +0200)]
HttpServerConnection#StartStreaming(): auto-detect disconnection
Michael Friedrich [Wed, 3 Apr 2019 07:46:17 +0000 (09:46 +0200)]
Merge pull request #7000 from Icinga/bugfix/goto-loop
Don't abuse goto for building simple loops
Alexander A. Klimov [Tue, 2 Apr 2019 15:37:29 +0000 (17:37 +0200)]
HttpServerConnection: encapsulate streaming start indicator
Michael Friedrich [Fri, 4 Jan 2019 14:29:25 +0000 (15:29 +0100)]
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
Michael Friedrich [Tue, 2 Apr 2019 13:15:56 +0000 (15:15 +0200)]
Merge pull request #7008 from Icinga/feature/shared-ptr-atomic
Use C++11 atomics for our intrusive pointers
Alexander A. Klimov [Tue, 2 Apr 2019 12:38:06 +0000 (14:38 +0200)]
EventQueue#WaitForEvent(): don't lock I/O thread while locking mutex
Alexander A. Klimov [Mon, 11 Mar 2019 11:05:01 +0000 (12:05 +0100)]
Use C++11 atomics for our intrusive pointers
Michael Friedrich [Mon, 1 Apr 2019 16:10:46 +0000 (18:10 +0200)]
Merge pull request #7072 from Icinga/feature/boost-upgrading-docs
Upgrading docs: Add Boost dependencies
Michael Friedrich [Mon, 1 Apr 2019 14:51:50 +0000 (16:51 +0200)]
Upgrading docs: Add Boost dependencies
Michael Friedrich [Mon, 1 Apr 2019 14:49:44 +0000 (16:49 +0200)]
Merge pull request #7005 from Icinga/feature/boost-asio
ApiListener: use Boost ASIO and coroutines for net I/O
Michael Friedrich [Mon, 1 Apr 2019 14:13:37 +0000 (16:13 +0200)]
Improve error logging on connection failure (cluster)
Markus Frosch [Mon, 1 Apr 2019 13:31:44 +0000 (15:31 +0200)]
travis: Add boost path config
And disable unity builds for travis.
[skip appveyor]
Markus Frosch [Mon, 1 Apr 2019 13:25:19 +0000 (15:25 +0200)]
travis: Remove converity
Markus Frosch [Mon, 1 Apr 2019 13:22:41 +0000 (15:22 +0200)]
travis: Switch to xenial and newer Boost
Alexander A. Klimov [Mon, 1 Apr 2019 13:06:17 +0000 (15:06 +0200)]
ApiListener: drop unused thread pool
Alexander A. Klimov [Mon, 1 Apr 2019 10:43:38 +0000 (12:43 +0200)]
Respect Accept:application/json where possible
Alexander A. Klimov [Mon, 1 Apr 2019 08:14:24 +0000 (10:14 +0200)]
HttpServerConnection: fix side effect of HTTP parser's default body limit
Alexander A. Klimov [Tue, 12 Mar 2019 16:55:39 +0000 (17:55 +0100)]
Add missing includes
Markus Frosch [Tue, 12 Mar 2019 14:53:52 +0000 (15:53 +0100)]
CMake: Handle INSTALL_RPATH globally and allow external additions
Alexander A. Klimov [Tue, 12 Mar 2019 10:47:53 +0000 (11:47 +0100)]
UnbufferedAsioTlsStream: don't rely on *this in decltype()s for methods' return types
Alexander A. Klimov [Tue, 12 Mar 2019 10:36:30 +0000 (11:36 +0100)]
Turn shortcut UnbufferedAsioTlsStream::Parent into a base class
Markus Frosch [Mon, 11 Mar 2019 15:14:41 +0000 (16:14 +0100)]
appveyor: Use Boost 1.66
Alexander A. Klimov [Mon, 11 Mar 2019 09:12:05 +0000 (10:12 +0100)]
Rename preventGc to keepAlive
Alexander A. Klimov [Thu, 7 Mar 2019 14:38:25 +0000 (15:38 +0100)]
Doc: adjust default of ApiListener#bind_host
Alexander A. Klimov [Tue, 26 Feb 2019 10:13:34 +0000 (11:13 +0100)]
Restore the previous performance of replaying logs
Alexander A. Klimov [Tue, 26 Feb 2019 09:17:10 +0000 (10:17 +0100)]
Introduce JsonRpcConnection#SendMessageInternal()
Alexander A. Klimov [Mon, 25 Feb 2019 15:18:48 +0000 (16:18 +0100)]
Move some TCP/TLS logic out of ApiListener
... for re-using it
Alexander A. Klimov [Fri, 22 Feb 2019 15:16:59 +0000 (16:16 +0100)]
io-engine.hpp: fix missing namespace
Alexander A. Klimov [Fri, 22 Feb 2019 15:13:28 +0000 (16:13 +0100)]
Introduce AsioConditionVariable
Alexander A. Klimov [Fri, 22 Feb 2019 14:42:48 +0000 (15:42 +0100)]
Rename AsioTlsStreamHack to UnbufferedAsioTlsStream
Alexander A. Klimov [Fri, 22 Feb 2019 14:38:02 +0000 (15:38 +0100)]
HttpServerConnection: don't disconnect during sending response
Alexander A. Klimov [Fri, 22 Feb 2019 14:07:59 +0000 (15:07 +0100)]
Make IoEngine::m_CpuBoundSemaphore signed
Alexander A. Klimov [Thu, 21 Feb 2019 09:55:47 +0000 (10:55 +0100)]
ApiListener: use setsockopt(), not tcp::acceptor#set_option()
Alexander A. Klimov [Thu, 21 Feb 2019 09:41:31 +0000 (10:41 +0100)]
ApiListener: log why bind(2) failed
Alexander A. Klimov [Thu, 21 Feb 2019 09:08:38 +0000 (10:08 +0100)]
IoEngine: adjust I/O threads