Commit Graph

3327 Commits

Author SHA1 Message Date
Jean Flach 4d87c96d06 Refactor String-Escape in repositoryutility
fixes #10989
2016-02-09 09:38:12 +01:00
Gunnar Beutner 14d805e6fe Fix crash in ApiListener::ConfigUpdateObjectAPIHandler
fixes #11006
2016-02-09 09:13:43 +01:00
Jean Flach 393a6bf641 Remove unused variables
fixes #11111
2016-02-08 17:10:12 +01:00
Jean Flach 8dbd84daed Remove unused variable 2016-02-08 16:40:34 +01:00
Jean Flach 964cfcebd3 Make schedule-downtime default fixed
fixes #10923
2016-02-08 16:04:41 +01:00
Gunnar Beutner e224e74994 Make sure the "syncing" attribute is set to false
refs #11083
2016-02-08 13:15:24 +01:00
Michael Friedrich 99dbb249de DB IDO: Fix problem with hostgroup_members cleanup
fixes #11103
2016-02-08 11:05:27 +01:00
Gunnar Beutner 6d5014b610 Increase grace period for agent-based checks
refs #11020
2016-02-08 09:46:01 +01:00
Michael Friedrich 4049cc0b9a Fix: Deleting an object via API does not disable it in DB IDO
fixes #11065
2016-02-05 12:37:00 +01:00
Michael Friedrich f06f6d4d86 Windows build fix
fixes #11096
2016-02-05 10:55:16 +01:00
Michael Friedrich 3227186c7d Fix: API queries on non-existant objects cause exception
fixes #11088
2016-02-04 22:40:01 +01:00
Gunnar Beutner 611ff869e1 Implement support for epoll
refs #11014
2016-02-04 16:31:59 +01:00
Gunnar Beutner c06f6d7aeb Fix crash in ConfigItem::RunWithActivationContext
fixes #11085
2016-02-04 13:17:37 +01:00
Michael Friedrich 949b129c65 Ensure that config sync updates are always sent on reconnect
fixes #11083
2016-02-04 11:30:27 +01:00
Gunnar Beutner caf3380e73 Fix memory leak in Stream::Close
refs #10655
2016-02-03 13:02:49 +01:00
Gunnar Beutner 2dc385e31b Fix memory/thread leak in the HttpServerConnection class
fixes #10655
2016-02-03 09:54:31 +01:00
Gunnar Beutner fabf37e79c Improve performance for TlsStream::OnEvent
refs #11014
2016-02-02 13:51:17 +01:00
Gunnar Beutner f234bdd321 Fix crash in IdoCheckTask::ScriptFunc
refs #11014
2016-02-02 12:03:12 +01:00
Gunnar Beutner 532655d482 Use multiple threads for socket IO
refs #11014
2016-02-02 11:17:33 +01:00
Gunnar Beutner 3f95e86c73 Remove debug log message
refs #11014
2016-02-02 09:54:31 +01:00
Gunnar Beutner ecfaf019fd Avoid unnecessary pollfd updates
refs #11014
2016-02-02 09:52:23 +01:00
Gunnar Beutner 83889dcbb0 Increase the buffer size in TlsStream::OnEvent to avoid unnecessary poll() calls
refs #11014
2016-02-02 08:28:54 +01:00
Gunnar Beutner ec050dd2a7 Fix deadlock in HttpClientConnection::DataAvailableHandler
refs #11014
2016-02-01 14:50:18 +01:00
Gunnar Beutner e6a972f975 Fix incorrect memcpy() with overlapping buffers
refs #11014
2016-02-01 12:58:42 +01:00
Gunnar Beutner 98e104a773 Fix incorrect method call in JsonRpcConnection::MessageHandler
refs #11014
2016-02-01 11:25:34 +01:00
Gunnar Beutner c03e458e13 Avoid unnecessary new/deletes
refs #11014
2016-02-01 09:33:33 +01:00
Gunnar Beutner deac316a45 Fix deadlock in {HttpServerConnection,JsonRpcConnection}::DataAvailableHandler
refs #11014
2016-02-01 08:35:55 +01:00
Michael Friedrich c2cf614d62 Remove debug output, part 2
refs #11014
2016-01-29 14:09:50 +01:00
Michael Friedrich 7a3848af1e Remove debug output
refs #11014
2016-01-29 14:03:58 +01:00
Gunnar Beutner 6fc91a38eb Avoid unnecessary reallocs in FIFO::Optimize
refs #11014
2016-01-28 13:09:17 +01:00
Gunnar Beutner 56e7c24f1f Avoid unnecessary dictionary lookups in SocketEvents::ThreadProc
refs #11014
2016-01-28 13:07:09 +01:00
Gunnar Beutner fe421d76fb Remove debug output
refs #11014
2016-01-28 12:23:07 +01:00
Gunnar Beutner 4237c6eaaa Avoid unnecessary wake-ups in SocketEvents::ChangeEvents (part 2)
refs #11014
2016-01-28 11:55:31 +01:00
Gunnar Beutner 75f7fe10e1 Avoid unnecessary wake-ups in SocketEvents::ChangeEvents
refs #11014
2016-01-28 09:05:49 +01:00
Gunnar Beutner 3c76e70fe2 Avoid updating the file descriptor list for poll() unless we really need to
refs #11014
2016-01-28 08:24:33 +01:00
Gunnar Beutner fa7d0448f9 Decode cluster messages in the WorkQueue threads
refs #11014
2016-01-27 16:52:01 +01:00
Gunnar Beutner 9689223081 Use multiple WorkQueues to process cluster messages
refs #11014
2016-01-27 15:45:58 +01:00
Gunnar Beutner 54df0b74b6 Improve performance for ApiListener::RelayMessageOne
refs #11014
2016-01-27 13:39:31 +01:00
Gunnar Beutner 8c05003101 Improve the performance for ApiListener::SyncRelayMessage (part 2)
refs #11014
2016-01-27 12:18:16 +01:00
Gunnar Beutner 9ae1f1abee Improve performance for ApiListener::SyncRelayMessage
refs #11014
2016-01-27 08:43:20 +01:00
Michael Friedrich 22c21ebd61 Implement String#trim
fixes #11037
2016-01-26 16:01:14 +01:00
Gunnar Beutner 4185c75d8a Ignore the .timestamp file when determining whether the zone config has changed (second attempt)
refs #11014
2016-01-26 15:46:03 +01:00
Michael Friedrich 627814b8e7 Fix incorrect --version information
fixes #10784
2016-01-26 15:17:48 +01:00
Gunnar Beutner c5a003c162 Ignore the .timestamp file when determining whether the zone config has changed
refs #11014
2016-01-26 11:32:54 +01:00
Gunnar Beutner f3351bc80e Make sure the updated config sync works with old versions of Icinga 2
refs #11014
2016-01-26 10:46:27 +01:00
Gunnar Beutner 1eecc72093 Use MkDirP instead of MkDir when syncing zone configs
fixes #10932
2016-01-26 10:45:03 +01:00
Gunnar Beutner 980ce96910 Make sure the .timestamp file is synced for config updates
refs #11014
2016-01-26 09:04:26 +01:00
Gunnar Beutner 23edd6cb8f Add missing comment
refs #10988
2016-01-26 08:35:29 +01:00
Michael Friedrich d412a9055d Fix cluster config timestamp again
refs #11014
2016-01-25 15:49:32 +01:00
Michael Friedrich a4562fb433 Only set SSL_OP_NO_COMPRESSION if supported
OpenSSL 0.9.8 does not support this flag.

