Michael Friedrich
fe0bf161cb
Add TLS support for DB IDO PostgreSQL feature
...
fixes #6211
2018-04-18 15:30:06 +02:00
Michael Friedrich
c7b6488e90
Merge pull request #6217 from Icinga/fix/reschedule-checks
...
Fix check behavior on restart
2018-04-17 20:59:03 +02:00
Michael Friedrich
a8b5d8e64a
Merge pull request #6205 from Icinga/feature/api-verbose-errors
...
API: Unify verbose error messages
2018-04-17 16:40:11 +02:00
Jean Flach
1e0f67d778
Fix ES 5 support
2018-04-17 09:17:20 +02:00
Jean Flach
fd5d4c5974
Move _type into url
2018-04-17 09:17:20 +02:00
Michael Friedrich
975ac47f8e
Fix Elastic 6 support
...
fixes #5905
2018-04-17 09:17:20 +02:00
Jan Beich
106be295eb
Explicitly use long with boost::posix_time
...
In file included from lib/base/base_unity.cpp:61:
lib/base/timer.cpp:295:31: error: no matching conversion for functional-style cast from 'double' to 'boost::posix_time::milliseconds' (aka 'subsecond_duration<boost::posix_time::time_duration, 1000>')
l_TimerCV.timed_wait(lock, boost::posix_time::milliseconds(wait * 1000));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from lib/remote/remote_unity.cpp:19:
lib/remote/eventqueue.cpp:111:30: error: no matching conversion for functional-style cast from 'double' to 'boost::posix_time::milliseconds' (aka 'subsecond_duration<boost::posix_time::time_duration, 1000>')
if (!m_CV.timed_wait(lock, boost::posix_time::milliseconds(timeout * 1000)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from lib/checker/checker_unity.cpp:1:
lib/checker/checkercomponent.cpp:128:26: error: no matching conversion for functional-style cast from 'double' to 'boost::posix_time::milliseconds' (aka 'subsecond_duration<boost::posix_time::time_duration, 1000>')
m_CV.timed_wait(lock, boost::posix_time::milliseconds(wait * 1000));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/date_time/time_duration.hpp:270:30: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'double' to 'const boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>' for 1st argument
class BOOST_SYMBOL_VISIBLE subsecond_duration : public base_duration
^
/usr/local/include/boost/date_time/time_duration.hpp:270:30: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'double' to 'boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>' for 1st argument
/usr/local/include/boost/date_time/time_duration.hpp:286:59: note: candidate template ignored: disabled by 'enable_if' [with T = double]
typename boost::enable_if<boost::is_integral<T>, void>::type* = 0) :
^
2018-04-15 04:06:11 +00:00
Michael Friedrich
b53685db59
Fix error handling on config package delete
2018-04-12 19:24:08 +02:00
Jean Flach
0e8971b48a
Merge pull request #6218 from terra-nova/issue-5277
...
Fix issue #5277
2018-04-12 14:50:11 +02:00
Michael Friedrich
026ce17fb6
Merge pull request #6209 from Icinga/feature/unify-master-zone-names
...
Unify zone name settings in node setup/wizard; add connection-less mode for node setup
2018-04-11 20:10:39 +02:00
fbachmann
3f75ccbe75
fix bug in Downtime::IsInEffect() method that would always return false if the triggering window for a flexible downtime had passed
2018-04-10 20:16:09 +02:00
Jean Flach
1a9c1591c0
Fix check behavior on restart
...
This patch changes the way checkresults are handled during a restart.
1. Check results coming in during a shutdown are ignored.
2. Upon start, checks which should have ran (next_check in the past),
are re-scheduled within the first minute.
This new behavior means there will be no more "Unknown - Terminated"
checkresults during a restart and checks with high check_interval will
be run earlier if they were already scheduled to run. The downside is
that after Icinga2 was down for a while, there will be a lot of checks
within the first minute. Our max concurrent check should take care of
this though.
2018-04-10 15:52:50 +02:00
Michael Friedrich
f2ce5b549c
Merge pull request #6207 from Icinga/fix/nscp-api-multiple-params
...
Fix multiple parameter problems for check_nscp_api
2018-04-09 10:07:04 +02:00
Michael Friedrich
7c0ef80279
Implement support for connection-less node setup (no csr auto-signing connect)
2018-04-06 19:49:01 +02:00
Michael Friedrich
9f2694bdc1
Unify setting the local and parent zone names for node wizard/setup
2018-04-06 19:18:19 +02:00
Michael Friedrich
abdc479d6a
Unify setting the master zone name for 'node wizard|setup` in master mode
2018-04-06 17:29:37 +02:00
Michael Friedrich
194c99a86e
Allow to disable brackets for the Url class and Format()
...
This commit also adds unit tests.
refs #5706
2018-04-06 15:22:17 +02:00
Michael Friedrich
2c5e142172
Add ApplicationVersion built-in constant
...
refs #5784
2018-04-06 13:41:22 +02:00
Michael Friedrich
1b31ec8378
Fix verbose errors in config files handler
2018-04-06 12:55:03 +02:00
Michael Friedrich
17846e04d8
Fix verbose error message in modify object handler
2018-04-06 12:52:17 +02:00
Michael Friedrich
6b2decb44b
Fix verbose error handling in variable and template query handlers
2018-04-06 12:50:06 +02:00
Noah Hilverling
24752f3733
Merge pull request #6204 from Icinga/fix/api-create-object-exists-errors
...
API: Check if objects exists and return proper error message
2018-04-06 12:47:31 +02:00
Michael Friedrich
3e83e94c15
Fix object and status query verbose errors
2018-04-06 12:47:20 +02:00
Michael Friedrich
bd7598cb1b
API: Check if objects exists and return proper error message
2018-04-06 12:32:27 +02:00
Michael Friedrich
c4a6ab0211
Add diagnostic_information as verbose error to config object handlers
2018-04-06 12:26:49 +02:00
Jean Flach
6d81c5c34f
Merge pull request #6199 from Icinga/fix/action-http-code
...
Return 500 when no api action is successful
2018-04-06 11:20:43 +02:00
Jean Flach
f133c7914e
Build fix
2018-04-06 10:43:33 +02:00
Michael Friedrich
a00197e919
Refactor actions error messages
2018-04-06 10:30:27 +02:00
Michael Friedrich
4bf731fc16
More config stages refactoring
2018-04-06 10:13:08 +02:00
Noah Hilverling
22c3a7933e
Fix API action status codes
2018-04-06 10:06:15 +02:00
Michael Friedrich
36cdf8a0d2
More refactoring of config packages errors
2018-04-06 09:53:54 +02:00
Michael Friedrich
de2d18d85d
Enhance error handling in type query handler
2018-04-05 17:23:26 +02:00
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