Commit Graph

4145 Commits

Author SHA1 Message Date
Michael Friedrich 7f015c0d2f Enhance error handling in config packages handler 2018-04-05 17:21:14 +02:00
Michael Friedrich 75c5e6f6b0 Enhance error handling in config stages handler 2018-04-05 17:17:30 +02:00
Michael Friedrich 1dd8409691 Check for verbose error handling in SendJsonError() 2018-04-05 17:17:06 +02:00
Jean Flach 9b291be989 Return 500 when no api action is successful
fixes #5095
2018-04-05 15:56:06 +02:00
Michael Friedrich 3a8017fd99
Merge pull request #6195 from Icinga/fix/api-console-crash
Fix crash in remote api console
2018-04-05 15:34:47 +02:00
Michael Friedrich 8eec0487bb
Merge pull request #6198 from Icinga/deprecate-statusdatawriter
Deprecate Statusdatawriter
2018-04-05 15:32:32 +02:00
Michael Friedrich d398eca581
Merge pull request #6196 from Icinga/fix/influxdb-escaping
Fix InfluxDB backslash escaping
2018-04-05 15:27:06 +02:00
Jean Flach 7bdbd2b074 Deprecate Statusdatawriter
refs #6033
2018-04-05 09:32:07 +02:00
Noah Hilverling 0e17632bc4 Fix InfluxDB backslash escaping
fixes #6182
2018-04-04 13:02:48 +02:00
Jean Flach 69ea2f3a64 Fix crash in remote api console 2018-04-04 12:23:45 +02:00
Michael Friedrich da9b3991aa
Merge pull request #6163 from Icinga/fix/handle-restart
Fix reload handling by updating the PID file before process overtake
2018-04-03 17:18:29 +02:00
Michael Friedrich ecbbc2fcc5
Merge pull request #6194 from Icinga/feature/metric-unit-elastic-gelf
Elasticsearch/GELF: Add metric unit to performance data fields
2018-04-03 17:12:29 +02:00
Michael Friedrich d384dee204
Merge pull request #6193 from Icinga/fix/gelfwriter-invalid-perfdata-crash
GelfWriter: Fix crash on invalid performance data metrics
2018-04-03 14:52:12 +02:00
Michael Friedrich 313f25163b Elasticsearch/GELF: Add metric unit to performance data fields
Seen this inside the InfluxDBWriter code, makes sense to store
this in Elasticsearch too.
2018-04-03 14:49:50 +02:00
Michael Friedrich 6609ec647f GelfWriter: Fix crash on invalid performance data metrics
Spotted while comparing the source code of several performance data
writer.

refs #6191
2018-04-03 14:43:48 +02:00
Michael Friedrich 85eba79f55 Elasticsearch: Fix crash with invalid performance data metrics
fixes #6191
2018-04-03 14:38:25 +02:00
Michael Friedrich b11ab95f41 Fix crash without CORS config settings
fixes #6173
refs #6098
2018-03-21 20:42:31 +01:00
Jean Flach 92f7242db1
Merge pull request #6119 from tclh123/dev
fixup set rlimit stack failed condition
2018-03-21 09:56:47 +01:00
Michael Friedrich 064fc80cc3
Merge pull request #6098 from Icinga/fix/improve-cors-implementation
Clean up CORS implementation
2018-03-19 16:00:36 +01:00
Michael Friedrich 313b2a759e
Merge pull request #6016 from Icinga/fix/state-filters-for-custom-notifications
Check notification state filters for problems only, not for Custom, etc.
2018-03-19 15:52:37 +01:00
Jean Flach a742e64e4d Fix reload handling
Make sure we have written the new PID before letting it take over.
2018-03-14 10:43:59 +01:00
Gunnar Beutner 9b0fccfd80
Merge pull request #6153 from Icinga/fix/api-no-packages
Improve error handling for empty packages in /v1/config/packages
2018-03-13 09:23:01 +01:00
Michael Insel 592d1c7d7e Replace std::vector:push_back with initializer list
This replaces a few std::vector::push_back calls with initializer lists.
2018-03-12 20:35:49 +01:00
Michael Friedrich 429f518b49 Improve error handling for empty packages in /v1/config/packages
- If there is no package main directory, assume "empty packages".
- Catch exceptions thrown through GlobRecursive() and present a better http 500
to the user.

