Commit Graph

4703 Commits

Author SHA1 Message Date
Michael Friedrich ba44c3921c Quality: Remove old MakeSSLContext() interface 2019-05-28 13:03:34 +02:00
Michael Friedrich efd4e8ad40 Quality: Use Boost ASIO/IO engine in Graphite feature
This commit changes the reconnect priority to high.

Also add function docs.
2019-05-27 16:49:51 +02:00
Michael Friedrich 0466316019 Quality: Rewrite OpenTSDB to use Boost ASIO and I/O engine
The connection handling and code isn't really good, but not
really actively maintained either.

Besides that, the "telnet" method doesn't allow for TLS,
this needs a general rewrite against their HTTP API.

I've also added function documentation where applicable.
2019-05-27 15:09:26 +02:00
Michael Friedrich c77d6eb869 Quality: Drop unused boost/tuple header include 2019-05-24 15:50:43 +02:00
Michael Friedrich 5dbb6ad366 Quality: Remove old SocketEvent functionality 2019-05-24 15:50:43 +02:00
Michael Friedrich c7a2fc556c Quality: Purge old TlsStream functionality 2019-05-24 15:50:43 +02:00
Michael Friedrich e606d14705 Quality: Clean JsonRPC class and add function docs 2019-05-24 15:50:43 +02:00
Michael Friedrich f933aafd29 Quality: Purge old HTTP code in lib/remote 2019-05-24 15:50:43 +02:00
Michael Friedrich 5d0af5c879
Merge pull request #6813 from Icinga/feature/gelfwriter-tls-support
Implement TLS support for the GelfWriter feature
2019-05-24 15:50:18 +02:00
Michael Friedrich 2ba2134eda
Merge pull request #7156 from Icinga/feature/itl-sleep
Implement sleep CheckCommand
2019-05-24 15:42:46 +02:00
Michael Friedrich a0c8f41d58 Debug Console: Use our new I/O engine for HTTP requests
refs #7041
2019-05-22 12:51:23 +02:00
Michael Insel bb70613ed1 Fix wrong facility in GelfWriter log message
This fixes a wrong facility in GelfWriter log message (paused message).
2019-05-16 19:50:40 +02:00
Michael Insel bc0ab93e44 Use new I/O engine in GelfWriter 2019-05-16 19:39:06 +02:00
Michael Insel 90bb423226 Implement TLS support for the GelfWriter
This implements TLS support for the GelfWriter.
2019-05-16 17:48:47 +02:00
Michael Friedrich 6ba67487ea CLI: 'ca list' now lists pending CSRs by default, add '--all' parameter
https://puppet.com/docs/puppet/5.5/man/cert.html
2019-05-10 15:41:00 +02:00
Michael Friedrich aed88ca477 Revert "CLI: Return non-zero on unknown sub commands"
This reverts commit 00bc0b2303.
2019-05-10 15:16:05 +02:00
Michael Friedrich af42e2dfc0
Merge pull request #7178 from Icinga/bugfix/api-package-repair
API: Automatically repair broken _api package
2019-05-10 14:40:48 +02:00
Michael Friedrich 368383bedd
Merge pull request #7154 from Elias481/fix/serializer-object-locking-7003
Lock all kind of Objects during serialization
2019-05-10 14:39:27 +02:00
Michael Friedrich 6c9c65323e Workaround for boost::filesystem and Visual Studio on Windows 2019-05-10 13:38:12 +02:00
Michael Friedrich 6cce9c0fdd API: Automatically repair broken packages
This partially reverts #7150 and avoids exceptions
inside the flow. Each time an empty active stage
is detected, Icinga tries to repair it from the
the given directory tree.

Also, the code now takes into account that it should
create the package storage on startup, whether within
the API object, or if disabled, inside the application.

Caching the active stages for packages in memory
only is in effect with the API feature being enabled.
This is useful for other deployed config packages,
not only the internal one.

