Commit Graph

4240 Commits

Author SHA1 Message Date
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
Gunnar Beutner 94e6be1a65 Remove unused includes 2018-01-22 09:52:29 +01:00
Gunnar Beutner 5d464a9f7e
Merge pull request #5996 from Icinga/feature/watchdog-2287
Add systemd watchdog and adjust reload behaviour
2018-01-21 05:18:13 +01:00
Michael Friedrich 777d85cecc
Merge pull request #5964 from fedepires/fix/opentsdbwriter-host-tag-5963
OpenTSDB writer - Fix function for escaping host tag chars.
2018-01-20 12:17:25 +01:00
Gunnar Beutner 3e3658b7a5 Fix crash when running 'icinga2 console' without HOME environment variable
fixes #6019
2018-01-20 07:46:19 +01:00
Jean Flach c418a9611e Add systemd watchdog and adjust reload behaviour 2018-01-19 16:52:36 +01:00
Michael Friedrich cc3651ed56 Check notification state filters for problems only, not for Custom, etc.
refs #5952
2018-01-19 12:35:07 +01:00
Jean Flach 1da6b2c883 Fix whitespaces in CMakeLists files
Uses 2 space indentation as standard
2018-01-19 09:19:40 +01:00
Jean Flach 5ed9b063a8
Merge pull request #6010 from Icinga/feature/cluster-check-endpoints-long-output
Move the endpoint list into a new line for the 'cluster' check
2018-01-18 15:51:03 +01:00
Michael Friedrich 88f740b13c Move the endpoint list into a new line for the 'cluster' check
If you have many satellites/clients, the list view in Icinga Web 2
will get overly long. Moving the list for connected/not connected
endpoints into a new line makes this check more beautiful.

fixes #5444
2018-01-18 15:43:01 +01:00
Gunnar Beutner 7702cb056a
Merge pull request #6009 from Icinga/fix/build-fix-gcc
Build fix for ancient versions of GCC
2018-01-18 15:29:50 +01:00
Jean Flach 37e890f513
Merge pull request #6008 from Icinga/fix/cmake-3-0-compat
Fix compatibility with CMake < 3.1
2018-01-18 15:26:10 +01:00
Gunnar Beutner 9d436605f0 Fix compatibility with CMake < 3.1 2018-01-18 15:12:46 +01:00
Gunnar Beutner aa76ddf7f2 Build fix for ancient versions of GCC 2018-01-18 15:12:14 +01:00
Jean Flach f9b378edc6 Fix missing include
fixes #6001
2018-01-18 10:54:49 +01:00
Michael Friedrich a83ad4b7f2 Explicitly pass 1 or 0 for notification filters in DB IDO 2018-01-17 13:38:48 +01:00
Gunnar Beutner 71a032579b
Merge pull request #5995 from Icinga/fix/influxdb-requests
Fix InfluxDB requests
2018-01-17 10:28:15 +01:00
Gunnar Beutner 9ad5def531
Merge pull request #5994 from Icinga/fix/influxdb-template
InfluxDBWriter: Fix macro in template
2018-01-17 10:27:55 +01:00
Noah Hilverling b83af363ef Add missing string escaping to InfluxDB-Writer
fixes #5987
2018-01-17 10:26:09 +01:00
Noah Hilverling e19ae4e052 Fix HTTP response parsing for HTTP 1.1
refs #5987
2018-01-17 10:25:00 +01:00
Noah Hilverling 9768e03107 InfluxDBWriter: Fix macro in template 2018-01-17 09:23:48 +01:00
Gunnar Beutner 2a9dceb367 Use CMake object libraries for our libs 2018-01-17 04:28:21 +01:00
Gunnar Beutner c2fb9fe226 Use initializer lists for arrays and dictionaries 2018-01-16 12:27:44 +01:00
Michael Friedrich f99f5bcf17 Fix wrong schema constraint for fresh 2.8.0 installations
This fix is only needed for a fresh 2.8.0 setup, older versions
and upgrades to current do not need this (can be applied as idempotent
update).