fixes #10988
2016-01-25 14:53:26 +01:00
Michael Friedrich a17419e8c2 Fix cluster config sync timestamp
refs #11014
2016-01-25 14:39:21 +01:00
Gunnar Beutner 8f53835c11 Make sure we only have one connection per satellite
refs #11014
2016-01-25 10:57:06 +01:00
Michael Friedrich b960850ce3 DB IDO: Only update 'next_check' column when manually scheduling a check
Otherwise the changes from #7287 already take care of setting
the proper next check time from inside ProcessCheckResult().

There is no need to use the generic OnNextCheckChanged signal
but instead we're using a new one, locally just for DB IDO.

fixes #11019
2016-01-22 18:42:15 +01:00
Michael Friedrich 2a11b27972 Properly set the next check time for active and passive checks
fixes #7287
refs #11019
2016-01-22 18:40:14 +01:00
Michael Friedrich 730db0cba1 Fix: Modified attributes do not work for the IcingaApplication object w/ external commands
fixes #10974
2016-01-21 19:07:54 +01:00
Michael Friedrich ddc1b251a6 Fix: Escaped sequences not properly generated with 'node update-config'
fixes #10989
2016-01-21 18:14:53 +01:00
Gunnar Beutner 6ca054e618 Ensure that checks are not scheduled for command_endpoint fake hosts
refs #10963
2016-01-21 16:37:52 +01:00
Gunnar Beutner 6d88d9035d Remove redundant log messages
refs #10963
2016-01-21 13:02:53 +01:00
Gunnar Beutner 72c3b6d75b Make sure we're not running command_endpoint-based checks more than once
refs #10963
2016-01-21 10:37:47 +01:00
Tobias von der Krone 1c67bf394c Support TLSv1.1 and TLSv1.2 for the cluster transport encryption
From https://wiki.openssl.org/index.php/SSL/TLS_Client:
SSLv23_method specifies the protocols used and behavior of the handshake.
The method essentially means SSLv2 or above, and includes the TLS protocols.
The protocols are further tuned through SSL/TLS options. By using
SSLv23_method (and removing the SSL protocols with SSL_OP_NO_SSLv2 and
SSL_OP_NO_SSLv3), then you will use TLS v1.0 and above, including TLS v1.2.
You will also use a TLS handshake in the TLS Record.

If you use TLSv1_method, then you will only use TLS v1.0.

fixes #10988
2016-01-20 16:48:00 +01:00
Michael Friedrich 4ce43b8d02 ExternalCommandListener: Fix crash when reading from socket
refs #10700
2016-01-20 16:38:31 +01:00
Michael Friedrich a51e647cc7 Fix check scheduling w/ retry_interval
fixes #7287
2016-01-20 16:29:01 +01:00
Gunnar Beutner e48ed33000 Add missing SetSyncing() call
refs #10963
2016-01-20 14:07:07 +01:00
Gunnar Beutner 55f0c589ad Skip log replay for endpoints with log_duration = 0
refs #10963
2016-01-19 17:25:28 +01:00
Gunnar Beutner db0c6ef187 Only build leak detection code when I2_LEAK_DEBUG is set
refs #10963
2016-01-19 16:43:46 +01:00
Gunnar Beutner e4b7111577 Check the certificate name when reconnecting to an instance
refs #10963
2016-01-19 16:24:12 +01:00
Gunnar Beutner b1aa6cc98a Decrease memory usage for the Object class
refs #10963
2016-01-19 16:24:07 +01:00
Gunnar Beutner d50c8e1085 Improve debug support for analyzing memory leaks
refs #10963
2016-01-19 15:24:17 +01:00
Jean Flach 08698c3622 Fix another compiler warning
fixes #10956
2016-01-18 09:41:52 +01:00
Jean Flach cb70d97dcf Plug two memory leaks
refs #10963
2016-01-15 10:11:52 +01:00
Michael Friedrich d9fac2b613 Raise a config error for "Checkable" objects in global zones
fixes #10807
2016-01-14 15:34:38 +01:00
Gunnar Beutner 7f4af89a56 Ensure that HttpServerConnections are properly closed
fixes #10655
2016-01-13 10:30:38 +01:00
Gunnar Beutner de11ef704a Fix compiler warning
fixes #10956
2016-01-13 08:33:27 +01:00
Gunnar Beutner 599929b0f6 Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
Jean Flach 957cf3169f Replace boost-base64 with an openssl implementation
Also add unit tests