fixes #7173
refs #7150
refs #7119
fixes #6959
2019-05-10 12:48:34 +02:00
Elias Ohm 4c86c370bb fixup errbuf length in the other files and avoid using the static buffer in one place (for thread safety and code consistency reasons) 2019-05-09 09:30:12 +02:00
Elias Ohm e75f063552 bring some things in line
- account for documented buffer size openssl 1.1.x for error string (>=256 bytes)
- use nullptr instead of NULL
- fix/streamline null-checks
2019-05-09 00:22:24 +02:00
Jean Flach 9a0d894f10 Don't use deprecated RSA_generate_key
fixes #4635
2019-05-08 23:46:31 +02:00
Michael Friedrich 03324b2fb6 Config packages: Catch active stage exceptions in rare cases
Typically this already is detected on startup.
2019-05-08 16:43:27 +02:00
Michael Friedrich 704aabcb63 Avoid dead-lock with config packages and active stages 2019-05-08 16:06:46 +02:00
Michael Friedrich 736e0806d7
Merge pull request #7164 from Icinga/bugfix/notification-times-validate
Improve validation for times.{begin,end} in notification objects
2019-05-07 15:58:44 +02:00
Michael Friedrich 296fc06890
Merge pull request #7163 from Icinga/bugfix/db-ido-reachable
DB IDO: Use cached reachable state
2019-05-07 15:21:21 +02:00
Michael Friedrich 8ae206cd5d Improve validation for times.{begin,end} in notification objects
fixes #6939
2019-05-07 15:20:06 +02:00
Michael Friedrich 5553438249 DB IDO: Use cached reachable state
fixes #6844
2019-05-07 13:47:09 +02:00
Michael Friedrich 00bc0b2303 CLI: Return non-zero on unknown sub commands
fixes #6585
2019-05-07 12:43:53 +02:00
Michael Friedrich 4197bc9bcd CLI: Fix updates for NodeName/ZoneName constants
fixes #7117
2019-05-06 10:19:56 +02:00
Michael Friedrich edaaaae1e8
Merge pull request #7155 from Elias481/bugfix/evaluatefilter-assign-this-scope-6874
use current frame scope for permission filter function calls
2019-05-03 16:53:40 +02:00
Michael Friedrich 78e24c53f1 DB IDO: Do not deactivate objects during application reload/restart
This follows the same principle as with the shutdown handler,
and was introduced with the changed reload handling with 2.9.
Previously IsShuttingDown() was sufficient which got set at one
location.

SigUsr2 as handler introduced a new location where m_ShuttingDown
is not necessarily set yet. Since this handler gets called when
l_Restarting is enabled, we'll use this flag to avoid config update
events resulting in object deactivation (object->IsActive() always
returns false).

refs #5996
refs #6691
refs #6970

fixes #7125
2019-05-03 15:40:48 +02:00
htriem 75df3879f2 Implement sleep CheckCommand in memory
Implements a check task with Utility::Sleep and custom var parameter sleep_time (default value: 1s)

refs #6964
2019-05-02 16:24:42 +02:00
Elias Ohm c10ff9dd72 try without initialization of frame Locals which are not used for permissions filter and as far as I can see also not for query filters 2019-05-02 09:03:30 +02:00
Elias Ohm 53febdea81 use current frame scope for permission filter function calls 2019-05-02 07:35:19 +02:00
Elias Ohm cdd843a998 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) 2019-05-01 12:09:24 +02:00
Elias Ohm 44ac6cf1ec add some object locking to the Dump method (which could theoreticylly suffer from same reace condition as serializer) 2019-05-01 11:49:07 +02:00
Michael Friedrich 759b090f81
Merge pull request #7150 from Icinga/bugfix/api-config-package-active-stage-name
Ensure that runtime created API objects survive a restart
2019-04-30 14:22:13 +02:00
Michael Friedrich f206cba394
Merge pull request #7152 from Elias481/fix/mysql8-headers-compatibility
account for adjusted interface of mysql8
2019-04-30 14:20:18 +02:00
Michael Friedrich 502c43fb12 Active packages: Don't try to fix broken config packages which are not cached yet 2019-04-30 12:19:35 +02:00
Michael Friedrich 8a258de9bc
Merge pull request #6734 from leeclemens/remove-redundant-indexes
db ido: remove redundant mysql indexes
2019-04-29 09:13:22 +02:00
Elias Ohm 615f019c2e account for adjusted interface of mysql8 (now utilizes c99 bools instead of my_bool labelled chars) 2019-04-29 00:18:15 +02:00
Elias Ohm 91296c2a25 Lock Objects during serialization
old behaviour was to only lock arrays, dictionaries and namespaces but not other objects
2019-04-28 22:13:19 +02:00
Michael Friedrich 2bca7a5bb5 Repair broken API config packages at runtime
This means a new timer which checks every 5m whether the
active-stage can be read, and if not, it overwrites the
file on disk with the details from memory.
2019-04-26 14:53:36 +02:00
Michael Friedrich f92c134b0a Cluster: Don't try to sync objects from broken _api package 2019-04-26 14:43:38 +02:00
Michael Friedrich 0d6d48fd59 Daemon: Deal with exceptions from broken _api package 2019-04-26 14:43:10 +02:00
Michael Friedrich c821e73364 Cache the API package stage name with a active-stage fallback
This prevents reading the file everytime the stageName is required
for when creating a runtime object via REST API.
2019-04-26 13:40:27 +02:00
Michael Friedrich 1078a0a824 Add --cn parameter to 'api setup' CLI command allowing hostname overrides
fixes #6649
2019-04-26 10:52:05 +02:00
Michael Friedrich 3dc9927284
Merge pull request #7124 from Icinga/bugfix/namespace-thread-safe
Namespace: place ObjectLock in all methods
2019-04-26 08:26:59 +02:00