fixes #5947
2018-01-16 09:49:46 +01:00
Gunnar Beutner 4e7b44e8c1
Merge pull request #5985 from Icinga/feature/ido-check-thresholds
Add query thresholds for the 'ido' check: Rate and pending queries
2018-01-16 08:06:22 +01:00
Michael Friedrich 0201f8ff64 Add query thresholds for the 'ido' check: Rate and pending queries
fixes #3924
2018-01-15 16:38:15 +01:00
Jean Flach e6412bf741
Improve console help text
Split continue and quit/exit commands
2018-01-15 15:31:53 +01:00
Jean Flach 74ae67d3b6
Update consolecommand.cpp
Rename to debug console in help
2018-01-15 14:40:31 +01:00
Jean Flach 0f6dc1289b Add quit, exit and help 2018-01-15 14:12:22 +01:00
Michael Friedrich 211a07f49a Add 'ttl' support for check result freshness via REST API
The `process-check-result` action can now optionally set the
`ttl` parameter. This overrules the configured freshness
check (check_interval).

The main idea behind this is to allow the external sender
to specify when the next check result is coming in.

For example, a backup script which should be run every
24h can specify the exact expected next check result.

The addition to the CheckResult class is necessary to
forward the check result throughout the cluster and
calculate the `next_check` value on each node. This
allows us to send in a check result on a satellite,
and the master determines the freshness and possible
notifications/state changes for Icinga Web 2.
2018-01-15 13:54:11 +01:00
Michael Friedrich 50106057bf Remove obsolete locks in Livestatus; apply style guide to DB IDO 2018-01-15 13:39:34 +01:00
Michael Friedrich 403ab5c357 Eliminate time(NULL) in StatusDataWriter 2018-01-15 13:39:34 +01:00
Michael Friedrich ef7c80959d More cleanup for compat filters in DB IDO 2018-01-15 13:39:34 +01:00
Michael Friedrich 4da3a50711 Clean up DB IDO events code 2018-01-15 13:39:34 +01:00
Michael Friedrich 636cf62d3a DB IDO: Clean up code and group CompatUtility calls 2018-01-15 13:39:34 +01:00
Michael Friedrich d672df3f2c DB IDO: Don't send empty columns in queries 2018-01-15 13:39:34 +01:00
Michael Friedrich e5462ea3d1 DB IDO: Remove check_command_args column
The populated value is not entirely correct, and pulls in lots
of compat code.
2018-01-15 13:39:34 +01:00
Michael Friedrich 9de233630a Move CompatUtility::GetCheckableInNotificationPeriod() logic into Livestatus feature 2018-01-15 13:39:34 +01:00
Michael Friedrich 7a012c062a Move CompatUtility::GetHostStateString() logic into DB IDO and CompatLogger features 2018-01-15 13:39:34 +01:00
Michael Friedrich 5222f7d058 GelfWriter should write the host notification output
No idea why there was a hardcoded unreachable message inside.
2018-01-15 13:39:34 +01:00
Michael Friedrich 915d0417c9 Move CompatUtility::GetHostCurrentState() logic into DB IDO and StatusData features 2018-01-15 13:39:34 +01:00
Michael Friedrich 48516560bc Move the IDO specific compat notification filter logic into the feature 2018-01-15 13:39:34 +01:00
Michael Friedrich d373b03907 Drop CompatUtility::GetCheckable*Interval() and hardcode their minute representation in compat features 2018-01-15 13:39:34 +01:00
Michael Friedrich fb76287d39 Clean header includes in CompatUtility class 2018-01-15 13:39:34 +01:00
Michael Friedrich 1473957bc2 Add inventory as comments where the left-over functions are actually used. 2018-01-15 13:39:34 +01:00
Michael Friedrich e3a899a9ac Drop CompatUtility::GetCheckableCheckPeriod() 2018-01-15 13:39:34 +01:00
Michael Friedrich ce8bfdfa5a Move CompatUtility::GetCheckableInCheckPeriod() into Livestatus feature 2018-01-15 13:39:34 +01:00
Michael Friedrich 15e3524e42 Move notification options wrapper into StatusDataWriter
That's the only location which requires the old mapping.
2018-01-15 13:39:34 +01:00
Michael Friedrich 87b99c17b5 Drop CompatUtility::GetCheckResultPerfdata() 2018-01-15 13:39:34 +01:00
Michael Friedrich 906c1accaa Move more compatibility mappings into DB IDO 2018-01-15 13:39:34 +01:00
Michael Friedrich 2478c4d053 Move ConvertTimestamp functionality into DB IDO
This is the only place where the timestamp is split into
sec and usec.
2018-01-15 13:39:34 +01:00
Michael Friedrich f2fe165ccb Drop useless CompatUtility::GetCustomAttributeConfig() wrapper 2018-01-15 13:39:34 +01:00
Michael Friedrich b5f5d167dc Drop dead CompatUtility::GetCustomAttributeConfig 2018-01-15 13:39:34 +01:00
Michael Friedrich cbea0c13f5 Drop Freshness wrappers from CompatUtility class 2018-01-15 13:39:34 +01:00
Michael Friedrich db6ed405e4 Remove more redundant wrappers from CompatUtility class 2018-01-15 13:39:34 +01:00
Michael Friedrich 5466197d29 Drop CompatUtility::*Command helpers 2018-01-15 13:39:34 +01:00
Michael Friedrich b4af0971af Drop dead code in Livestatus feature 2018-01-15 13:39:34 +01:00
Michael Friedrich 2d1f772a6e Replace CompatUtility's enabled wrappers with native implementation getters
Many conversions were not necessary, or could be dealt inside the actual
feature. libcompat and liblivestatus can take care about such specifics
on their own, lib_db_ido doesn't need boolean conversion in fields, that
is done inside the db driver.
2018-01-15 13:39:34 +01:00
Michael Friedrich 334f633b0a Drop CompatUtility::GetCheckableHasBeenChecked() and use Checkable::HasBeenChecked() 2018-01-15 13:39:34 +01:00
Michael Friedrich 3847e37df1 Drop CompatUtility::GetCheckableAcknowledgementType()
This already returns an integer.
2018-01-15 13:39:34 +01:00
Michael Friedrich 7bf2e07032 Move CompatUtility::GetCheckableProblemHasBeenAcknowledged() into feature specific dumps 2018-01-15 13:39:34 +01:00
Michael Friedrich 92c565d744 Move CompatUtility::GetCheckableCheckType() into IDO/Livestatus features
It is just boolean mapping to numbers, each modules does that in a sort of different way.