fixes #10714
2016-01-11 15:35:20 +01:00
Gunnar Beutner 1bf27011df Fix incorrect is_active queries
fixes #10891
2016-01-11 14:23:16 +01:00
Michael Friedrich 79899d726a Change log level for authoritative zone config includes
LogWarning will make users wonder about a problem each time
Icinga 2 starts.

refs #10819
2015-12-18 11:53:56 +01:00
Daniil Yaroslavtsev d739675799 GelfWriter: Add additional fields for 'CHECK RESULT' events
fixes #9858
2015-12-18 11:05:38 +01:00
Michael Friedrich 9c8fdf06cf Fix crash in DbEvents::RemoveCommentInternal()
Missing multiple queries as implemented with RemoveDowntimeInternal().

fixes #10883
2015-12-18 10:52:04 +01:00
Michael Friedrich 323b759a90 Fix config validation for templates used as object reference name
fixes #10830
2015-12-17 13:49:30 +01:00
Gunnar Beutner a393c8213e Don't log IDO statistics when we're not connected
refs #10860
2015-12-17 12:09:42 +01:00
Michael Friedrich af3458dfec Fix that "repository add" writes invalid "type" attribute
fixes #10867
2015-12-17 10:20:41 +01:00
Michael Friedrich 8b6d3350b8 Fix failed reload via systemd
fixes #10226
2015-12-16 15:57:59 +01:00
Michael Friedrich 6387bec049 Fix duplicate key violation for downtimes
refs #10829
2015-12-16 13:57:29 +01:00
Gunnar Beutner 346c0cbb3c Fix crash in Ido*Connection::InternalExecuteMultipleQueries
fixes #10862
2015-12-16 11:29:06 +01:00
Gunnar Beutner ef8ba6e275 Implement additional query statistics for DB IDO
fixes #10860
2015-12-16 10:46:27 +01:00
Michael Friedrich 1add333a57 DB IDO: Add a log message when the connection handling is completed
fixes #10857
2015-12-15 16:50:17 +01:00
Michael Friedrich 5b48559d75 Implement support for re-ordering groups of IDO queries
fixes #10855
2015-12-15 15:29:48 +01:00
Michael Friedrich 96fa29793c Avoid duplicate config and status updates on startup
fixes #10765
2015-12-15 14:25:08 +01:00
Michael Friedrich 0239acc48e Fix invalid notification_id in DB IDO query
fixes #8976
2015-12-15 11:59:06 +01:00
Michael Friedrich da3d21091c Fix priority ordering for IDO queries
fixes #10829
refs #8714
2015-12-15 11:58:50 +01:00
Gunnar Beutner 372cf07bc4 Clean up the FinishAsyncQueries code a bit
refs #8714
2015-12-14 10:34:12 +01:00
Michael Friedrich 8055f05d5e Fix cluster config sync for (non-)authoritative configs
Details: https://dev.icinga.org/issues/10819#note-39

refs #10819
2015-12-12 12:16:00 +01:00
Michael Friedrich d781c392d3 Add more debug logging for api package config sync
refs #10819
2015-12-11 17:03:07 +01:00
Michael Friedrich e5ca19b17f Fix that relative paths do not work with include_zones
fixes #10828
2015-12-11 16:58:43 +01:00
Michael Friedrich c5b13ff2b1 Fix that cluster config sync ignores zones.d directory from API config packages
fixes #10819
2015-12-10 22:21:29 +01:00
Gunnar Beutner 15ca9987fa Implement support for priorities in the WorkQueue class
fixes #8714
2015-12-10 17:06:00 +01:00
Michael Friedrich dc85b1c6fb Use NodeName instead of GetFQDN() in embedded checks
fixes #10818
2015-12-10 15:27:49 +01:00
Michael Friedrich 0813e69a41 Fix DB IDO events for next_check, etc. updates
refs #10817
2015-12-10 15:24:28 +01:00
Gunnar Beutner fba0b493cd Make sure that all strings in the IDO database are UTF8-encoded
fixes #10554
2015-12-10 12:26:19 +01:00
Michael Friedrich 407a7502ae Fix crash on startup with incorrect directory permissions
fixes #10739
2015-12-08 15:12:13 +01:00
Michael Kraus 5b7421af8c Fix problem with livestatus filter "type"
There was a regression in changeset 3d4e48aa12 for issue 10449 that
made the "class" filter work, but broke the "type" filter. Reverting some changes seems to do the
trick.

refs #10449

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-12-02 10:08:01 +01:00
Gunnar Beutner 678a237739 Turn '=>' lambda expressions into side-effect-free statements
fixes #10760
2015-12-01 16:41:00 +01:00
Gunnar Beutner fd65fed6f0 Fix incorrect return value for ApiListener::GetInstance
refs #10711
2015-11-30 15:33:01 +01:00
Michael Friedrich 2a5a9d2f4b Fix missing path in mkdir() exception
fixes #10748
2015-11-30 10:37:57 +01:00
Gunnar Beutner eb4f68f28d Remove the local zone name question in node wizard
fixes #10724
2015-11-30 08:25:37 +01:00
Jean Flach 6a83703549 Update default port behaviour in node wizard
fixes #10728
2015-11-27 16:44:57 +01:00
Michael Friedrich 737c574cdf Fix missing num_hosts_pending in /v1/status/CIB
fixes #10736
2015-11-26 20:03:46 +01:00
Michael Friedrich 9289971829 Remove IcingaStatusWriter feature
fixes #10140
2015-11-26 19:30:40 +01:00
Michael Friedrich 3d4e48aa12 Livestatus: Fix "class" filter for log table
fixes #10449
2015-11-26 19:15:54 +01:00
Jean Flach 356d11b40d Fix return value in PkiUtility
refs #10632
2015-11-26 11:19:53 +01:00
Gunnar Beutner 3916ef0904 Build fix for Windows
refs #10693
2015-11-26 11:18:05 +01:00
Jean Flach b297e8cfa7 Update node wizard
The wizard now displays basic information on the to-be-imported master
certificate and asks the user for confirmation.

