Commit Graph

4099 Commits

Author SHA1 Message Date
Gunnar Beutner 5179faceab Implement new script functions: path_exists, glob and glob_recursive 2017-09-18 13:59:03 +02:00
Gunnar Beutner 80421e4619 Build fix for OpenSSL < 1.0.2
refs #5450
2017-09-12 13:09:16 +02:00
Michael Friedrich 578dcbe861 Add some more verbose logging details
refs #5450
2017-09-12 12:52:50 +02:00
Michael Friedrich 501ade374c Remove debug logging, fix ticket path, enhance logging
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 043106242d Remove API stubs for now
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 88e57f7fd4 Implement support for cleaning up certificate requests
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich 0a85977831 Node Wizard: Tell the user to put ca.crt if no connection to parent is selected
This also fixes the choice tree for connection-less questions
and prevents empty tickets being stored on disk.

refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 2fec16952d Remove unused code
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner f43516a097 Implement the --verbose option for "node wizard"
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich e424017c15 Refactor the node wizard/setup CLI commands
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich 181b91b759 Enhance logging for certificate requests
Examples:
https://github.com/Icinga/icinga2/issues/5450#issuecomment-327479874

This also adds code comments where applicable.

refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich ce88e89cc0 Fix wrong cert path for CLI commands
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner a7fe6467ba Improve log messages for the 'pki save-cert' command
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich 8040bda2e1 Change directory layout to /var/lib/icinga2/{ca,certs,certificate_requests}
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich 88b4a54e6b Fix ticket hash calculation for indirectly connected clients
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner c02742925e Refactor PkiUtility class
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich 1e7860f2b1 Implement ApiListener::Get*Dir() functions
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 6a533796e5 Update output format for the new CLI commands
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 774936bfe8 Implement support for pki::UpdateCertificate messages
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 623208d617 Implement support for forwarding certificate requests
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 03f5ccd252 Implement support for cleaning up expired API callbacks
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner cc43dc734b Refuse to sign certificate if it already has the correct chain and doesn’t expire soon
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 440f848c7c Improve error handling for JSON-RPC calls
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner a8cc0a601b Add missing _unlink() calls for Windows
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner cb49ac1264 Delete ticket file once we have a signed certificate
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 4cfbf6eb17 Disconnect all clients when we update our own certificate
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 439251532e Implement support for saving client tickets
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 192502f9e5 Implement support for reloading SSL certificates without a restart
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 0ec07bce51 Implement support for updating client certificates
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner cdff792c11 Make the ticket optional in 'icinga2 node wizard'
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 8d05fc99c9 Improve message formatting for the 'icinga2 node wizard' command
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner a4684d1bfd Implement support for sending pki::RequestCertificate messages in the cluster
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner b08f5477dc Change PKI path from /etc/icinga2/pki to /var/lib/icinga2/pki
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner abdd4b307b Implement the 'ca list' and 'ca sign' CLI commands
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 510e2d622a Implement support for ticket-less certificate requests
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich 1d75a15d8e ElasticWriter: Implement support for TLS connections (HTTP proxy)
This commit also enhances the log messages.

refs #5538
2017-09-12 12:52:49 +02:00
Michael Friedrich 95fbd75df8 ElasticWriter: Add basic auth support for Elasticsearch behind an HTTP proxy
refs #5538
2017-09-12 12:52:49 +02:00
Michael Friedrich 344b047ea0 Move Base64 class into libbase
refs #5538
2017-09-12 12:52:49 +02:00
Michael Friedrich 386b9de042 Drop obsolete code
refs #4054
2017-09-12 12:52:49 +02:00
Jean Flach e19d3f57c7 Add ElasticWriter
fixes #5538
2017-09-12 12:52:49 +02:00
Michael Friedrich 9e17ff874b Logs: Change config sync update to highlight an information, not an error
fixes #5484
2017-09-12 12:52:49 +02:00
Gunnar Beutner b316de8aea Implement additional logging for the JsonRpc class 2017-09-12 12:52:49 +02:00
Jean Flach de51966f52 Don't sent scheme and hostname in request 2017-09-06 16:01:02 +02:00
Gunnar Beutner 10691db5b1 Implement support for ECC certificates 2017-09-06 12:29:30 +02:00
Gunnar Beutner 3385122bc3 Add subjectAltName extension for all non-CA certificates 2017-09-06 12:25:36 +02:00
Federico Cuello a6b4bd48e2 Fix parameter order for Acknowledge{,Svc,Host}Problem in API actions/external commands
It was preventing email notifications with default settings, as `persistent` defaults to false and therefore `notify` was not set.

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-09-05 08:50:22 +02:00
Michael Friedrich 261bd93c0b Implement get_services(host {name,object}) and add host object support for get_service()
This includes some debug console examples too which involve advanced
map() and filter examples for better readability.

refs #4912
2017-08-28 19:54:26 +02:00
Michael ac0fdd7144 Change more loglines for checkables so checkable is quoted
refs #5528
2017-08-24 13:35:55 +02:00
Thomas Widhalm de9a097a97 Change loglines for checkables so checkable is quoted 2017-08-23 19:11:46 +02:00
Michael Friedrich e88b97079c API: Add execution_{start,end} attribute to 'process-check-result' action
fixes #5002
2017-08-21 17:20:56 +02:00
Michael Friedrich 445ee949da Merge pull request #5523 from Icinga/feature/enhance-client-connect-logging
Enhance client connect/sync logging and include bytes/zone in logs
2017-08-21 11:36:52 +02:00
Michael Friedrich 778c742b75 Merge pull request #5524 from Icinga/fix/cluster-fifo-optimize
Change FIFO::Optimize() frequency for large messages
2017-08-21 11:36:32 +02:00
Michael Friedrich 873a553a4f Enhance client connect/sync logging and include bytes/zone in logs
refs #5513
2017-08-21 11:31:24 +02:00
Michael Friedrich 732a5849d5 Change FIFO::Optimize() frequency for large messages
refs #5513
2017-08-21 11:24:39 +02:00
Michael Friedrich d075665d1b Merge pull request #5486 from Icinga/feature/remove-deprecated-graphite-legacy-mode
Graphite: Remove deprecated legacy schema mode
2017-08-17 20:06:47 +02:00
Michael Friedrich cb94b218a6 Merge pull request #5504 from spjmurray/fix/influxdb_timeouts_5460_5469
Fix TLS Race Connecting to InfluxDB
2017-08-17 18:25:17 +02:00
Michael Friedrich 52dcce972f Livestatus: Fix crash with empty stats columns
refs #5078
refs #5503
2017-08-16 15:28:15 +02:00
Michael Friedrich a43ae941b6 Merge pull request #5497 from Icinga/fix/api-object-query-type-error
API: Fix requested attrs/joins/meta type errors in object query response
2017-08-15 12:52:33 +02:00
Simon Murray abc3652b00 Fix TLS Race Connecting to InfluxDB
Rather than leaving stale connections about we tried to poll for data coming in
from InfluxDB and timeout if it didn't repond in a timely manner.  This introduced
a race where the timeout triggers, a context switch occurs where data is actually
available and the TlsStream spins trying to asynchronously notify that data is
available, but which never gets read.  Not only does this use up 100% of a core,
but it also slowly starves the system of handler threads at which point metrics
stop being delivered.

This basically removes the poll and timeout, any TLS socket erros should be
detected by TCP keep-alives.