DB IDO automatically transforms boolean to numbers.
Livestatus would return JSON which keeps true booleans, but requires a number (just a guess,
there is no spec for this message format).
2018-01-15 13:39:34 +01:00
Michael Friedrich 70af1a3545 Move CompatUtility::GetHostAlias into DB IDO host object method
This is the only place where this mapping is used.
2018-01-15 13:39:34 +01:00
Michael Friedrich 6c68ef0955 Fix non-unity builds with the icinga check
refs #5958
2018-01-12 11:04:54 +01:00
Michael Friedrich 92a279c234
Merge pull request #5971 from Icinga/feature/remove-demo
Remove libdemo and libhello
2018-01-11 13:52:01 +01:00
Michael Friedrich 36a10cb65d
Merge pull request #5970 from Icinga/feature/stack-allocate-configitembuilder
Allocate ConfigItemBuilder objects on the stack
2018-01-11 13:50:23 +01:00
Michael Friedrich 01aee7954e
Merge pull request #5969 from Icinga/feature/wq-stats-mutex
Remove the WorkQueue::m_StatsMutex instance variable
2018-01-11 13:38:40 +01:00
Michael Friedrich de5f2b01c4
Merge pull request #5968 from Icinga/feature/ringbuffer-mutex
Update the RingBuffer class to use a regular mutex instead of ObjectLock
2018-01-11 13:37:35 +01:00
Michael Friedrich 47bc4e6b5c
Merge pull request #5967 from Icinga/feature/lazy-accessors
Avoid accessing attributes for validators where not necessary
2018-01-11 13:36:29 +01:00
Gunnar Beutner 0354f34e5a Remove libdemo and libhello 2018-01-11 13:29:11 +01:00
Gunnar Beutner a36e847c6c Allocate ConfigItemBuilder objects on the stack 2018-01-11 10:52:26 +01:00
Gunnar Beutner e8876f3b22 Remove the WorkQueue::m_StatsMutex instance variable 2018-01-11 10:48:19 +01:00
Gunnar Beutner ddf09263af Update the RingBuffer class to use a regular mutex instead of ObjectLock 2018-01-11 10:40:19 +01:00
Gunnar Beutner 21254fb610 Avoid accessing attributes for validators where not necessary 2018-01-11 08:20:16 +01:00
Gunnar Beutner 0b03ab854e Avoid unnecessary casts in the JSON encoder 2018-01-11 07:31:08 +01:00
Federico Pires 5cdc7c03f2 Fix function for escaping host tag chars.
refs #5963
2018-01-10 11:07:11 -03:00
Gunnar Beutner e490b3d2d2 Fix macro warning from the icinga check 2018-01-09 09:16:59 +01:00
Gunnar Beutner 1a9d8448ea
Merge pull request #5958 from Icinga/feature/icinga-check-min-version
Add minimum version check to the built-in icinga command
2018-01-09 05:32:17 +01:00
Gunnar Beutner 26bc541e1d
Merge pull request #5959 from Icinga/feature/api-pretty
API: Add 'pretty' parameter for beautified JSON response bodies
2018-01-09 05:12:31 +01:00
Gunnar Beutner 0c2fd8e1d8
Merge pull request #5957 from mcktr/fix/year-2017-reference
Change a bunch more copyright headers for 2018
2018-01-09 04:58:25 +01:00
Michael Friedrich d073a807b0 API: Add 'pretty' parameter for beautified JSON response bodies
fixes #5877
2018-01-08 20:55:36 +01:00
Michael Friedrich b1aeff7569 Add minimum version check to the built-in icinga command
fixes #3998
2018-01-08 19:44:54 +01:00
Michael Insel 6eccdff621 Change a bunch more copyright headers for 2018
This changes more copyright headers for 2018.
2018-01-08 18:05:12 +01:00
Gunnar Beutner d9010c7b9f Avoid mutex contention in the config parser 2018-01-08 15:59:55 +01:00
Gunnar Beutner 71ee5ac698 Build fix 2018-01-04 12:33:51 +01:00
Gunnar Beutner f05459b40c Move inline functions to their .cpp files 2018-01-04 12:24:58 +01:00
Gunnar Beutner 91c256261a Apply clang-tidy fix 'modernize-use-default-member-init' 2018-01-04 12:24:58 +01:00
Gunnar Beutner e0174b8f3f Apply clang-tidy fix 'modernize-return-braced-init-list' 2018-01-04 12:24:57 +01:00
Gunnar Beutner e0c350b8a5 Apply clang-tidy fix 'modernize-use-nullptr' 2018-01-04 12:24:57 +01:00
Gunnar Beutner becfa85094 Apply clang-tidy fix 'modernize-use-emplace' 2018-01-04 12:24:57 +01:00
Gunnar Beutner e3ad0be769 Apply clang-tidy fix 'modernize-use-auto' 2018-01-04 12:24:57 +01:00
Gunnar Beutner d6062eefbf Apply clang-tidy fix 'modernize-raw-string-literal' 2018-01-04 12:24:57 +01:00
Gunnar Beutner 621eed3f13 Apply clang-tidy fix 'modernize-pass-by-value' 2018-01-04 12:24:57 +01:00
Gunnar Beutner 6da7d48d25 Apply clang-tidy fix 'modernize-loop-convert' 2018-01-04 12:24:57 +01:00
Gunnar Beutner 9ca682496c Apply clang-tidy fix 'modernize-use-override' 2018-01-04 12:24:57 +01:00
Gunnar Beutner ac155d1dda Apply clang-tidy fix 'modernize-redundant-void-arg' 2018-01-04 12:24:57 +01:00
Gunnar Beutner 41f0fbfd30 Add the final keyword to methods 2018-01-04 05:45:40 +00:00
Gunnar Beutner efe99a3e5e Add the final keyword to classes 2018-01-04 05:20:20 +00:00
Gunnar Beutner 6a1ac6a902 Fix incorrect ::Start call 2018-01-03 18:57:01 +01:00
Michael Friedrich cd33b8b508
Merge pull request #5936 from Icinga/feature/source-lists
Clean up source lists in the CMakeLists.txt files
2018-01-03 11:59:35 +01:00
Gunnar Beutner 75e2473616 Clean up source lists in the CMakeLists.txt files 2018-01-03 11:47:46 +01:00
Michael Friedrich 0e6f4b1966
Merge pull request #5939 from Icinga/fix/build-fix-wheezy
Build fix for Debian wheezy
2018-01-03 11:28:57 +01:00
Gunnar Beutner fe8572d75b Remove inline methods and use explicit template instantiation to minimize the number of weak symbols 2018-01-03 11:04:58 +01:00
Michael Friedrich 27a2d95338
Merge pull request #5932 from Icinga/feature/copyright-header
Fix copyright header in cli/troubleshootcommand.hpp
2018-01-03 10:56:07 +01:00
Gunnar Beutner abe3f8a959 Build fix for Debian wheezy 2018-01-03 10:32:33 +01:00
Gunnar Beutner 803dc0c05d Fix copyright header in cli/troubleshootcommand.hpp 2018-01-03 01:19:02 +01:00
Gunnar Beutner 2f953d6204 Implement shim for libmysqlclient and libpq 2018-01-02 23:29:48 +01:00
Gunnar Beutner 90496b5456 Build libraries as static libraries 2018-01-02 23:29:48 +01:00
Michael Friedrich f843f92ee3
Merge pull request #5928 from Icinga/fix/build-fix-msvc
Fix build problem with MSVC
2018-01-02 14:01:15 +01:00
Michael Friedrich 1a7e7be6a4
Merge pull request #5925 from Icinga/fix/missing-variable-name
Fix missing variable name in ApiListener::Start
2018-01-02 13:48:30 +01:00
Michael Friedrich e08da4267b
Merge pull request #5930 from Icinga/feature/boost-function
Replace boost::function with std::function
2018-01-02 13:46:23 +01:00
Michael Insel 158ae2188e Change copyright header for 2018 2018-01-02 12:08:55 +01:00
Gunnar Beutner dac71b3960 Replace boost::function with std::function 2018-01-02 08:55:50 +01:00
Gunnar Beutner 6737a0fa8f Make MSVC happy 2018-01-01 09:24:28 +01:00
Gunnar Beutner 4ed19d5cf6 Fix missing variable name in ApiListener::Start
fixes #5924
refs #5807
2017-12-31 19:12:33 +01:00
Michael Friedrich 8bdd16bb42 Do not replace colons in plugin output
This affects all interfaces which are using the CompatUtility class
format helpers for short and long output.