fixes #10632
2015-11-26 10:09:13 +01:00
Gunnar Beutner 7f9337eee8 Use the NodeName constant in 'api setup'
fixes #10641
2015-11-26 08:11:02 +01:00
Gunnar Beutner 4169bf013b Hide the --master_zone option in --help because it's not currently implemented
fixes #10720
2015-11-25 19:00:07 +01:00
Gunnar Beutner b76fee5b98 Use the ZoneName and NodeName constants for 'node setup' and 'node wizard'
refs #10716
2015-11-25 17:43:12 +01:00
Michael Friedrich f91edd9564 Use a work queue for replaying the cluster log
refs #10713
2015-11-25 13:11:41 +01:00
Michael Friedrich 3adedcd0a5 Improve performance for Zone::CanAccessObject
fixes #10711
2015-11-25 12:06:20 +01:00
Gunnar Beutner 9705e08ee0 Build fix for systems where strsignal() returns a const char * 2015-11-24 14:45:30 +01:00
Jean Flach 7029bb3aea Fix master zone name
fixes #10716
2015-11-24 14:32:07 +01:00
Gunnar Beutner 4ab6f2a985 Fix crash in ConfigItem::ActivateItems
refs #10643
2015-11-23 17:25:35 +01:00
Michael Friedrich d0545c4ea2 Fix crash in ConfigItem::ActivateItems
refs #10643
2015-11-23 14:02:33 +01:00
Gunnar Beutner 2320f7a32a Implement Platform* global variables
refs #10693
2015-11-23 13:10:25 +01:00
Gunnar Beutner 5991a878a0 Build fix for SLES 11 (with -std=c++11)
fixes #10615
2015-11-21 04:46:13 +01:00
Gunnar Beutner a805936f8f Fix: CLI command 'repository add' doesn't work
fixes #10690
2015-11-20 15:53:24 +01:00
Gunnar Beutner 3505ca3c16 Fix race condition in the ConfigItem class
fixes #10643
2015-11-19 19:38:49 +01:00
Michael Friedrich 530c7c7fcc Fix pki new-ca not checking for existing ca files
fixes #10677
2015-11-19 17:06:41 +01:00
Gunnar Beutner af441191f3 Fix crash in Process::IOThreadProc when building Icinga 2 with GCC 4.7.2
fixes #10648
2015-11-17 22:07:40 +01:00
Gunnar Beutner 7d8c8aac5a Use notify_one in WorkQueue::Enqueue
fixes #10639
2015-11-16 08:13:55 +01:00
Gunnar Beutner eb67f3779f Fix incorrect error messages on Windows
fixes #10637
2015-11-15 21:18:27 +01:00
Gunnar Beutner 79b15efd09 Allow null values for constructor calls
fixes #10628
2015-11-14 05:36:48 +01:00
Michael Friedrich 6518f78af0 Fix attribute validation for PUT queries
fixes #10601
2015-11-12 10:13:46 +01:00
Michael Friedrich 545607be9f Fix that custom attribute with function value cannot be cloned
fixes #10583
2015-11-11 14:18:25 +01:00
Michael Friedrich 284a10150b Fix attributes names for joins; update documentation
refs #10551
fixes #10576
2015-11-11 13:50:47 +01:00
Michael Friedrich 0285bcefb5 DB IDO: Fix group membership updates for runtime created objects
fixes #10604
2015-11-11 12:31:52 +01:00
Gunnar Beutner b2364884d8 Check whether config file exists before trying to create object
fixes #10602
2015-11-11 10:25:18 +01:00
Gunnar Beutner e3c75faabc Implement support for recursive object locks
fixes #10596
2015-11-11 10:21:30 +01:00
Gunnar Beutner 356c4cc170 Don't allow users to set internal attributes via PUT
fixes #10601
2015-11-11 08:41:49 +01:00
Gunnar Beutner 2d2e7ecdb2 Improve location information for exceptions
fixes #10568
2015-11-10 17:05:40 +01:00
Michael Friedrich f5da37b7df Remove obsolete checks from API actions
refs #10561
2015-11-10 16:13:14 +01:00
Gunnar Beutner 1667fbaf31 Build fix for Windows 2015-11-10 13:09:34 +01:00
Gunnar Beutner 0a6505ce2d Use poll() for the command pipe fd
refs #10410
2015-11-10 11:41:21 +01:00
Gunnar Beutner 2cc33b7fb3 Don't validate arguments/parameters that aren't strings
refs #10539
2015-11-10 07:59:10 +01:00
Michael Friedrich 36cea68c1a Add the HTTP request body to debug log 2015-11-09 22:48:56 +01:00
Gunnar Beutner 9ea51aa86e Use non-blocking open() for the command pipe
fixes #10410
2015-11-09 20:39:26 +01:00
Michael Friedrich bc05389a79 Improve error handling for unlinking files
refs #10578
2015-11-09 13:35:51 +01:00
Gunnar Beutner 25c490ecb6 Remove config file when object creation fails
fixes #10578
2015-11-09 12:33:37 +01:00
Gunnar Beutner c44701068f Fix: Detailed error message is missing when object creation via API fails
fixes #10580
2015-11-09 12:30:30 +01:00
Gunnar Beutner 679983dd9a Rename $quit to $continue
refs #10559
2015-11-09 11:08:35 +01:00
Gunnar Beutner fa034a96f8 Improve error message for 404s
refs #9447
2015-11-09 10:48:24 +01:00
Gunnar Beutner 5a74f69819 Fix memory leak for JSON-RPC/HTTP connections
fixes #10517
2015-11-09 10:22:52 +01:00
Gunnar Beutner 4bb9beda19 Don't send cluster config messages for objects with version 0
refs #9927
2015-11-08 21:22:06 +01:00
Gunnar Beutner f8399e45db Remove unused variable
refs #10563
2015-11-08 17:53:22 +01:00
Michael Friedrich 1d2606cbfe Add filter targets for remove-{comment,downtime} actions
Drop remove-all-{comments,downtimes}. This is provided
by using host and service filters.