The packages directory tree is automatically created with the first
package creation, either from the user, or by the `_api` package.

fixes #6129
2018-03-07 13:35:09 +01:00
Gunnar Beutner 9cd5298d8b Ensure that SetCorked() works properly 2018-03-06 09:03:35 +01:00
Gunnar Beutner b172a67867 Fix incorrect argument type for JsonRpc::SendMessage 2018-03-06 08:58:19 +01:00
Gunnar Beutner 9b72a6c2f3
Merge pull request #6135 from Icinga/fix/limit-api-package-size
Limit JSON RPC message size
2018-03-05 13:24:09 +01:00
Jean Flach 1bdd14b428 Limit anonymous connections to 25 2018-03-05 13:22:43 +01:00
Noah Hilverling 54ff60cd8c Limit JSON-RPC message size 2018-03-05 10:29:05 +01:00
Noah Hilverling d0a97ddf64 Add counter for current concurrent checks to Icinga check
fixes #4939
2018-03-01 15:01:55 +01:00
Noah Hilverling 186cad9872 Clean up CORS implementation 2018-03-01 14:04:56 +01:00
Gunnar Beutner d23c03bfa5
Merge pull request #6134 from gunnarbeutner/fix/incorrect-content-length-limits
Fix incorrect HTTP content length limits
2018-02-28 14:16:15 +01:00
Gunnar Beutner a3bf8cd26e
Merge pull request #6133 from Icinga/fix/cork-socket
Limit the number of HTTP/JSON-RPC requests we read in parallel
2018-02-28 12:48:06 +01:00
Gunnar Beutner 45c2803f3e Fix incorrect HTTP content length limits 2018-02-28 12:28:02 +01:00
Gunnar Beutner a9fb714578
Merge pull request #6116 from Icinga/fix/windows-service-restart
Fix Windows reload
2018-02-28 12:23:53 +01:00
Gunnar Beutner c1837ea90b
Merge pull request #6131 from Icinga/feature/log-master-ticket-invalid
Log which ticket was invalid on the master
2018-02-28 12:22:34 +01:00
Gunnar Beutner 6848af50ff Add SetCorked() calls to the JsonRpcConnection class 2018-02-28 11:42:05 +01:00
Jean Flach d0cf7c654e Use cork in tlsstream and HTTP connection 2018-02-28 11:40:58 +01:00
Jean Flach 7d103aaf1b Add cork 2018-02-28 11:40:58 +01:00
Gunnar Beutner a4a73fa67c Fix null ptr dereference in HttpServerConnection::ProcessMessageAsync 2018-02-28 11:07:19 +01:00
Gunnar Beutner 6d01808adf Fix incorrect return value 2018-02-28 10:50:33 +01:00
Michael Friedrich ad31e0d118 Log which ticket was invalid on the master
This helps debugging a lot, especially to reproduce the issue
why the ticket is invalid.
2018-02-28 10:18:29 +01:00
Jean Flach 01c7f20170 Require systemd headers
Only mandatory if using systemd
2018-02-27 15:54:58 +01:00
lihan cc24ae217e fixup set rlimit stack failed condition 2018-02-27 12:56:36 +08:00
Gunnar Beutner 98bcca5e17
Merge pull request #6050 from gunnarbeutner/feature/remove-boost-split
Replace boost::algorithm::split calls with String::Split
2018-02-26 08:37:46 +01:00
Gunnar Beutner 5dd0bc8f97 Use std::vector<std::string> for command-line arguments 2018-02-26 08:36:11 +01:00
Michael a0aa781417 Implement ability to make global zones configurable
This adds the ability to make global zones configurable during the node
wizard/setup. The implementation will add the given global zones to the default
included global zones.
2018-02-26 08:36:11 +01:00
Gunnar Beutner ef488a3ebc Replace boost::algorithm::split calls with String::Split 2018-02-26 08:27:18 +01:00
Jean Flach 691e3cfd57 Fix Windows reload 2018-02-23 17:01:46 +01:00
Jean Flach ef5e7e8510 Fix incorrect size of request limits
refs #6103
2018-02-23 14:29:18 +01:00
Jean Flach 6bb2ed4258 Merge branch 'feature/security-features' 2018-02-21 16:19:54 +01:00
Jean Flach 184580f705
Merge pull request #6103 from Icinga/fix/http-security-fixes
HTTP Security fixes
2018-02-21 15:04:02 +01:00
Jean Flach 85f45d9b94 Minor codestyle and doc changes 2018-02-21 14:52:44 +01:00
Jean Flach eda9bce8cb
Merge pull request #6104 from Icinga/fix/nullptr-deref
Fix nullptr dereferences
2018-02-21 13:56:09 +01:00
Jean Flach a71ab1e126 Rename macro RequireNotNull to REQUIRE_NOT_NULL 2018-02-21 13:47:46 +01:00
Noah Hilverling 64ffe4f840 Fix nullptr posibility in ProcessEvent 2018-02-21 13:47:46 +01:00
Noah Hilverling 948333225d Fix nullptr deref in cluster events 2018-02-21 13:47:46 +01:00
Noah Hilverling 6bebdf8a87 Add marco RequireNotNull
This is used to fix a number of possible nullptr dereferences
2018-02-21 13:47:46 +01:00
Jean Flach c8c193a9d8 Remove need for RunAsUser/Group
They are now read form the sysconfig file which is owned by root
2018-02-20 14:16:43 +01:00
Jean Flach 6ae376b7fd Add cli tool to send signals as Icinga user
fixes #5991
2018-02-20 14:16:43 +01:00
Noah Hilverling 2823ebb831 Limit HTTP body size 2018-02-20 13:32:04 +01:00
Noah Hilverling 817415f6a5 Fix requests not being closed correctly 2018-02-20 13:32:04 +01:00
Jean Flach 8ffa4f04a7 Add timeout for TLS handshakes 2018-02-20 13:32:04 +01:00
Jean Flach ee5954726d Authenticate API user before parsing body 2018-02-20 13:32:04 +01:00
Jean Flach 73b85bcccb Only read body from authenticated connections
This means we are not allowing unauthenticated requests anymore
2018-02-20 13:32:04 +01:00
Jean Flach 81c4004894 Fix nullptr deref 2018-02-20 13:32:04 +01:00
Gunnar Beutner a9f2a8de19 Add HTTP Header size limits 2018-02-20 13:32:04 +01:00
Gunnar Beutner 2789d1a859 Add validation for HTTP connection sizes 2018-02-20 13:32:04 +01:00
Jean Flach 54384528ed Fix crash in api user command 2018-02-20 09:45:55 +01:00
Gunnar Beutner 8a8d42b154 Remove redundant 'this->' 2018-02-19 08:08:16 +01:00
Jean Flach 0a0795f09d Code style 2018-02-16 11:47:13 +01:00
Gunnar Beutner 6e3347b5bf Remove debug output in ApiUserCommand::Run 2018-02-16 11:46:43 +01:00
Gunnar Beutner f4403daef8 Properly escape strings in ApiUserCommand::Run 2018-02-16 11:46:43 +01:00
Jean Flach 2bd35aa357 Improve api user command
--oneline can now be used to print out only the password hash string.
This can be used to update ApiUser passwords through the API. There is
also now a validation to make use salt does not contain a '$' which
would break verification.
2018-02-15 13:09:22 +01:00
Jean Flach df86245fe8 Fix crash when using incorrectly formatted password hash 2018-02-15 13:09:22 +01:00
Jean Flach 65a806f5dc Move new password functions into tlsutility 2018-02-15 13:09:22 +01:00
Jean Flach 92e2faaa08 Hash API password and comparison
fixes #4920
2018-02-15 13:09:22 +01:00
Michael Friedrich ad7e801db9 Fix crash with anonymous clients on certificate signing request and storing sent bytes
refs #5753
2018-02-09 17:18:20 +01:00
Jean Flach d578b742ac
Merge pull request #6026 from Icinga/feature/windows-flapping
Fix flapping support for Windows
2018-02-09 15:12:36 +01:00
Michael Friedrich 0789d21ec1
Merge pull request #6083 from Icinga/fix/configitem-type-log
Fix wrong type logging in ConfigItem::Commit
2018-02-09 14:57:45 +01:00
Michael Friedrich e3c27dd838
Merge pull request #6078 from Icinga/feature/random-check-metrics
Add more metrics and details to built-in 'random' check
2018-02-09 14:08:49 +01:00
Michael Friedrich 495b6906f7 Fix wrong type logging in ConfigItem::Commit 2018-02-09 14:04:50 +01:00
Michael Friedrich bdeba19a00 Add more metrics and details to built-in 'random' check
This helps us with demo graphs in Graphite/InfluxDB as well
as other historical views.