fixes #4785
2017-12-21 09:49:34 +01:00
Jean Flach 2636e6a77a Whitespace fix
What does this change?
* Remove use of spaces for formatting
These could be found by using `grep -r -l -P '^\t+ +[^*]'
* Removal of training whitespaces
* A few lines longer than 120 chars
2017-12-20 14:53:52 +01:00
Jean Flach f40f366e9e Remove unnecessary inline statements
fixes #5886
2017-12-20 13:22:38 +01:00
Jean Flach 6d9a0fe3a9 Remove string_iless
It's unused
2017-12-20 11:18:28 +01:00
Jean Flach 0791a8ddde
Merge pull request #5887 from Icinga/fix/windows-build-fix
Windows build fix
2017-12-20 10:50:27 +01:00
Gunnar Beutner b63caaa756 Workaround for GCC bug 51494 2017-12-20 08:02:17 +01:00
Gunnar Beutner 02dc3a9507 Workaround for GCC bug 61321 2017-12-20 08:02:17 +01:00
Gunnar Beutner adc892bde7 Windows build fix 2017-12-20 08:01:04 +01:00
Gunnar Beutner 4866f777cc Avoid unnecessary allocations for script frames 2017-12-18 13:40:29 +01:00
Gunnar Beutner 80b72cfb1c Avoid allocations in ScriptUtils::Match 2017-12-18 13:40:21 +01:00
Jean Flach e0bd3d183f Fix package error message
fixes #5879
2017-12-18 11:04:40 +01:00
Michael Friedrich 5b44bfb125
Merge pull request #5868 from Icinga/feature/expression-ptr
Use std::unique_ptr for Expression objects
2017-12-18 09:54:30 +01:00
Gunnar Beutner 5d96196f08 Replace incorrect fclose() call with pclose() 2017-12-15 22:25:08 +01:00
Gunnar Beutner ab8386cf5c Use std::unique_ptr for Expression objects 2017-12-15 10:44:54 +01:00
Michael Friedrich 20d7221dfe
Merge pull request #5865 from Icinga/fix/uuid
Add missing initializer in Utility::NewUniqueID()
2017-12-15 09:08:26 +01:00
Gunnar Beutner 85f3865718
Merge pull request #5861 from Icinga/fix/invalid-memory-access
Fix incorrect memory access
2017-12-15 06:25:10 +01:00
Gunnar Beutner 3403844b74
Merge pull request #5863 from Icinga/fix/glob-5859
Fix glob error handling
2017-12-14 19:08:54 +01:00
Gunnar Beutner a6887b1ae9 Add missing initializer in Utility::NewUniqueID() 2017-12-14 19:07:14 +01:00
Jean Flach e45ede6271 Fix glob error handling
fixes #5859
2017-12-14 17:04:35 +01:00
Gunnar Beutner 1ad83886ac Replace a few more NULLs with nullptr 2017-12-14 15:37:20 +01:00
Gunnar Beutner 0629ea0a98 Fix incorrect memory access 2017-12-14 15:05:04 +01:00
Gunnar Beutner 1bf12c9685
Merge pull request #5857 from Icinga/fix/compiler-warnings
Fix compiler warnings
2017-12-14 13:49:25 +01:00
Gunnar Beutner 3c5af89d5f Fix compiler warnings 2017-12-14 09:15:37 +01:00
Gunnar Beutner ff0b6ba630 Fix build problems with Visual Studio 2017 2017-12-14 08:55:36 +01:00
Gunnar Beutner 42744fde5b Remove extraneous whitespace 2017-12-14 08:50:09 +01:00
Gunnar Beutner 96e214221d Remove unused variables 2017-12-14 08:50:09 +01:00
Gunnar Beutner d42f81ed11 Fix compiler warning introduced by #5753 2017-12-12 11:55:30 +01:00
Gunnar Beutner 3ce68b49c7 Fix compiler warning introduced by #5811 2017-12-12 11:54:47 +01:00
Gunnar Beutner 75def4b074
Merge pull request #5753 from Icinga/fix/ringbuffer-does-not-get-updated-if-nothing-is-written-5750
Fix that RingBuffer does not get updated and add metrics about communication between endpoints
2017-12-12 11:32:18 +01:00
Gunnar Beutner 40f9431413 Fix performance issues for InfluxdbWriter 2017-12-12 10:39:55 +01:00
Noah Hilverling 5519626f84 Add metrics about communication between endpoints
refs #5509
2017-12-11 10:20:25 +01:00
Michael Friedrich a72a7b7c89
Merge pull request #5760 from Icinga/fix/http-client-bugs
Fix incorrect socket handling for the HTTP client
2017-12-08 12:51:50 +01:00
Michael Friedrich aec231b119
Merge pull request #5811 from Icinga/feature/update-constants-conf-api-setup
Update NodeName/ZoneName constants with 'api setup'
2017-12-07 17:35:46 +01:00
Michael Friedrich f8e102c15a Fix newline terminator for bulk requests in ElasticsearchWriter
This enables compatibility with 6.x.

This commit also fixes an incorrect HTTP response parsing
which could lead into false positives.

Analysis and fix in https://github.com/Icinga/icinga2/issues/5795#issuecomment-349920587

fixes #5795
2017-12-07 11:11:03 +01:00
Michael Friedrich da056b052b
Merge pull request #5827 from Icinga/feature/replace-statsfunction-with-function
Replace StatsFunction with Function
2017-11-30 21:28:32 +01:00
Michael Friedrich a238613fdc
Merge pull request #5825 from Icinga/feature/boost-assign
Replace boost::assign::list_of with initializer lists
2017-11-30 21:20:46 +01:00
Gunnar Beutner a344f11e6c Replace StatsFunction with Function 2017-11-30 19:02:25 +01:00
Gunnar Beutner 83f17b5bfa Replace boost::assign::list_of with initializer lists 2017-11-30 18:09:38 +01:00
Gunnar Beutner 325e4a2fb9 Use nullptr instead of <Type>::Ptr() 2017-11-30 17:47:09 +01:00
Gunnar Beutner 3c60fbf75d Use std::vector::emplace_back instead of std::vector::push_back 2017-11-30 17:47:09 +01:00
Gunnar Beutner 59fca5d5ac Use std::vector instead of std::set where appropriate 2017-11-30 17:47:09 +01:00
Gunnar Beutner 2e87c280ed Use initializer lists instead of std::vector::push_back 2017-11-30 17:47:09 +01:00
Gunnar Beutner ebc11d41a5 Tidy up INITIALIZE_ONCE use in console.cpp a bit 2017-11-30 17:47:09 +01:00
Gunnar Beutner 63fd6e3905 Get rid of INITIALIZE_ONCE for the ExternalCommandProcessor 2017-11-30 17:47:09 +01:00
Gunnar Beutner 9ce950b0f1 Replace boost::ref/boost::cref with std::ref/std::cref 2017-11-30 17:47:09 +01:00
Gunnar Beutner df8266631d Replace boost::tuple with std::tuple 2017-11-30 17:41:02 +01:00
Gunnar Beutner 160ab21e59 Replace CheckResult::StaticInitialize with a lambda function 2017-11-30 17:41:02 +01:00
Gunnar Beutner 6739023678 Dynamically create and destroy the timer thread 2017-11-30 17:41:02 +01:00
Gunnar Beutner 6d09efc907 Use std::shared_ptr instead of boost::shared_ptr 2017-11-30 17:41:00 +01:00
Gunnar Beutner 245feca0e7 Move the Timer::Holder class to timer.cpp 2017-11-30 17:39:22 +01:00
Gunnar Beutner 300d424459 Use std::promise instead of boost::promise 2017-11-30 17:39:22 +01:00
Gunnar Beutner 7d7eaa8dd3 Replace boost::thread with std::thread 2017-11-30 17:39:20 +01:00
Gunnar Beutner c6e36723d5
Merge pull request #5819 from Icinga/feature/avoid-func-call-allocations
Avoid unnecessary allocations in the FunctionCallExpression class
2017-11-29 14:24:46 +01:00
Gunnar Beutner db6a1fcdb7 Avoid unnecessary allocations in the FunctionCallExpression class 2017-11-29 14:11:09 +01:00
Gunnar Beutner d5961bb76c Re-implement WrapFunction() using C++11 features 2017-11-29 11:53:45 +01:00
Gunnar Beutner f3c825cb86
Merge pull request #5803 from Icinga/feature/cxx11-std-bind
Replace boost::bind/boost::function with std::bind/std::function
2017-11-29 08:28:44 +01:00
Michael Friedrich f267135711 Update NodeName/ZoneName constants with 'api setup'
This commit also moves the constants.conf backup logic
into NodeUtility::UpdateConstant() where it belongs.

Logging has been slightly adopted too.

fixes #5763
2017-11-28 13:38:53 +01:00
Michael Friedrich 8e65aa0677
Merge pull request #5804 from Icinga/fix/update-repository-message-error
Silence UpdateRepository message errors
2017-11-28 11:27:12 +01:00
Gunnar Beutner 1006ea0433 Fix missing variable name which can lead to segfaults 2017-11-27 16:06:59 +01:00
Gunnar Beutner 858873b940 Replace boost::bind/boost::function with std::bind/std::function 2017-11-27 15:15:11 +01:00
Gunnar Beutner 6b3931973e
Merge pull request #5555 from Icinga/feature/ecc-certs
Implement support for ECC certificates
2017-11-27 15:11:04 +01:00
Jean Flach 27aaa10ee9
Merge pull request #5718 from Icinga/fix/verify-error-codes-and-returned-log-messages-in-api-actions-5550
API: Fix http status codes
2017-11-27 14:41:29 +01:00
Noah Hilverling e31b236cba API: Fix http status codes
fixes #5550
2017-11-27 14:06:38 +01:00
Michael Friedrich cf16324320 Silence UpdateRepository message errors
Mixed setups with 2.8 and 2.7 will log this error every time
a new message is received. While this is truly an error,
it just fills the log to infinity. Should be used for debug only.

fixes #5776
2017-11-27 12:09:42 +01:00
Gunnar Beutner 3a8d4c5920
Merge pull request #5716 from spaolo/fix/livestatus-empty-result-with-nonmatch-filter-5626
add bogus zero reply in livestatus when aggregate and non matching filter
2017-11-27 10:35:05 +01:00
Gunnar Beutner 4fcb1af8fa
Merge pull request #5746 from sni/livestatus_should_return_empty_lists
livestatus: custom variables return empty arrays instead of strings
2017-11-27 10:33:32 +01:00
Gunnar Beutner 57e74372d3
Merge pull request #5675 from froehl/feature/influxdbwriter-perf-unit-5627
Add pdv unit to influxdbwriter if not empty + doc
2017-11-27 10:32:44 +01:00
Gunnar Beutner 55b1cce248
Merge pull request #5744 from Icinga/feature/embedded-dummy-check
Implement DummyCheckTask and move dummy into embedded in-memory checks
2017-11-27 10:25:43 +01:00
Gunnar Beutner 734efb3569
Replace spaces with tabs 2017-11-27 10:24:12 +01:00
Gunnar Beutner 81ae14cd17
Merge pull request #5729 from Icinga/fix/correct-node-wizard-output-formatting
Correct node wizard output formatting
2017-11-27 10:19:12 +01:00
Gunnar Beutner 1b4206e5b1
Merge pull request #5725 from Icinga/feature/proper-uuids
Use real UUIDs for Utility::NewUniqueID
2017-11-27 10:18:52 +01:00
Gunnar Beutner 093e08e3da
Merge pull request #5388 from leeclemens/fix/clang-misdetection
Handle mis-detection with clang on RHEL/CentOS 7
2017-11-27 10:17:52 +01:00
Gunnar Beutner 65bc62266d Fix error reporting for 'icinga2 console -r' 2017-11-24 12:56:42 +01:00
Michael Friedrich 35f0df3fe5 Disable Flapping detection on Windows 2017-11-17 12:59:07 +01:00
Gunnar Beutner 52692a008e Fix incorrect socket handling for the HTTP client 2017-11-15 09:53:38 +01:00
Noah Hilverling c10f0a639b RingBuffer: Add CalculateRate()
refs #5750
2017-11-14 11:06:56 +01:00
Noah Hilverling 054faa54d5 Return bytes sent/written in SendMessage() and WriteStringToStream()
refs #5509
2017-11-14 08:18:23 +01:00
Noah Hilverling 2acaccd028 Fix that RingBuffer does not get updated if nothing is written
refs #5750
2017-11-13 16:17:59 +01:00
Sven Nierlein 7bf5b3ff42 livestatus: custom variables return empty arrays instead of strings
livestatus queries for custom variables should return an empty list, ex: []
instead of an empty string if there are no variables.

Signed-off-by: Sven Nierlein <sven@nierlein.de>
2017-11-10 14:53:37 +01:00
Michael Friedrich 6d9a0b7145 Implement DummyCheckTask and move dummy into embedded in-memory checks
This replaces the previous "dummy" CheckCommand, and the user won't
notice it. Provided performance data will be parsed the same way.

This saves a shell fork and check_dummy execution.

We're relying on this when creating cluster checks with Icinga 2 DSL
and more. If one does not have the plugins installed, this then also works.

fixes #5740
2017-11-09 20:19:31 +01:00
Michael Friedrich 7c0a09cfb6 Rename ElasticWriter to ElasticsearchWriter
This better reflects its purpose as otherwise it would imply
that you need Elastic Stack for it. Graylog also reads from
Elasticsearch instances, this could serve as additional integration
here.
2017-11-09 15:33:10 +01:00
Paolo Schiro 490b822f38 add a bogus zero reply in livestatus if aggregate filter does not match, fix I#5626 2017-11-09 01:32:30 +01:00
Jean Flach f4a1747e14
Merge pull request #5732 from Icinga/fix/flapping
Fix flapping calculation and events

fixes #5720
2017-11-08 15:10:55 +01:00
Michael Friedrich 41d54029c8 Fix log messages for flapping 2017-11-08 12:12:27 +01:00
Noah Hilverling e6f94ff203 Correct node wizard output formatting 2017-11-08 09:04:25 +01:00
Lee Clemens 9fdfa5ee10 Handle mis-detection with clang on RHEL/CentOS 7
C++11 features available: BOOST_NO_CXX11_HDR_TUPLE

refs #5257
2017-11-08 08:34:45 +01:00
Michael Friedrich 42b1e7ce79 Use the entry_time for icinga_comments updates
This follows all other queries in their where condition
using entry_time for comments/downtimes.
2017-11-07 16:37:12 +01:00
Michael Friedrich e0e7f9ae6b DB IDO: Force users to upgrade the schema to avoid workaround fixes/missing indexes 2017-11-07 16:37:12 +01:00
Jean Flach e83ddbd8b2 Remove unnecessary keys from where clauses 2017-11-07 16:37:12 +01:00
Eric Lippmann 6f6703042e ido: Drop unused instance_id indices from comments, downtimes and their related history tables 2017-11-07 16:37:12 +01:00
Jean Flach 1632415370 Fix commenthistory
refs #5492
2017-11-07 16:37:12 +01:00