fixes #10561
2015-11-08 14:22:10 +01:00
Michael Friedrich b7f923dd01 'api setup' must not override existing certificate and api-users.conf file
fixes #10560
2015-11-08 14:19:06 +01:00
Michael Friedrich e6159ca86a Fix: /v1/console should only use a single permission
fixes #10563
2015-11-08 14:17:13 +01:00
Michael Friedrich 1c8531fc0d Fix: 'api setup' should create a user even when api feature is already enabled
fixes #10560
2015-11-08 14:06:36 +01:00
Gunnar Beutner 9830ea6ea7 Remove duplicate text in an error message
refs #10559
2015-11-07 10:31:09 +01:00
Gunnar Beutner 2c135d82c1 Fix incorrect variable names for joined objects in filters
fixes #10558
2015-11-07 10:28:34 +01:00
Gunnar Beutner dcfc171c61 Improve messages for the debugger
refs #10559
2015-11-07 10:22:55 +01:00
Gunnar Beutner a6c411c6cb Fix: Autocompletion doesn't work in the debugger
fixes #10559
2015-11-07 10:17:55 +01:00
Gunnar Beutner b89a7dbdb6 Rename 'object' to 'obj' in filters
refs #9077
2015-11-07 10:01:07 +01:00
Gunnar Beutner 64376dafeb Make the main object available as 'object' in filter expressions
refs #9077
2015-11-07 09:59:00 +01:00
Gunnar Beutner 3a695742e3 Improve error handling when user specifies invalid method for /v1/console
refs #10387
2015-11-07 09:59:00 +01:00
Gunnar Beutner d78a081727 Improve performance data for DB IDO
refs #9079
2015-11-07 07:51:41 +01:00
Michael Friedrich 64c936d387 API Actions: Remove -by-id from actions and require names for comments and downtimes
The documentation is updated as well. Furthermore actions provide
detailed error information in case of an exception.
Includes DB IDO schema updates.

fixes #10512
2015-11-06 17:06:12 +01:00
Gunnar Beutner a177e5e05a Change output format for object queries
fixes #10551
2015-11-06 14:45:38 +01:00
Michael Friedrich 3b902b51e2 Change session_token to integer timestamp
fixes #10529
2015-11-05 18:05:30 +01:00
Michael Friedrich dda05f0322 Fix: Async mysql queries aren't logged in the debug log
fixes #10540
2015-11-05 15:43:09 +01:00
Michael Friedrich 7e5f5544fc Require 'Accept' header for API requests (except for GET)
fixes #10548
2015-11-05 15:18:53 +01:00
Gunnar Beutner 7621870278 Implement a debugger for Icinga scripts
fixes #10547
2015-11-05 14:29:45 +01:00
Michael Friedrich 18e162da5e Build fix
refs #10545
2015-11-05 11:55:07 +01:00
Gunnar Beutner 645f054980 Fix invalid field IDs in Type::GetField
refs #10387
2015-11-05 10:58:09 +01:00
Gunnar Beutner 783b58536f Fix 'Invalid field ID' error when serializing Type objects
refs #10387
2015-11-05 10:52:25 +01:00
Gunnar Beutner 701961b73b Fix the 'type' attribute for the Object class
refs #10387
2015-11-05 10:29:02 +01:00
Gunnar Beutner a3fd33f8a1 Fix race condition in ConfigWriter::EmitIdentifier
fixes #10538
2015-11-04 19:05:47 +01:00
Gunnar Beutner 09b2b054f5 Don't validate custom attributes that aren't strings
fixes #10539
2015-11-04 19:04:33 +01:00
Gunnar Beutner fe1c5e9507 Improve formatting for arrays
refs #10527
2015-11-04 17:06:33 +01:00
Gunnar Beutner 7378964f31 Fix indentation for nested dictionaries
refs #10527
2015-11-04 16:42:19 +01:00
Michael Friedrich 5d46f661ea Implement 'console' cli command using the API
fixes #10387
2015-11-04 16:01:06 +01:00
Gunnar Beutner a51bc4010a Fix indentation for Dictionary::ToString
fixes #10527
2015-11-04 08:44:56 +01:00
Gunnar Beutner 51f473d08a Implement the current_filename and current_line keywords
fixes #10243
2015-11-03 16:34:34 +01:00
Gunnar Beutner ae23e456a6 Fix race condition in ConfigWriter::GetKeywords
fixes #10518
2015-11-03 09:46:45 +01:00
Gunnar Beutner 9c5758958c Fix crash in JsonRpcClient::DataAvailableHandler
fixes #10495
2015-11-02 17:45:44 +01:00
Michael Friedrich 7589c61b38 Add missing override
refs #10508
refs #10509
2015-11-02 17:36:13 +01:00
Michael Friedrich 43976d3989 Add host.last_state_{up,down} and last_check attribute, hide *_raw attributes
fixes #10508
fixes #10509
2015-11-02 14:10:44 +01:00
Michael Friedrich 439dad5d6a API actions: Check if removal of comments and downtimes was succesful
refs #9080
2015-11-01 16:33:43 +01:00
Gunnar Beutner ed90d9a847 Fix race condition in CreatePipeOverlapped
fixes #10510
2015-11-01 12:59:57 +01:00
Gunnar Beutner b2829ca522 Fix plural name for the Array type
fixes #10501
2015-11-01 10:35:31 +01:00
Michael Friedrich 1b9f0a8c77 Add the unique_id for comments/downtimes next to legacy_id to DB IDO
fixes #10431
2015-10-30 11:25:07 +01:00
Michael Friedrich 339c0b6d84 Fix missing field initializer in DB IDO
refs #10436
2015-10-29 22:27:09 +01:00
Michael Friedrich 6f8e25a349 Add doc URL to /v1 info page
refs #9105
2015-10-29 18:59:30 +01:00
Michael Friedrich 4d784dd075 DB IDO: Add an index for CV session delete
The DELETE statement might become painfully slow on
large installations.