Fixes #5460 #5469
2017-08-14 16:20:49 +01:00
Gunnar Beutner 6bc79b6b37 Merge pull request #5503 from Icinga/fix/livestatus-stats-groups
Fix grouping for Livestatus queries with 'Stats'
2017-08-14 16:19:18 +02:00
Gunnar Beutner 5402c1d610 Fix grouping for Livestatus queries with 'Stats'
refs #5078
2017-08-14 15:30:06 +02:00
Noah Hilverling 5b9337e130 Process: Fix JSON parsing error on process helper crash 2017-08-14 08:27:04 +02:00
Stefar77 6b66e332fb API: Fix requested attrs/joins/meta type errors in object query response
fixes #5377

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-08-11 16:23:29 +02:00
Gunnar Beutner 4d943c7f5c Implement additional functions for printing values with LLDB/GDB 2017-08-10 08:26:22 +02:00
Michael Friedrich eb5e299c4b Graphite: Remove deprecated legacy schema mode
This commit includes some code cleanup too.

fixes #4992
2017-08-09 18:52:35 +02:00
Michael Friedrich f6691b4936 Fix config validation for DB IDO categories 'DbCatEverything'
refs #5238
2017-08-09 16:31:03 +02:00
Michael Friedrich 3201d92fbd DB IDO: Fix host's unreachable state in history tables
fixes #5405
2017-08-07 11:10:02 +02:00
Michael I 3e54e34147 Update featurelistcommand.cpp
refs #5431
2017-07-25 13:35:20 +02:00
Gunnar Beutner c8b4fee843 Make rlimits configurable by adding three variables: RLimitFiles, RLimitProcesses and RLimitStack
refs #5367
2017-06-23 12:42:12 +02:00
Michael Friedrich 6397fedc3d Remove experimental redis feature before 2.7 release 2017-06-20 11:52:24 +02:00
Michael Friedrich 6ab5839f2f Merge pull request #5360 from Icinga/fix/wheezy-livestatus-dbl_max
livestatus/minaggregator: Buildfix for Debian wheezy
2017-06-19 17:27:11 +02:00
Markus Frosch e8681658b6 livestatus/minaggregator: Buildfix for Debian wheezy 2017-06-19 08:42:56 +02:00
mcktr 53908b7080 Fixed missing closing bracket in CLI command pki new-cert. 2017-06-18 15:13:16 +02:00
Michael Friedrich 67bd6d1813 Merge pull request #5316 from gitmopp/patch-1
Fix for stats min operator