fixes #5787
2018-02-06 16:01:07 +01:00
Michael Friedrich 12471bf259 Allow to pass raw performance data in 'process-check-result' API action
This is how data is coming from Icinga Web 2 and still a valid input
type.

fixes #4786
2018-02-06 15:25:55 +01:00
Noah Hilverling e1e06ce767
Merge pull request #5988 from Icinga/fix/concurrent-checks-limit-cluster
Fix concurrent checks limit while using command_endpoint
2018-02-06 14:13:49 +01:00
Jean Flach 3d78c805e0 Deprecate CheckResultReader
fixes #6031
2018-02-02 13:51:20 +01:00
Markus Frosch 279e9fbe6c methods: Remove unused clrchecktask feature
fixes #6054
2018-02-01 15:52:12 +01:00
Gunnar Beutner e361b3c427 Implement support for frozen arrays and dictionaries 2018-01-30 12:22:04 +01:00
Gunnar Beutner b88149c455
Merge pull request #5979 from Icinga/feature/enhance-console-5595
Add quit, exit and help
2018-01-29 16:41:10 +01:00
Noah Hilverling 9cb7c9d7f7
Merge pull request #6020 from Icinga/fix/console-home-env
Fix crash when running 'icinga2 console' without HOME environment variable
2018-01-29 16:37:24 +01:00
Noah Hilverling 06e381ceea Add metrics about RemoteCheckQueue to Icinga check, API and logs
refs #4841
2018-01-29 16:07:35 +01:00
Noah Hilverling 97bd91dda2 Replace concurrent_checks in CheckerComponent by global MaxConcurrentChecks
refs #4841
2018-01-29 14:50:24 +01:00
Noah Hilverling e28277175b Implement concurrent checks limit for remote checks
fixes #4841
2018-01-29 14:50:14 +01:00
Jean Flach 9c9d190b9c
Merge pull request #6039 from Icinga/feature/improve-error-message
Improve location info for some error messages
2018-01-29 13:12:35 +01:00
Gunnar Beutner 1047e5ff3d Improve location info for some error messages 2018-01-29 10:04:58 +01:00
Michael Insel 12c4a1be1f Fix build error on Windows
The `kill` and `SIGUSR2` statements are not available on Windows.
2018-01-28 22:00:36 +01:00
Jean Flach 51d5a3e457 Fix missing include 2018-01-26 14:38:55 +01:00
Jean Flach cc73eed2af
Merge pull request #5992 from Icinga/feature/remove-includes
Remove unused includes
2018-01-25 09:13:02 +01:00
Gunnar Beutner 0cc9af6bee Remove duplicate semicolons 2018-01-24 12:07:52 +01:00
Gunnar Beutner 369af68ac2 Fix flapping support for Windows 2018-01-23 12:52:33 +01:00