refs #10436
2015-10-29 16:18:49 +01:00
Michael Friedrich 9485938d32 Fix: Unique constraint violation with multiple comment inserts in DB IDO
fixes #10491
2015-10-29 16:12:53 +01:00
Michael Friedrich cf5735e3df DB IDO: Remove deleted custom variables
We cannot clear the custom variable tables on startup and then re-insert
all known custom vars. Instead we "fixed" it by leaving them
in the database only updating their value if changed. We certainly
forgot about deleted custom vars at that point.

Since the older fix must stay in place, we'll use a session
token stored in the backend to check whether the custom
variable has been updated/inserted in the current session, or not.
If the session token does not match, the custom vars are deleted
at the end of the config dump. Ugly but fairly the only performant
solution as CVs don't have an object_id.

fixes #10436
2015-10-29 16:00:06 +01:00
Gunnar Beutner e3efe208bb Fix spelling mistake in 'node wizard' 2015-10-29 08:14:56 +01:00
Gunnar Beutner 15addb4e7c Use the correct zone name for parent_zone when running 'icinga2 node update-config'
fixes #10479
2015-10-29 08:14:55 +01:00
Gunnar Beutner 0013d26425 Build fix for Windows
refs #9777
2015-10-29 08:14:55 +01:00
Gunnar Beutner 050c520b2a Convert Comment/Downtime to config objects
fixes #9777
2015-10-28 17:56:29 +01:00
Michael Friedrich de8aae90e4 DB IDO: Add object_id where clause for icinga_downtimehistory
fixes #10110
2015-10-28 17:12:23 +01:00
Gunnar Beutner 5ad0c67485 Fix: IDO tries to execute empty UPDATE queries
fixes #10473
2015-10-28 07:46:04 +01:00
Gunnar Beutner 4763dea571 Fix incorrect URL check in the InfoHandler class
refs #9105
2015-10-28 07:46:04 +01:00
Jean Flach edfc0e3a38 Update error messages
Removes verboseError from httprequest and uses
HttpUtility::GetLastParameter() instead to find out whether verbose
errors are enabled. Also parsing an invalid URL will now not lead to a
stacktrace anymore.

refs #10194
2015-10-27 15:26:19 +01:00
Jean Flach 2fc042e231 Update API actions and documentation
refs #9080 #9105
2015-10-27 14:15:07 +01:00
Gunnar Beutner 23330150f4 Fix invalid delete in IndexerExpression::GetReference
fixes #10466
2015-10-26 18:01:39 +01:00
Gunnar Beutner 1ec20a1e8d Fix: Line continuation is broken in 'icinga2 console'
fixes #10461
2015-10-26 13:04:03 +01:00
Gunnar Beutner dd77863910 Implement Array::ToString and Dictionary::ToString
fixes #10329
2015-10-26 11:05:24 +01:00
Gunnar Beutner de847d0b6f Don't allow scripts to access FANoUserView attributes in sandbox mode
fixes #10457
2015-10-26 10:41:00 +01:00
Gunnar Beutner 13375d74fc Fix: Changing a group's attributes causes duplicate rows in the icinga_*group_members table
fixes #10422
2015-10-26 09:36:13 +01:00
Mhd Sulhan 977d94839b CLI: Hide "Command options" if command is null
Before this commit, if icinga2 command executed without any argument,
the program will print empty "Command options".

While at it, clean the whitespaces.

fixes #10439

Signed-off-by: Gunnar Beutner <gunnar@beutner.name>
2015-10-26 08:05:09 +01:00
Gunnar Beutner 618e031f46 Handle exceptions for NetString::WriteStringToStream in ApiListener::ReplayLog
fixes #10455
2015-10-26 07:56:58 +01:00
Gunnar Beutner 12015e0eca Clean up the 'api setup' command a bit more
refs #9471
2015-10-26 07:03:41 +01:00
Gunnar Beutner b72ba2b63a Fix incorrect return value for ApiSetupUtility::SetupMaster
refs #9471
2015-10-25 19:57:57 +01:00
Gunnar Beutner fd2cd7a3a5 Use operator[] instead of insert() for Dictionary::Set
refs #10428
2015-10-23 06:19:46 +02:00
Gunnar Beutner f31837a6ba Clean up the 'api setup' command
refs #9471
2015-10-22 16:03:26 +02:00
Michael Friedrich d618762dad Export original attributes in DB IDO and Livestatus
fixes #10392
2015-10-22 15:49:42 +02:00
Michael Friedrich d516d16c9a Fix restore_attribute not working in clusters
fixes #10386
2015-10-22 14:50:43 +02:00
Gunnar Beutner 1b8fd9637f Add redirect for /
refs #9105
2015-10-22 13:29:31 +02:00
Gunnar Beutner 10bd3ed9b7 Implement URL handler for /v1
refs #9105
2015-10-22 12:15:32 +02:00
Jean Flach be320b2f77 Update API actions
fixes #10180
refs #9080
2015-10-22 11:33:26 +02:00
Gunnar Beutner 4aa0165701 Add getter for endpoint 'connected' attribute
fixes #10394
2015-10-22 10:52:38 +02:00
Gunnar Beutner 3473731034 Remove api.cpp and api.hpp
fixes #10407
2015-10-22 10:26:56 +02:00
Gunnar Beutner 74ef3e3ce6 Turn includes into AST expressions
fixes #10008
2015-10-22 09:46:31 +02:00
Gunnar Beutner fd5d6de52e Improve performance for Livestatus queries
refs #10428
2015-10-22 08:28:40 +02:00
Michael Friedrich 62c3607531 Fix compiler warnings
refs #9078
2015-10-21 15:50:32 +02:00
Michael Friedrich cb99402766 Fix filter permissions in event streams
refs #9078
2015-10-21 15:38:26 +02:00
Michael Friedrich 286538c17e Implement api event streams
Documentation is not yet complete.