fixes #3410
2017-06-16 21:02:17 +02:00
Michael Friedrich 6036ec20f5 Build fix for Debian Wheezy
fixes #5350
2017-06-16 16:57:05 +02:00
Michael Friedrich c6b375dcbd Merge pull request #5239 from Icinga/feature/check_nscp-4721
Add NSCP API check plugin for NSClient++ HTTP API
2017-06-13 21:56:58 +02:00
Jean Flach 39c24e9ec9 Add check_nscp_api plugin for NSClient++ API checks
refs #4721
2017-06-13 21:17:16 +02:00
Gunnar Beutner f9feb41877 Implement support for handling exceptions in user scripts 2017-06-13 14:03:41 +02:00
Michael Friedrich 2a4359d7e8 Windows build fix for InfluxdbWriter
refs #5219
fixes #5334
2017-06-07 14:16:15 +02:00
Michael Friedrich 89ac5b2fff GelfWriter: Add 'check_command' to CHECK RESULT/* NOTIFICATION/STATE CHANGE messages
This allows for much more easy filtering in Graylog web
similar to Graphite or InfluxDB and their template dashboards.
2017-06-06 20:23:26 +02:00
Michael Friedrich 41a400f552 Merge pull request #5330 from Icinga/feature/graphite-stats
GraphiteWriter: Add 'connected' to stats; fix reconnect exceptions
2017-06-06 20:13:33 +02:00
Michael Friedrich f42b820007 GraphiteWriter: Add 'connected' to stats; fix reconnect exceptions 2017-06-06 19:50:37 +02:00
Michael Friedrich f10815efa2 GelfWriter: Use async work queue and add feature metric stats
fixes #4532
2017-06-06 19:48:23 +02:00
gitmopp 65ed89c48d Fix for stats min operator
Fix for bug #3410
2017-06-01 19:30:04 +02:00
Gunnar Beutner 7ca485f63c Improve validation for attributes which must not be 'null' 2017-05-30 14:47:28 +02:00
Gunnar Beutner c9039e1850 Merge pull request #5292 from Icinga/fix/openssl-0.9.8-subjectaltname
Build fix for OpenSSL 0.9.8 and stack_st_X509_EXTENSION

fixes #5292
2017-05-29 09:45:34 +02:00
Gunnar Beutner 1fd2695e02 Fix compiler warnings
refs #5287
2017-05-29 09:13:19 +02:00
mcktr 9e1016dd4f Fix missing apostrophe in notification log
refs #5294
2017-05-26 17:58:04 +02:00
Michael Friedrich dab2522acc InfluxDB: Optimize work queue event handling
refs #5219
2017-05-26 17:11:13 +02:00
Michael Friedrich d0dcb8a658 ApiListener: Handle zero JSON-RPC WQs gracefully for stats
refs #5266
refs #5133
2017-05-26 17:02:36 +02:00
Michael Friedrich 28395b32f0 GraphiteWriter: Use a workqueue for event processing
This also adds reconnect handling and exceptions.

refs #5132
refs #5133
refs #5280
2017-05-26 15:18:14 +02:00
Michael Friedrich 79c45ea811 Build fix for OpenSSL 0.9.8 and stack_st_X509_EXTENSION 2017-05-26 13:16:20 +02:00
Michael Friedrich 647d82094f InfluxDB: Remove obsolete logger, now implemented in WorkQueue class
refs #5280
refs #5133
2017-05-24 17:01:46 +02:00
Michael Friedrich 3a5d4f3c8d DB IDO: Remove obsolete logger, now implemented in WorkQueue class
refs #5280
refs #5133
2017-05-24 16:52:15 +02:00
Michael Friedrich d366a63510 Add API & Cluster stats to /v1/status & icinga check performance metrics
refs #5133
2017-05-24 16:21:05 +02:00
Michael Friedrich b7358334fc Add feature stats to 'icinga' check as performance data metrics 2017-05-23 17:28:54 +02:00
Michael Friedrich 456cfdc636 Implement WorkQueue metric stats and periodic logging
refs #5133
2017-05-23 16:00:21 +02:00
Michael Friedrich 52d986d02b Revert "Add LogstashWriter feature"
This reverts commit f5a971f5b0.

refs #4054
2017-05-23 12:05:01 +02:00
Michael Friedrich 4c7660190f Revert "Review LogstashWriter feature implementation"
This reverts commit bd5ff814f2.

refs #4054
2017-05-23 12:04:08 +02:00
Gunnar Beutner fa874e659b Build fix for I2_LEAK_DEBUG 2017-05-22 11:42:47 +02:00
Gunnar Beutner 7130e5e387 Merge pull request #5264 from Icinga/feature/array-match
Implement new array match functionality

fixes #5264 
fixes #5263
2017-05-16 14:22:35 +02:00
Gunnar Beutner 958d3982c5 Add 'mode' argument for match, regex and cidr_match 2017-05-16 13:22:10 +02:00
Michael Friedrich 79dcb789c2 Move PerfdataValue() class into base library
This is required for libremote and ApiListener stats in #5133
2017-05-15 16:32:29 +02:00
Gunnar Beutner dc9f129060 Implement the Array#any and Array#all protoype functions 2017-05-15 15:59:44 +02:00
Gunnar Beutner 1b77f4b336 Implement the Dictionary#values prototype function 2017-05-15 15:54:48 +02:00
Michael Friedrich 37f7c7a294 Merge pull request #5262 from Icinga/fix/graylog-perfdata
Fix performance data processing in GelfWriter feature

fixes #4666
2017-05-15 14:08:39 +02:00
Michael Friedrich 2338db5f6a Fix performance data processing in GelfWriter feature
Includes fixes for possible crashes on empty check results.

fixes #4666
2017-05-15 13:46:43 +02:00
Gunnar Beutner 7e3b664140 Add missing ->GetName() calls
fixes #5256
2017-05-15 11:11:08 +02:00
Michael Friedrich f282126bb4 Don't allow acknowledgement expire timestamps in the past
fixes #5250
2017-05-15 10:23:21 +02:00
Alexander A. Klimov 8bf3ab0285 Produce an unknown check result if we failed to kill the process
refs #4981
2017-05-12 15:25:22 +02:00
Michael Friedrich 3753f53a67 Fix cluster crash w/ config sync
refs #5212
2017-05-12 10:48:11 +02:00
Michael Friedrich ec6247ca35 Merge pull request #5247 from Icinga/feature/cluster-log-message
Add target object in cluster error messages to debug log

fixes #4288
2017-05-11 16:13:01 +02:00
Michael Friedrich 0f1aa23575 Add target object in cluster error messages to debug log
fixes #4288
2017-05-11 16:10:40 +02:00
Gunnar Beutner b366483466 Add subjectAltName X509 ext for certificate requests 2017-05-11 15:38:17 +02:00
Michael Friedrich 8d56f8e951 Fix that host downtimes might be triggered even if their state is Up
If the checkresult's state is 1, this is internally mapped to Up.
The added downtime will check for triggers and might cause a wrong
downtime start event.

refs #5202
2017-05-11 15:05:50 +02:00
Gunnar Beutner 1c255140b5 Merge pull request #5242 from Icinga/feature/object-decl-expr
Allow expressions for the type in object/template declarations

fixes #5242
2017-05-11 14:30:29 +02:00
Gunnar Beutner d05b7c4178 Allow expressions for the type in object/template declarations 2017-05-11 14:21:30 +02:00
Simon Murray fc2c2d9a29 Verbose InfluxDB Error Logging
On a non 204 response we parse the HTTP response until complete e.g. do the headers
and body, not just the header.  A new interface is added to the response to allow us
to determine the body size so that it may be read out and buffered.  The body is
parsed and any error message printed out.  In the event that the parsing fails the
raw body is dumped out; better than nothing!

fixes #4411

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-05-11 12:13:41 +02:00
Rune Darrud 273ca6a2cc Fix persistent comments for Acknowledgements
fixes #4818

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-05-10 17:10:22 +02:00
Michael Friedrich e0bfe0a5d0 Remove deprecated "DbCat1 | DbCat2" notation for DB IDO categories
This allows for a specific config validation function.
2017-05-10 14:32:53 +02:00
Michael Friedrich 452f8a1f0d Merge pull request #5042 from mbrgm/upgrade-docs-link
Add link to upgrade documentation to DB IDO log message
2017-05-09 16:17:58 +02:00
Gunnar Beutner c611a31670 Fix code style issues
refs #5219
2017-05-09 09:01:08 +02:00
Gunnar Beutner f9b34cca30 Fix compiler warning
refs #5219
2017-05-08 08:47:27 +02:00
Michael Friedrich 3649a5a0d7 InfluxdbWriter: Use a work queue for async message processing; add stats log/api 2017-05-05 17:56:51 +02:00
Alexander A. Klimov c45529b407 Report failure to kill check command after exceeding timeout
refs #4981
2017-05-05 17:31:14 +02:00
Michael Friedrich f9e0fd2e3e Beautify some log message for cluster config sync
refs #5212
2017-05-04 15:21:32 +02:00
Gunnar Beutner dadc21e12a Merge pull request #5225 from Al2Klimov/bugfix/mysql_init-mysql_error-3664
Don't call mysql_error() after a failure of mysql_init()

fixes #3664
2017-05-04 14:58:55 +02:00
Alexander A. Klimov 0da226163f Don't call mysql_error() after a failure of mysql_init()
refs #3664
2017-05-04 12:22:34 +02:00
Gunnar Beutner f9f3358d09 Make sure all objects are set to 'active' before calling the Start() method
fixes #5224
2017-05-04 10:37:34 +02:00
Gunnar Beutner 4134f7fe42 Make sure modified attributes are applied before calling the objects' Start method
refs #4696
2017-05-03 12:02:19 +02:00
Jean Flach 7c70d51b27 Add a few extra log messages
fixes #5212
2017-05-02 10:54:06 +02:00
Jean Flach e29e25aefd Fix timestamp path
fixes #5211
2017-05-02 10:30:42 +02:00
Michael Friedrich 35f6f60390 Docs: Fix invalid/redirected URLs
fixes #5150
2017-04-28 17:02:13 +02:00
Michael Friedrich 21ce07046c DB IDO: Disable external command history by default
That's not used in Icinga Web 2 and might lock the feature
on cleanup.

refs #4788
2017-04-28 09:37:27 +02:00
Gunnar Beutner b62241e0ba Remove redundant #include
refs #5168
2017-04-27 09:24:37 +02:00
Gunnar Beutner d03d09160a Clean up the IsAbsolutePath patch
refs #5168
2017-04-27 05:31:44 +02:00
Jean Flach 293625c17b Fix absolute include paths for windows
fixes #5168
2017-04-24 15:39:21 +02:00
Michael Friedrich d7b939d99b Redis: Dump severity field to icinga:{host,service}state
refs #5117
2017-04-20 16:48:00 +02:00
Andreas Scherbaum 775bee8fe1 Replace http:// links with https:// links where a secure website exists
Leave out tests and third party tools, and license strings

fixes #5151

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-04-20 11:33:27 +02:00
Gunnar Beutner 0f81c357c0 Implement source_location attribute for the ConfigObject class
refs #5120
2017-04-19 15:30:11 +02:00
Michael Friedrich dc7980586b Implement severity attribute for host/service objects
refs #5117
2017-04-13 16:09:31 +02:00
Michael Friedrich 17615ac444 Redis: Dump host and service state events
fixes #5163
2017-04-12 16:58:08 +02:00
Michael Friedrich e4ae789a7c Set zone attribute to no_user_modify for API POST requests
fixes #5166
2017-04-12 09:25:28 +02:00
Gunnar Beutner c32badaff5 Add missing base class call for ScheduledDowntime::ValidateRanges()
fixes #5146
2017-04-06 11:25:40 +02:00
Jean Flach 1459970986 Add missing header
fixes #5135
2017-04-05 10:26:54 +02:00
Thomas Gelf ed2ebdf0d0 RedisWriter: publish Icinga 2 stats as a simple "keepalive"
Use case: a reader subscribes to config changes. As they happen rarely, chances
are good that the connection will time out in the meantime. Now, a reconnect is
easy - but you wouldn't know whether you missed any config changes. So you are
required to issue a new sync to be on the safe side. Given a 60sec connection
timeout (think: SSL layer, firewalls etc) when no traffic happens this would be
too expensive.

Some kind of a heartbeat available for subscription would allow subscribers to
artificially keep the connection alive. As a first simple solution to this I'd
suggest to publish CIB data, that might be useful anyways.

refs #4991
fixes #5098

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-03-29 10:17:03 +02:00
Michael Friedrich 2f84ff84b2 Fix object deletion on restart
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich f76f655dc1 Rename source file
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich af3e2c429f Add exception handler for Redis WorkQueue
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich a5556cbaae Add log message for config/status dump end for Redis
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich 91b8decaac Fix possible crash on startup status updates in Redis
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich 3310cc30ae Fix hash value for empty custom attributes
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 9de4c8bc58 Fix memory leak in RedisWriter::ExecuteQuery
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner dac9775b93 Add COUNT parameter for SCAN
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 28b2345a3b Updated remaining queries to use ExecuteQuery()
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 844e2bf68c Replace existing queries with ExecuteQuery() calls
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich fcd9e3666d Implement config dump/update/delete publishing; fix runtime created object creation
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 75bfd775b9 Implement RedisWriter::ExecuteQuery
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich f29a82bcfe Add properties and vars config checksums
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 6178ca3886 Use GetHostService() instead of casts
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 6b48a36192 Implement the db_index property for the RedisWriter class
fixes #5081
2017-03-29 10:17:03 +02:00
Gunnar Beutner 1bbdd082b0 Use transactions for the initial config and status updates
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner c64d296edb Make sure to use pretty-printed checksums in JSON blobs; remove semicolons
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 2d9be77260 Clean up the code a bit
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 0c25d14d0c Fix crash in SHA1
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 2773d93d40 Update log message
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich 0b466aabc0 Start working on checksum config dump
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner 50310fb5bc Add missing arguments
refs #5087
2017-03-28 13:24:21 +02:00
Michael Friedrich 900b33dc5d IDO: Do not terminate Icinga 2 if the database schema version does not match
Instead, log an error and continue.

fixes #4440
2017-03-28 10:16:07 +02:00
Gunnar Beutner 5d45c74be3 Improve function metadata by adding arguments
fixes #5087
2017-03-27 14:43:19 +02:00
Gunnar Beutner 95093bae3e Move log message
refs #5094
2017-03-27 11:01:14 +02:00
Gunnar Beutner a73c1580ca Don't try to remove comments that were statically configured
fixes #5094
2017-03-27 10:46:35 +02:00
Gunnar Beutner 2d6434e96a Improve log message in ConfigObjectUtility::DeleteObjectHelper
refs #5094
2017-03-27 10:46:35 +02:00
Michael Friedrich bd5ff814f2 Review LogstashWriter feature implementation
refs #4054
2017-03-20 14:30:03 +01:00
Kai Goller f5a971f5b0 Add LogstashWriter feature
This adds the UdpSocket class.

refs #4054
2017-03-20 14:30:03 +01:00
Michael Friedrich 06434b3e59 IDO: Fix where condition for downtime history updates
fixes #5080
2017-03-20 13:19:37 +01:00
Gunnar Beutner 94aeaa2e5c Don't use raw pointers in boost::bind
refs #4991
2017-03-16 15:33:59 +01:00
Gunnar Beutner dd7862f08a Add missing freeReplyObject calls
refs #4991
2017-03-16 15:09:41 +01:00
Gunnar Beutner 62c1a64788 Merge DEL queries into one query
refs #4991
2017-03-16 15:09:41 +01:00
Gunnar Beutner 00eba25ad7 Add ASSERTs for the Redis queries
refs #4991
2017-03-16 15:09:41 +01:00
Gunnar Beutner f862923dc7 Remove some log messages
refs #4991
2017-03-16 15:09:41 +01:00
Gunnar Beutner 18e6474f1e Make sure all Redis tasks are executed on the WQ threads
refs #4991
2017-03-16 14:23:31 +01:00
Gunnar Beutner 3a5caf15eb Remove redundant check
refs #4991
2017-03-16 13:58:35 +01:00
Gunnar Beutner 04be7a1f1e Implement event handlers for config and status updates
fixes #5072
fixes #5073
refs #4991
2017-03-16 13:58:31 +01:00
Gunnar Beutner df05e24d52 Fix attribute type filter
refs #4991
2017-03-16 13:58:28 +01:00
Gunnar Beutner 0eada26b04 Only export config objects to Redis
refs #4991
2017-03-16 13:58:23 +01:00
Michael Friedrich e5c0295c9e Redis: First attempt of a reconnect config dump
refs #5072
refs #4991
2017-03-16 13:58:18 +01:00
Gunnar Beutner 96b3c7d90b Get rid of event IDs for Redis
fixes #5067
2017-03-15 15:10:58 +01:00
Gunnar Beutner 1cab2d7b16 Fix incorrect handling for SCAN results
fixes #5065
2017-03-15 14:55:41 +01:00
Gunnar Beutner 4da5f7d52c Add another log message
refs #4991
2017-03-15 14:55:37 +01:00
Gunnar Beutner a21da31ef6 Add missing free call
refs #4991
2017-03-15 14:55:19 +01:00
Gunnar Beutner 645e260f9b Make function names available in the API
fixes #5064
2017-03-15 11:18:08 +01:00
Gunnar Beutner 39f1b4589a Improve handling for missing start_time and finish_time values
fixes #5062
2017-03-15 10:41:08 +01:00
Gunnar Beutner 34c69d9556 Only send events to Redis when there is at least one subscriber
refs #4991
2017-03-14 15:19:02 +01:00
Gunnar Beutner 10ddcbe4d3 Implement support for expiring subscriptions
refs #4991
2017-03-14 15:19:02 +01:00
Michael Friedrich 3e98e3fb2c Better error handling and fixes
refs #4991
2017-03-14 15:18:39 +01:00
Michael Friedrich d3e3159e6b Implement event subscriptions
refs #4991
2017-03-14 14:47:06 +01:00
Michael Friedrich a8587f5697 Ensure to check the auth command return value
refs #4991
2017-03-14 14:46:58 +01:00
Michael Friedrich d3a1f53647 API: Fix error code for invalid 'attrs' type for POST requests
fixes #5043
2017-03-01 11:33:43 +01:00
Marius Bergmann 38d7f9a19e Add link to upgrade documentation to log message
When there's a schema version mismatch after an upgrade, the following
message is logged:

```
Schema version 'x.y.z' does not match the required version 'x.y.z' (or
newer)! Please check the upgrade documentation.
```

After reading this log message, users have to search for the upgrade
section in the docs in order to perform the necessary steps.

I added the URL for the relevant sections to the log message, so users
can simply click/copy it.
2017-02-28 17:02:10 +01:00
Sebastian Marsching 118d36f384 Fixed return code check in CRL loading
The code for loading CRLs was incorrectly assuming that OpenSSL's
X509_LOOKUP_load_file function returns zero on success, but actually it
returns one on success. This commit fixes this return code check so
that a CRL can be loaded.

fixes #5040

Signed-off-by: Gunnar Beutner <gunnar.beutner@icinga.com>
2017-02-28 14:08:24 +01:00
Michael Friedrich 0dfe571669 DB IDO: Fix actual_end_time update for non-triggered flexible downtimes
refs #5033
2017-02-24 15:29:39 +01:00
Michael Friedrich 60f334df52 Fix notify/sticky parameter handling in 'acknowledge-problem' API action
refs #13939
2017-02-23 12:30:28 +01:00
Michael Friedrich 1ad26b8524 IDO MySQL: Don't immediately execute an upsert insert query callback
refs #4603
2017-02-22 17:36:17 +01:00
Michael Friedrich 6f1efff46c Add more debug build logging to IDO MySQL
refs #4603
2017-02-22 17:35:57 +01:00
Gunnar Beutner b3e727e1e7 Fix spelling mistake
refs #4991
2017-02-21 11:38:50 +01:00
Gunnar Beutner 06c2a4088d Ensure that only child processes for checks are reniced
fixes #4989
2017-02-21 11:31:07 +01:00
Gunnar Beutner a75d7d69ec Fix incorrect argument for Application::GetExePath
fixes #4709
2017-02-21 11:00:18 +01:00
Rune Darrud e6ae582104 Add a log message for RedisWriter on start and stop
fixes #5006

Signed-off-by: Gunnar Beutner <gunnar.beutner@icinga.com>
2017-02-15 14:33:04 +01:00
Gunnar Beutner 6d620e75ed Improve reconnect behavior for the RedisWriter class
refs #4991
2017-02-13 14:21:13 +01:00
Gunnar Beutner 8ad567ce99 Implement UNIX domain socket support for the RedisWriter class
refs #4991
2017-02-13 14:21:13 +01:00
Michael Friedrich 3993276b74 Add a removal note for enable_legacy_mode for GraphiteWriter
refs #4992
2017-02-10 11:33:32 +01:00
Gunnar Beutner 31650b0beb Add RedisWriter class
refs #4991
2017-02-09 16:40:11 +01:00
Alexander A. Klimov 3cc8982053 Unify the JSON structures of responses to authorized and unauthorized requests
refs #4984
fixes #4988

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-02-09 13:51:40 +01:00
Michael Friedrich 363a7f9dac Fix unauthorized response in REST API when header requests JSON
fixes #4984
2017-02-09 09:13:58 +01:00
Edgar Fuß 1fc6d8c899 Fix for traditional glob(3) behaviour
fixes #4778
2017-02-09 09:08:48 +01:00
Edgar Fuß 7414df4ef8 Fix lsb_release/sw_vers errors on NetBSD
fixes #4779
2017-02-08 17:47:09 +01:00
Michael Friedrich 905f208332 Log a warning for missing API permissions
fixes #4945
2017-02-08 17:05:53 +01:00
Michael Friedrich f8fa4db454 Hide stack traces for warning log level in the ExternalCommandListener feature
fixes #3483
2017-02-08 16:11:58 +01:00
Michael Friedrich e5f5284838 Add logging for started/stopped features
fixes #3557
2017-02-08 15:40:27 +01:00
Michael Friedrich 336deea02f Ensure that api/log is created before attempting to write the current replay log
fixes #4977
2017-02-08 13:06:31 +01:00
Michael Friedrich e975c55fbd Fix wrong column in Livestatus hostgroups table
fixes #4983
2017-02-08 13:01:28 +01:00
Simon Murray 041772fb28 PerfData: Server Timeouts for InfluxDB Writer
Exposes the TCP socket used to communicate with the InfluxDB server.  When we are
expecing a response we can now call poll() on the socket to wait for data to become
available.  If it doesn't in a user configurable timeout period we abort the request.

fixes #4927
fixes #4941

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-02-07 17:06:46 +01:00
Michael Friedrich d4277b4d70 Require that max_check_attempts is greater than 0
fixes #4832
2017-02-07 13:27:27 +01:00
Benedikt Heine 9337135249 Give only CLI warnings if feature is already disabled
refs #121
refs #4909

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-02-02 14:17:47 +01:00
Michael Friedrich 4658cb391e Fix logging for discarded cluster messages
fixes #4930
fixes #4969
2017-02-02 13:47:18 +01:00
Gunnar Beutner 446490ceb3 Fix crash in ConfigItem::RemoveIgnoredItems
fixes #4952
2017-02-01 12:56:53 +01:00
Markus Frosch c34feb1fa5 ido/mysql: Remove timestamp defaults for compliance with MySQL 5.7
refs #4950
2017-01-24 17:14:06 +01:00
Markus Frosch 84f9824109 ido/mysql: Fix IDO upgrade compliance against MySQL 5.7
refs #4950
2017-01-24 17:13:49 +01:00
Michael Friedrich 763fb64fff Update issue tracker to GitHub
fixes #4923
2017-01-17 16:50:22 +01:00
Gunnar Beutner 060e20f5a3 Clean up the patch for the crash issue in the Process class
fixes #13655
2017-01-16 14:15:42 +01:00
Lucas Fairchild-Madar 9fa3f3b122 Fix crash when sending/receiving messages longer than 4 kB to/from the child process for the Process class
refs #13655

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-01-16 14:15:39 +01:00
Gunnar Beutner 751ca67e0a Ignore SIGPIPE earlier in the start-up process
fixes #13567
2017-01-12 10:50:43 +01:00
Markus Frosch 399827c62e Fix IDO MySQL schema for MySQL >= 5.7
NOTE: A schema update doesn't seem to be needed, MySQL is updating
internally.

The problem comes up on fresh schema imports on MySQL 5.7.

fixes #13633
2017-01-11 17:37:17 +01:00
Michael Friedrich e9db716b26 Ensure that PostgreSQL timestamps are UTC
fixes #13617
2017-01-11 17:34:09 +01:00
Michael Friedrich b51a2c1c25 MacroProcessor: Add the argument name for set_if error messages
fixes #13345
2017-01-11 12:26:09 +01:00
Michael Friedrich b7caf0820d Ensure that *.icinga.com is used everywhere
fixes #13897
fixes #13277
2017-01-10 17:19:12 +01:00
Michael Friedrich fb8f4105ad Block SIGPIPE signal for check processes
refs #13567
2016-12-15 11:47:07 +01:00
Michael Friedrich b10a6b75a8 API: Change log level for console endpoint
fixes #11329
2016-12-08 00:59:24 +01:00
Michael Friedrich c036bfaa94 Fix wrong help string in node setup CLI command
fixes #13419
2016-12-06 11:22:24 +01:00
Gunnar Beutner fe12a10c89 Remove redundant check
refs #13409
2016-12-06 08:57:27 +01:00
Michael Friedrich 338f5c0be8 Fix crash in CreateObjectHandler::HandleRequest()
fixes #13409
refs #11684
2016-12-05 16:37:31 +01:00
Michael Friedrich d076617caa Revert "DB IDO: Make sure that all result sets are processed before sending another query"
This reverts commit b028ff2c33.

refs #12597
refs #13321
2016-11-25 15:53:07 +01:00
Michael Friedrich dc2992443f Deprecate the client 'bottom up' mode w/ node update-config
This includes deprecation warnings and migration documentation.

fixes #13255
2016-11-23 15:33:28 +01:00
Michael Friedrich b028ff2c33 DB IDO: Make sure that all result sets are processed before sending another query
fixes #12597
2016-11-22 15:56:05 +01:00
Gunnar Beutner 56e9a23a65 Don't try to delete Downtime objects that were statically configured
fixes #13275
2016-11-22 15:13:43 +01:00
Gunnar Beutner 78fa197b9f Properly unmask signals for child processes
fixes #13269
2016-11-22 13:53:58 +01:00
Michael Friedrich ca7f195165 Remove debug log message
refs #11541
2016-11-18 14:00:41 +01:00
Michael Friedrich 1679488e8e DB IDO: Bump schema version to 1.14.2
fixes #10502
fixes #13221
2016-11-18 11:39:14 +01:00
Eric Lippmann e4a95647bb ido-pgsql: Upgrade timestamp columns to timestamp without time zone
refs #13221
2016-11-18 11:11:50 +01:00
Eric Lippmann 27f7aa3d9d ido-pgsql: Bump schema version to 1.14.2
refs #13221
2016-11-18 11:11:50 +01:00
Eric Lippmann 69d3016bef ido-pgsql: Use timestamp without time zone in from_unixtime and to_timestamp functions
refs #13221
2016-11-18 11:11:50 +01:00
Eric Lippmann aadfedc3d4 ido-pgsql: Change timestamp columns to timestamp without time zone
refs #13221
2016-11-18 11:11:50 +01:00
Eric Lippmann 0b0107ad04 ido-pgsql: Add yet empty v2.6.0 schema upgrade script
refs #10502
2016-11-18 11:11:50 +01:00
Eric Lippmann 69cb383b34 ido-mysql: Upgrade timestamp columns to default to NULL
refs #10502
2016-11-18 11:09:50 +01:00
Eric Lippmann bdb3f88b25 ido-mysql: Bump schema version to 1.14.2
refs #10502
2016-11-18 11:09:50 +01:00
Eric Lippmann 0b9046a030 ido-mysql: Don't set the SQL mode to NO_AUTO_VALUE_ON_ZERO
This mode is obsolete because timestamp columns now default to NULL instead of '0000-00...'.

refs #10502
2016-11-18 11:09:50 +01:00
Eric Lippmann 1bb363091c ido-mysql: Change timestamp columns to default to NULL in the schema
refs #10502
2016-11-18 11:09:50 +01:00
Eric Lippmann 8a21b4af2f ido-mysql: Add yet empty v2.6.0 schema upgrade script
refs #10502
2016-11-18 11:09:50 +01:00
Michael Friedrich a13e6b3e87 Fix that custom notifications do not reset force_next_notification
This attribute is stored in the state file forever as well.
Will cause forced notifications ignoring state/type filters.

fixes #12670
2016-11-17 11:53:35 +01:00
Gunnar Beutner 23e30ccb67 Revert "Implement the 'evaluate-macros' API action"
This reverts commit 851135d3a1.

fixes #13091
2016-11-17 10:39:27 +01:00
Michael Friedrich 35ce166bd2 Fix that recovery notifications are sent if notified for !Problem type before
fixes #13205
2016-11-17 10:35:16 +01:00
Gunnar Beutner f58d3a1838 Fix crash in HttpRequest::Parse
fixes #12667
2016-11-17 09:08:22 +01:00
Michael Friedrich 40d68fcce2 Fix object sync for objects in a global zone
fixes #11541
2016-11-14 14:42:47 +01:00
Michael Friedrich 1bfb91f065 Ensure that DowntimeStart notifications are not immediately sent
fixes #12549
2016-11-11 19:36:19 +01:00
Michael Friedrich e7a6124924 Fix crash in CheckResult cluster handlers
fixes #13151
2016-11-11 16:29:51 +01:00
Michael Friedrich 4b86f69c96 Ensure that runtime created objects are synced on (re)connect
refs #11684
2016-11-11 16:29:37 +01:00
Michael Friedrich 2e2de7c340 Enhance log messages for cluster config sync
refs #11684
2016-11-10 17:44:05 +01:00
Michael Friedrich 72bf538c29 API: Set zone attribute for local zone if not specified
This allows to sync the object to other nodes in the same
zone on reconnect.

refs #11684
2016-11-10 17:16:08 +01:00
Michael Friedrich 5dd4898eb3 Ensure that UpdateConfigObject sets the target zone
refs #11684
2016-11-10 17:15:06 +01:00
Michael Friedrich 7e0c48643b Fix Flapping{Start,End} notifications in SOFT states or downtimes
fixes #12560
fixes #12892
2016-11-10 14:16:02 +01:00
Gunnar Beutner 06e4b4e9da Fix crash in Checkable::OnAllConfigLoaded
fixes #13103
2016-11-10 13:42:50 +01:00
Simon Murray 2c37a00daf InfluxDB: Always Write Out Metadata
Previously the logic would just bail out if no performance data was associated with a
check, the problem being that check metadata was skipped too.  This rearranges the code
to dump out performance metrics if they exist, then dump out metadata if requested.  This
also fixes an issue whereby metadata was being sent for every performance data in the
check result, rather than just once, so we save a bit of bandwidth as a result.

fixes #12276

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2016-11-09 16:10:21 +01:00
Gunnar Beutner 851135d3a1 Implement the 'evaluate-macros' API action
fixes #13091
2016-11-09 09:13:42 +01:00
Michael Friedrich 09658f6d0e Add child_options for API action 'schedule-downtime'
fixes #10896
fixes #10897
2016-11-02 09:54:48 +01:00
Michael Friedrich ea1f8727da Implement GetAllChildren() for dependency resolution
refs #10896
refs #10897
2016-11-02 08:55:11 +01:00
Michael Friedrich 86f162af85 Add SCHEDULE_AND_PROPAGATE{,_TRIGGERED}_HOST_DOWNTIME external commands
refs #10896
refs #10897
2016-11-02 08:54:32 +01:00
Gunnar Beutner f48e99c710 Fix integer truncation in Convert::ToString
fixes #12995
2016-11-02 08:42:24 +01:00
Gunnar Beutner c0bc156696 Don't mask all signals in the subprocess handler
fixes #12940
2016-10-24 08:42:40 +02:00
Gunnar Beutner d70d7797c8 Add missing call for the base class' Stop() method
refs #11684
2016-10-24 08:40:12 +02:00
Gunnar Beutner 5fdc874377 Don't generate 'UNKNOWN' results when the endpoint's log is still being resynced
fixes #12844
2016-10-24 08:38:58 +02:00
Gunnar Beutner 0145a32e58 Fix object resync issues
refs #11684
2016-10-11 10:55:13 +02:00
Jean Flach d264a0dab8 Fix Url Query formatting
fixes #12883
2016-10-10 16:16:52 +02:00
Jean Flach 069de6c121 Don't use InitializeSpawnHelper on Windows
refs #8900
2016-10-05 15:10:43 +02:00
Gunnar Beutner 5cd2fadf2b Fix crash when deleting config files fails
fixes #12860
2016-10-05 14:17:26 +02:00
Gunnar Beutner a7b0cb5f7e Ensure we don't leak file descriptors to child processes
fixes #8900
2016-10-04 14:08:48 +02:00
Konstantin Kelemen a2a6ee82d7 Fix some spelling mistakes
fixes #12822

Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2016-09-29 08:27:38 +02:00
Gunnar Beutner 0df4b4edfb Fix incorrect #ifdef
fixes #12749
2016-09-28 08:30:47 +02:00
Michael Friedrich 3571965fef Fix SOFT/HARD state counting logic for check attempts <= 2
fixes #12592
2016-09-27 11:30:57 +02:00
Gunnar Beutner fa1fa23c55 Fix crash in NodeUtility::CollectNodes
fixes #12741
2016-09-19 06:34:37 +02:00
Gunnar Beutner 8fd454fbb1 Fix crash in ClusterEvents::SendNotificationsAPIHandler
fixes #12718
2016-09-13 22:14:11 +02:00
Gunnar Beutner df9710cfcb Fix compiler warning in demo.hpp
refs #12534
2016-09-05 06:58:09 +02:00
Gunnar Beutner 17029e3161 Suppress compiler warnings for auto-generated code
fixes #12635
2016-09-05 06:51:31 +02:00
Gunnar Beutner efbdce803f Fix incorrect attribute name on the validator for the Notification class
fixes #12633
2016-09-04 17:50:44 +02:00
Gunnar Beutner a2e70955e1 Fix command line parser for "icinga2 --version"
fixes #12632
2016-09-04 17:01:46 +02:00
Gunnar Beutner 5960753015 Build fix for Windows
fixes #12614
2016-09-04 16:53:24 +02:00
Gunnar Beutner 288b354d11 Improve log message for ignored config updates
fixes #12623
2016-09-02 09:35:35 +02:00
Gunnar Beutner 58cdce8d7c Improve error handling for event filters
fixes #12621
2016-09-02 08:51:51 +02:00
Gunnar Beutner b92a139a4c Fix incorrect assignment in String::operator=
refs #12619
2016-09-02 08:14:46 +02:00
Gunnar Beutner 02442ff36f Remove unused Value::GetPtr method
refs #12619
2016-09-01 15:26:25 +02:00
Gunnar Beutner b5d4d9aba3 Fix move assignment operator for the String class
fixes #12619
2016-09-01 15:25:14 +02:00
Gunnar Beutner 7879c09789 Avoid unnecessary dictionary lookups
refs #12555
2016-09-01 07:41:41 +02:00
Gunnar Beutner 5304b08c2d Improve error handling for invalid CLI commands
fixes #12596
2016-09-01 07:41:23 +02:00
Michael Friedrich ae75575874 Remove unused last_in_downtime field
fixes #12602
2016-08-31 15:21:26 +02:00
Gunnar Beutner 06cb3cf875 Another build fix for Windows
refs #9182
2016-08-31 13:43:50 +02:00
Gunnar Beutner 2729e98c69 Disable Value&& constructor for the String class on Windows
refs #12555
2016-08-31 13:38:55 +02:00
Gunnar Beutner ba14c6e7ff Build fix for Windows
refs #9182
2016-08-31 13:37:13 +02:00
Gunnar Beutner 54f0cb2c2c Add another rvalue constructor to the String class
refs #12555
2016-08-31 13:27:59 +02:00
Gunnar Beutner 5127a193b4 Avoid unnecessary copies when using Dictionary::Pair in loops
refs #12509
2016-08-30 23:01:54 +02:00
Gunnar Beutner 8c50c6f91f Add context traces to most exceptions
fixes #9182
2016-08-30 20:46:23 +02:00
Gunnar Beutner 68dceaab06 Replace boost::exception_ptr with std::exception_ptr
refs #9182
2016-08-30 20:46:23 +02:00
Gunnar Beutner dca185a636 Implement support for libcxxabi
refs #9182
2016-08-30 20:46:23 +02:00
Gunnar Beutner 3d1490529f Fix race condition for concurrent_checks
fixes #11932
2016-08-29 14:12:29 +02:00
Gunnar Beutner 96ee214c57 Add rvalue constructor for the Task class
refs #12555
2016-08-29 09:00:12 +02:00
Gunnar Beutner 489269e2fa Fix incorrect debug hints for nested dictionary expressions
fixes #12571
2016-08-29 08:46:29 +02:00
Gunnar Beutner 32e6da1c60 Speed up item lookups for ConfigItem::GetDefaultTemplates
refs #12575
2016-08-29 08:40:46 +02:00
Gunnar Beutner f12b52f465 Use lambdas in the ConfigItem class
refs #12509
2016-08-29 08:16:33 +02:00
Gunnar Beutner 11e1cc9939 Remove unnecessary ScriptFrame variable
refs #12509
2016-08-29 05:54:07 +02:00
Gunnar Beutner 903db81fe0 Make sure that libmethods is automatically loaded even when not using the ITL
fixes #12578
2016-08-28 17:03:08 +02:00
Gunnar Beutner 2ce8a4d4cc Add missing initializers for the ConfigItemBuilder class
refs #12575
2016-08-28 14:12:07 +02:00
Gunnar Beutner e5af5b5dd3 Use raw string literals in mkembedconfig
fixes #12576
2016-08-28 11:01:45 +02:00
Gunnar Beutner 69bb90403d Add missing default import AST node for the application object
refs #12575
2016-08-28 11:00:27 +02:00
Gunnar Beutner 4876a78ab5 Remove unnecessary imports from unit test config
refs #12575
2016-08-28 10:41:46 +02:00
Gunnar Beutner 78cd56e277 Implement support for default templates
fixes #12575
2016-08-28 10:27:43 +02:00
Gunnar Beutner ed72112d4b Remove even more unnecessary copies
refs #12509
2016-08-27 20:37:25 +02:00
Gunnar Beutner ef50c57ed0 Make VS 2013 happy
refs #12555
2016-08-27 20:07:48 +02:00
Gunnar Beutner e8b0797ec4 Use 'auto' keyword for iterator declarations (part 2)
refs #12561
2016-08-27 19:56:12 +02:00
Gunnar Beutner 602643b93d Provide location information for objects and templates in the API
fixes #12566
2016-08-27 19:25:38 +02:00
Gunnar Beutner eafe4c578d Avoid unnecessary copies for the DebugHint class
refs #12509
2016-08-27 18:43:14 +02:00
Gunnar Beutner f1cac2f20a Fix compatibility with boost <= 1.53
refs #12555
2016-08-27 12:43:56 +02:00
Gunnar Beutner 8f2477db46 Fix incorrect variable type in the FilterArrayToInt function
refs #12509
2016-08-27 12:23:09 +02:00
Gunnar Beutner 27a23fcff6 Avoid an unnecessary case in the Encode function
refs #12509
2016-08-27 12:20:54 +02:00
Gunnar Beutner 00eec13338 Avoid unnecessary string copies in the JSON encoder
refs #12509
2016-08-27 11:47:36 +02:00
Gunnar Beutner 170c3624e3 Use 'default' for move constructors
refs #12555
2016-08-27 11:39:08 +02:00
Gunnar Beutner 7c273d7748 Add another rvalue constructor for the String class
refs #12555
2016-08-27 11:00:04 +02:00
Gunnar Beutner 6e384f81a0 Remove unused #includes
refs #12481
2016-08-27 10:59:52 +02:00
Gunnar Beutner 4dbc07e2bc Improve support for MySQL >=5.7
fixes #12558
2016-08-27 10:20:59 +02:00
Gunnar Beutner b5b09216c6 Use lambda functions for INITIALIZE_ONCE
fixes #12562
2016-08-27 09:48:36 +02:00
Gunnar Beutner 5058c5d75b Use 'auto' for iterator declarations
fixes #12561
2016-08-27 08:37:19 +02:00
Gunnar Beutner 56ba6089d0 Add rvalue support for the Array and Dictionary classes
refs #12555
2016-08-27 07:42:28 +02:00
Gunnar Beutner 7194b36d3e Avoid unnecessary string copies for LiteralExpression objects
refs #12509
2016-08-26 18:11:56 +02:00
Gunnar Beutner c1a58446af Add another rvalue constructor for the Value class
refs #12555
2016-08-26 18:11:28 +02:00
Gunnar Beutner dac0ff9343 Improve config validation for arrays of object names
fixes #12556
2016-08-26 10:36:53 +02:00
Gunnar Beutner 4f46e59af3 Implement an rvalue constructor for the String and Value classes
fixes #12555
2016-08-26 09:11:36 +02:00
Gunnar Beutner 49a130242c Add missing #include in loader.cpp
refs #12552
2016-08-25 20:59:22 +02:00
Gunnar Beutner 1236495dd3 Implement the --file and --syntax-only options for "icinga2 console"
fixes #12554
fixes #10675
2016-08-25 19:14:54 +02:00
Gunnar Beutner 30762e5330 Set versions for all internal libraries
fixes #12552
2016-08-25 17:56:18 +02:00
Gunnar Beutner 092f2ee099 Add missing initializer for WorkQueue::m_NextTaskID
fixes #12545
2016-08-25 11:57:00 +02:00
Gunnar Beutner ce7b6e4f87 Remove unused method: ApplyRule::DiscardRules
fixes #12544
2016-08-25 10:21:14 +02:00
Gunnar Beutner 225bb8029a Fix incorrect hash size for User objects
fixes #12533
2016-08-25 07:37:41 +02:00
Gunnar Beutner 8ed21fcdad Fix compiler warning in dbg_eval
refs #12534
2016-08-25 06:46:24 +02:00
Gunnar Beutner 288413f046 Replace BOOST_FOREACH with range-based for loops
fixes #12538
2016-08-25 06:46:17 +02:00
Gunnar Beutner 78c249b96b Fix compiler warnings in DB IDO
refs #12534
2016-08-25 05:00:46 +02:00
Gunnar Beutner 429d11daa8 Fix compiler warnings
fixes #12534
2016-08-24 20:33:34 +02:00
Gunnar Beutner ae1ab5f865 Implement unit tests for state changes
fixes #12530
2016-08-24 19:45:52 +02:00
Gunnar Beutner c981426cfb Fix missing IDO updates for groups
fixes #12527
2016-08-24 12:22:09 +02:00
Gunnar Beutner deb938d412 Fix incorrect notifications for soft recoveries
fixes #12529
2016-08-24 12:22:08 +02:00
Gunnar Beutner 82b6ef4301 Don't update TimePeriod ranges for inactive objects
fixes #12511
2016-08-23 15:01:40 +02:00
Gunnar Beutner 218e780a44 Avoid unnecessary string copies
fixes #12509
2016-08-23 15:01:40 +02:00
Gunnar Beutner 43a4acd5a2 Remove deprecated functions
fixes #12507
2016-08-23 15:01:40 +02:00
Michael Friedrich cd1b2cdddd Fix that recovery notifications are sent in SOFT NOT-OK states
fixes #12517
2016-08-23 14:58:24 +02:00
Gunnar Beutner f4dce0fe72 Fix crash in JsonRpcConnection::MessageHandlerWrapper
fixes #12506
2016-08-22 17:42:59 +02:00
Michael Friedrich b8d3bcad6a Cluster: Fix notified users for NotificationSentToAllUsers event
refs #12449
refs #12444
2016-08-22 10:47:09 +02:00
Gunnar Beutner b42bfc822b Fix crash in HttpServerConnection::ProcessMessageAsync
fixes #12493
2016-08-19 20:36:27 +02:00
Gunnar Beutner aeaca5e803 Revert "Fix incorrect detection of the 'Concurrency' variable"
This reverts commit 585f0537d2.

refs #12456
2016-08-19 11:58:52 +02:00
Gunnar Beutner b5637a2d16 Fix memory leak for the 'use' keyword
fixes #12487
2016-08-19 09:17:40 +02:00
Gunnar Beutner 8e5961f217 Fix missing permissions and update the documentation
fixes #12483
2016-08-18 19:00:14 +02:00
Gunnar Beutner 27e6db6af6 Remove some unused #includes
fixes #12481
2016-08-18 15:46:01 +02:00
Gunnar Beutner 487d2a9907 Make "clr-check-command" template usable on *nix
fixes #12474
2016-08-18 10:27:41 +02:00
Gunnar Beutner 730364b600 Fix incorrect certificate validation error message
fixes #12475
2016-08-18 10:23:13 +02:00
Gunnar Beutner 62a6d5667d Fix: IDO marks objects as inactive on shutdown
fixes #12418
2016-08-17 19:24:22 +02:00
Michael Friedrich e5566a6bd8 API: Fix missing attributes for DowntimeTriggered event
fixes #12464
2016-08-17 16:57:22 +02:00
Rune Darrud d1dc1188e1 Remove obsolete reference to serial.txt
fixes #12467

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-08-17 16:19:24 +02:00
Gunnar Beutner 4c54cddec8 Fix problem with duplicate INSERTs for the same key columns
fixes #12461
fixes #12458
2016-08-17 13:35:10 +02:00
Gunnar Beutner b26b3a4f65 Add missing lock
refs #12450
2016-08-17 09:20:05 +02:00
Gunnar Beutner 7fcf8ece72 Remove unnecessary dictionary lookups in the DebugHint class
refs #12457
2016-08-17 09:20:05 +02:00
Gunnar Beutner bb7fe3334a Fix incorrect customvariablestatus query
fixes #12459
2016-08-17 09:20:05 +02:00
Gunnar Beutner 585f0537d2 Fix incorrect detection of the 'Concurrency' variable
fixes #12456
2016-08-17 09:20:05 +02:00
Michael Friedrich 87bc291a55 Fix that HA enabled objects are started before config validation has finished
fixes #12460
2016-08-17 09:19:58 +02:00
Rune Darrud 5c0b3c58bd Do not escape backslashes and separators twice
fixes #12227

Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2016-08-17 06:10:41 +02:00
Gunnar Beutner 162e31b083 Remove unnecessary Dictionary::Contains calls
fixes #12457
2016-08-16 22:03:42 +02:00
Michael Friedrich 520be9513b API: Fix that schedule-downtime action requires duration for fixed=true
fixes #12454
2016-08-16 17:09:25 +02:00
Gunnar Beutner ec87b9e795 Use hash-based serial numbers for new certificates
fixes #12453
2016-08-16 15:03:01 +02:00
Gunnar Beutner 81974adf65 Improve performance for Endpoint config validation
fixes #12450
2016-08-16 13:55:37 +02:00
Michael Friedrich 832b5bed2a Remove debug output in NotificationComponent
refs #12402
2016-08-16 13:48:09 +02:00
Gunnar Beutner 2d551db9d8 Remove the ConfigTypeIterator class
refs #12448
2016-08-16 13:26:24 +02:00
Gunnar Beutner b7a1b58069 Improve performance for type lookups
fixes #12448
2016-08-16 11:02:33 +02:00
Michael Friedrich a34e01d0bb Fix NotificationSentToAllUsers cluster event
refs #12444
2016-08-16 09:30:10 +02:00
Michael Friedrich d909c0945c Add an explicit flag for disabling reminder notifications
refs #12402
2016-08-15 18:32:51 +02:00
Michael Friedrich 17544d7b54 Fix: ClusterEvents::NotificationSentAllUsersAPIHandler() does not set notified_users
fixes #12444
2016-08-15 17:26:01 +02:00
Michael Friedrich 1ec7d366a7 Fix ITL methods templates for timeperiods
fixes #12338
2016-08-15 16:16:23 +02:00
Michael Friedrich d341783a51 API: Implement 'generate-ticket' action and update distributed monitoring docs
fixes #12433
2016-08-15 15:19:28 +02:00
Gunnar Beutner 2e8d3d3934 Implement support for incremental IDO updates
fixes #12435
2016-08-15 14:43:11 +02:00
Gunnar Beutner ebaf239d3b Replace GetType()->GetName() calls with GetReflectionType()->GetName()
fixes #12438
2016-08-15 14:42:03 +02:00
Gunnar Beutner 8ced75b7d2 Fix the load order for Host/Service vs. Endpoint/Zone
refs #12432
2016-08-14 23:04:55 +02:00
Gunnar Beutner 980ba42825 Remove unused code in the IDO classes
fixes #12434
2016-08-14 22:22:18 +02:00
Gunnar Beutner 39ded04e1a Improve validation for the command_endpoint attribute
fixes #12432
2016-08-14 22:11:29 +02:00
Gunnar Beutner 005e0f532f Improve HA support for the IDO check task
fixes #12430
2016-08-14 20:17:14 +02:00
Gunnar Beutner c6e5f3dcb8 Fix $ido_name$ macro when using the IDO check type with command_endpoint
fixes #12428
2016-08-14 19:30:20 +02:00
Gunnar Beutner 6af9e61e9b Implement comparison operators for the Array class
fixes #12426
2016-08-14 17:21:47 +02:00