refs #9078
2015-10-21 15:34:26 +02:00
Gunnar Beutner e93dd3cf15 Ensure that the main thread pool gets re-initialized properly after fork()
refs #10410
2015-10-21 09:18:52 +02:00
Gunnar Beutner 3c6f0e31d9 Make sure the timer thread is gone when calling fork()
refs #10410
2015-10-20 23:02:11 +02:00
Gunnar Beutner 438210651f Build fix for OpenBSD 2015-10-20 22:54:58 +02:00
Jean Flach 6b92c6028b Reword nodeutility output
The old comment had a few minor problems:
* Two spaces after 'named'
* No space between // and the begining of the message
* Incorrect capitalization

And one major:
* Incorrectly calling a zone a node

But all of this is subject to change through the use of the configwriter
anyways.

fixes #10406
2015-10-20 12:56:26 +02:00
Gunnar Beutner d01f09f3ef Hide internal attributes in the API
fixes #10393
2015-10-20 08:25:10 +02:00
Gunnar Beutner b77c9edca0 Remove unnecessary default values
refs #9461
refs #8149
2015-10-20 08:06:25 +02:00
Gunnar Beutner 5aa91551a5 Improve validation for CIDR masks
fixes #10375
2015-10-19 10:40:48 +02:00
Michael Friedrich f51a76e13d Log a warning message on unauthorized http request
fixes #10388
2015-10-16 15:32:35 +02:00
Gunnar Beutner a9f14f11e4 Fix query processing for Livestatus queries which use KeepAlive
fixes #9322
2015-10-16 15:12:05 +02:00
Michael Friedrich ed00ab04c7 Fix OSX control sequence
refs #9095
2015-10-16 13:46:43 +02:00
Michael Friedrich c3385e6e38 DB IDO should provide its connected state via /v1/status
fixes #10383
2015-10-16 13:02:41 +02:00
Michael Friedrich 6cc4f85c66 Disallow modify attribute for certain object attributes
fixes #9095
2015-10-16 12:44:08 +02:00
Michael Friedrich 498ff3c1ee Add a debug log message for updating the program status table in DB IDO
fixes #10379
2015-10-15 18:43:30 +02:00
Michael Friedrich 10c306673d Fix wrong connection log message for global zones
fixes #10377
2015-10-15 17:15:19 +02:00
Michael Friedrich 934fb64b9e Fix log message formatting for object version
refs #10355
2015-10-15 16:52:49 +02:00
Michael Friedrich 8ebf087772 Improve error message for socket errors in Livestatus
fixes #10079
2015-10-15 14:58:21 +02:00
Michael Friedrich 5852a003d0 Ensure that modified attributes work with clients with local config and no zone attribute
fixes #10371
2015-10-15 14:05:39 +02:00
Michael Friedrich a0631cd351 Fix wrong type for object version
refs #10355
2015-10-15 11:11:07 +02:00
Gunnar Beutner 4f647527fd Fix: ApiListener::SyncRelayMessage doesn't send message to all zone members
fixes #10365
2015-10-15 09:28:20 +02:00
Gunnar Beutner f89877cd28 Fix incorrect variable type in ApiListener::ConfigUpdateObjectAPIHandler
refs #10355
2015-10-15 09:26:58 +02:00
Gunnar Beutner 21a2986635 Avoid evaluating unnecessary filters
refs #10360
2015-10-14 16:52:01 +02:00
Gunnar Beutner f841daf680 Improve performance for object queries
fixes #10360
2015-10-14 16:08:23 +02:00
Gunnar Beutner 48d80e29a0 Don't look up joined objects when we don't need to
refs #10360
2015-10-14 15:36:59 +02:00
Gunnar Beutner 74aa5c1d6b Make sure that the 'version' attribute is updated when config attributes are changed
fixes #10355
2015-10-14 13:04:39 +02:00
Thomas Gelf 29188a4a10 Improve error handling in cidr_match function
refs #10354

Signed-off-by: Gunnar Beutner <gunnar@beutner.name>
2015-10-14 12:23:59 +02:00
Gunnar Beutner 06a0f182a5 Implement the cidr_match function
fixes #10354
2015-10-14 10:14:01 +02:00
Gunnar Beutner e92b7beeb4 Fix parsing performance data labels which contain '='
fixes #10254
2015-10-13 09:38:31 +02:00
Gunnar Beutner 2484016c54 Fix crash in RepositoryUtility::AddObject
fixes #10326
2015-10-13 09:15:06 +02:00
Gunnar Beutner 7c4fa22715 Fix support for host checks in CheckResultReader
fixes #10348
2015-10-13 08:56:12 +02:00
Gunnar Beutner d59054feee Add missing Start call for base class in CheckResultReader::Start
fixes #10349
2015-10-13 08:38:12 +02:00
Gunnar Beutner 9eb7cfa620 Add missing keywords in ConfigCompiler::GetKeywords
refs #9960
2015-10-07 06:09:55 -07:00
Gunnar Beutner 8136cda367 Implement the ignore_on_error keyword
fixes #9960
2015-10-05 12:44:11 +02:00
Michael Friedrich f0a5a0c23c Fix openssl certificate not after overflow on rhel5
refs #10266
2015-10-02 12:11:21 +02:00
Michael Friedrich c4209e6841 Fix wrong log message 2015-10-02 11:23:45 +02:00
Gunnar Beutner 5f98fd3e9a Update schema version in dbconnection.hpp
refs #9286
2015-10-01 17:13:33 +02:00
Gunnar Beutner 3bfc9a2406 Don't log messages we've already relayed to all relevant zones
fixes #10262
2015-10-01 14:53:28 +02:00
Gunnar Beutner 124d3f71f7 Change field type for ConfigObject::version to double
refs #10257
2015-10-01 04:49:35 +02:00
Gunnar Beutner 55616209ae Only update version when config attributes are changed
refs #10257
2015-10-01 04:45:50 +02:00
Michael Friedrich 9dcb33e8f4 Change object version to timestamps for diff updates on config sync
fixes #10257
2015-09-30 16:58:18 +02:00
Gunnar Beutner 359fb3f82b Fix formatting for floating-point values in ConfigWriter
fixes #10256
2015-09-30 16:43:32 +02:00
Gunnar Beutner c1892a2f30 Remove JsonRpcConnection::m_WriteQueue
refs #9976
2015-09-30 16:39:36 +02:00
Michael Friedrich 0529d51a85 Config sync does not set endpoint syncing and plays disconnect-sync ping-pong
fixes #10255
2015-09-30 16:14:04 +02:00
Michael Friedrich 657e749c9b Config sync shouldn't send updates for objects the client doesn't have access to
fixes #10249
2015-09-30 15:08:01 +02:00
Gunnar Beutner f779b20ec0 Properly encode URLs in Icinga Studio
fixes #10241
2015-09-30 14:02:18 +02:00
Gunnar Beutner f3fdcb0f6b Fix: /v1/objects/<type> returns an HTTP error when there are no objects of that type
fixes #10253
2015-09-30 13:26:19 +02:00
Gunnar Beutner 08ccb4e323 Build fix
refs #10245
2015-09-30 11:05:20 +02:00
Gunnar Beutner 254c076dd4 Fix incorrectly escaped arguments for CreateProcess
fixes #10245
2015-09-30 10:56:31 +02:00
Michael Friedrich 19e7524b31 Fix problem with non-existing objects in config sync updates
refs #9851
refs #9927
refs #9081
2015-09-30 10:04:37 +02:00
Gunnar Beutner 7e4953dd35 Improve log messages for HTTP requests
refs #9074
2015-09-30 08:41:09 +02:00
Michael Friedrich 00712f1902 Use a temporary file for modified-attributes.conf updates
fixes #10238
2015-09-29 18:40:04 +02:00
Michael Friedrich dfa2ac450c Re-add missing package and stage name in configstageshandler
refs #10194
2015-09-29 18:25:48 +02:00
Michael Friedrich 905de04293 Fix deadlock in ApiClient::~ApiClient()
refs #9976
2015-09-29 16:03:38 +02:00
Michael Friedrich bb3b724219 Fix object sync for modified attributes
refs #9851
refs #9927
refs #9081
2015-09-29 14:24:39 +02:00
Michael Friedrich 487ef513cf Remove dead code from old mod attrs in the cluster
refs #9851
2015-09-29 14:24:39 +02:00
Michael Friedrich 1813c0932c Remove dead code from old modified attributes
refs #9851
2015-09-29 14:24:39 +02:00
Michael Friedrich e5b26e60a5 Don't throw an exception when replaying the current replay log file
fixes #10239
2015-09-29 11:02:08 +02:00
Gunnar Beutner 0e40c3ee1d Fix deadlock in TlsStream::Close
fixes #10235
2015-09-29 10:31:16 +02:00
Gunnar Beutner 8dec953829 Fix incorrect variable in Url::ParsePort
refs #10224
2015-09-29 08:28:30 +02:00
Gunnar Beutner 143aa13118 Make Icinga Studio work with the latest API version
fixes #10224
2015-09-29 08:09:48 +02:00
Gunnar Beutner 6fb1b60c12 Fix: NULs don't work in string values
fixes #10234
2015-09-29 07:09:35 +02:00
Gunnar Beutner 8a2c7a055d Remove debug code
refs #9077
2015-09-29 06:48:16 +02:00
Michael Friedrich 76baeadb5b Fix wrong query type in modify object api request
refs #10212
2015-09-28 19:14:38 +02:00
Gunnar Beutner b40152f9fb Fix null pointer dereference in StatusTargetProvider::GetTargetByName
refs  #9088
2015-09-28 16:31:49 +02:00
Michael Friedrich f498ce39f3 Improve api error handling
refs #10194
2015-09-28 16:08:14 +02:00
Michael Friedrich a2058f0e55 Fix incorrect parameter name for status queries
refs #9088
2015-09-28 15:19:01 +02:00
Gunnar Beutner f091379177 Fix: PerfdataValue is not properly serialised in status queries
fixes #10211
2015-09-28 14:37:50 +02:00
Gunnar Beutner 425a1a0166 Implement API permissions
fixes #9088
2015-09-28 14:30:46 +02:00
Gunnar Beutner d24af1e639 Fix incorrect value for IdoMysqlConnection::m_AffectedRows
refs #10190
2015-09-28 13:19:42 +02:00
Gunnar Beutner 8a5d71a565 Move /v1/<type> to /v1/objects/<type>
refs #10212
2015-09-28 08:39:56 +02:00
Michael Friedrich 6549721ec6 Ensure that multiple object handler request methods still work
refs #10194
2015-09-27 15:27:08 +02:00
Michael Friedrich 717118fed4 Fix wrong log lag in cluster-zone check
Refactor the calculation into a generic function
which is also used inside the 2.4 status API.

fixes #8805
2015-09-25 14:24:45 +02:00
Jean-Marcel Flach 5ef4204d06 Improve API error handling and fix some whitespace
fixes #10194
2015-09-25 13:57:28 +02:00
Jean-Marcel Flach 15a46958f0 Rename statusqueryhandler to objectqueryhandler
fixes #10209
2015-09-24 17:38:44 +02:00