Commit Graph

306 Commits

Author SHA1 Message Date
Gunnar Beutner 5c77e6eafe Fix deadlock in ApiListener::RelayMessage
fixes #10002
2015-09-02 07:46:30 +02:00
Michael Friedrich da83bae660 Rename config/modules to config/packages
fixes #9953
2015-09-01 20:09:04 +02:00
Gunnar Beutner c37a23ccba Implement the Icinga Studio application
fixes #10042
2015-08-31 07:50:01 +02:00
Gunnar Beutner 6705853e33 Add plural_name field to /v1/types
fixes #10038
2015-08-29 12:05:44 +02:00
Gunnar Beutner 9d9a7ca73d Fix filtering by name
fixes #10027
2015-08-28 10:52:59 +02:00
Gunnar Beutner d7a21c2361 Fix incorrect HTTP encoding
refs #10024
2015-08-28 10:03:26 +02:00
Gunnar Beutner 49fd5b582d Fix: HttpHandler is calling HttpResponse::Finish twice for 404s
fixes #10024
2015-08-28 09:49:31 +02:00
Jean Flach f1a1dfb26e Update use of String::Trim()
fixes #9704
2015-08-27 18:06:20 +02:00
Jean Flach 01ced1549a Implement all actions except modified attributes
refs #9080 #9979
2015-08-26 13:53:17 +02:00
Gunnar Beutner b6eb621d30 Add missing field attribute for the /v1/types API handler
refs #9076
2015-08-26 11:02:22 +02:00
Gunnar Beutner 06f02f8b10 Implement reflection support for the API
fixes #9076
2015-08-26 10:58:59 +02:00
Gunnar Beutner 1f63bcb1b3 Remove unused argument 'async'
refs #9972
2015-08-26 06:57:24 +02:00
Gunnar Beutner de09a562f6 Use dependency graph when deleting objects
refs #9096
2015-08-26 06:35:06 +02:00
Jean Flach 2a9ac26338 Move endpoint error check to ti file
refs #9623
2015-08-25 17:06:08 +02:00
Jean Flach 9b05304435 Add config error on empty port in Endpoints
fixes #9623
2015-08-25 16:44:32 +02:00
Gunnar Beutner f45f6ccd82 Implement support for tracking dependencies between config objects
refs #9096
2015-08-25 13:54:05 +02:00
Michael Friedrich 7eca257784 Fix return value of Utility::MkDir/MkDirP
None as there are exceptions thrown.

fixes #9689
2015-08-24 15:11:49 +02:00
Gunnar Beutner 380b1275b7 Clean up the API action code a bit
refs #9080
2015-08-24 08:01:33 +02:00
Michael Friedrich 92364d7b73 Remove debug messages in HttpRequest class
fixes #9946
2015-08-21 14:46:18 +02:00
Jean Flach c5fe46a300 Experimental actions without types
refs #9080
2015-08-21 12:48:32 +02:00
Gunnar Beutner b3db2ee1f6 Fix crash in ConfigObjectUtility::CreateObject
refs #9082
2015-08-18 20:25:06 +02:00
Gunnar Beutner da7d04581d Add missing attributes for dependent objects
refs #9082
2015-08-18 19:39:10 +02:00
Gunnar Beutner 71dc682924 Implement support for "." in attributes when creating objects
refs #9082
2015-08-18 16:53:30 +02:00
Gunnar Beutner 0cbcb75e79 Ensure that runtime config objects are persisted on disk
refs #9101
fixes #9926
2015-08-18 14:21:55 +02:00
Gunnar Beutner d8cab2f0e8 Add 'override' keyword to methods
refs #9929
2015-08-18 12:45:30 +02:00
Gunnar Beutner 60a30d50f6 Don't allow users to delete objects that weren't created using the API
refs #9082
2015-08-18 08:22:14 +02:00
Gunnar Beutner d118b71a2a Fix compiler warnings
fixes #9929
2015-08-18 07:46:04 +02:00
Gunnar Beutner 147f69a8f6 Implement support for filter_vars
fixes #9940
2015-08-18 06:47:07 +02:00
Gunnar Beutner 071d2f18fb Rename DynamicObject/DynamicType to ConfigObject/ConfigType
fixes #9914
2015-08-15 20:40:41 +02:00
Gunnar Beutner 827de21907 Improve error messages for duplicate objects
refs #9101
2015-08-15 20:07:12 +02:00
Gunnar Beutner ce2735f10b Fix validation errors when creating objects with the API
refs #9101
2015-08-15 20:07:11 +02:00
Gunnar Beutner e2290d5012 Implement support for unregistering objects
refs #9101
2015-08-15 20:07:11 +02:00
Gunnar Beutner 16ddc12c06 Implement support for creating objects
refs #9101
2015-08-15 20:07:11 +02:00
Gunnar Beutner 3d78870339 Implement support for modified attributes in the API
refs #9081
2015-08-15 20:07:11 +02:00
Michael Friedrich d7970f5bb1 Implement modified attributes v2
refs #9081
refs #9093
2015-08-15 20:07:10 +02:00
Gunnar Beutner 1c657feea1 Fix warnings about invalid API function 'icinga::Hello'
fixes #9884
2015-08-11 14:19:20 +02:00
Gunnar Beutner 2e43c57d6b Make sure we're always creating the conf.d and zones.d directories
fixes #9879
2015-08-11 12:59:26 +02:00
Gunnar Beutner ec8cdcd554 Fix incorrect function name
refs #9876
2015-08-11 12:56:30 +02:00
Gunnar Beutner f600d75930 Fix crash during cluster log replay
fixes #9876
2015-08-11 12:09:17 +02:00
Gunnar Beutner 73b72544ee Fix URL handlers
refs #9768
2015-08-11 09:31:56 +02:00
Michael Friedrich d7e8d8afc9 Fix cluster check w/ immediate parent and child zone endpoints
fixes #9262
2015-08-03 16:16:46 +02:00
Michael Friedrich 6f47c1badc Fix S_ISDIR on Windows
fixes #9813
2015-08-03 15:13:45 +02:00
Jean-Marcel Flach 9b6ebbc69b Implement basic actions framework
refs #9080
2015-07-30 17:50:17 +02:00
Gunnar Beutner 625a7eafbe Fix URL parameters for filters
refs #9077
2015-07-30 08:30:39 +02:00
Gunnar Beutner f74148f157 Fix HTTP handlers
refs #9768
2015-07-29 13:39:58 +02:00
Jean Flach 2414dee602 Update url parser
fixes #9768
2015-07-29 13:14:43 +02:00
Gunnar Beutner a97782b3e5 Implement support for limiting output attributes
refs #9077
fixes #9614
2015-07-28 17:12:51 +02:00
Gunnar Beutner 5fd7c42faf Fix incorrect URL for status queries
refs #9077
2015-07-28 14:54:16 +02:00
Gunnar Beutner 8fc1d6d0d0 Improve error messages a bit
refs #9077
2015-07-28 14:40:44 +02:00
Gunnar Beutner 15e5dbd151 Add support for implicit 'true' filter when filter parameter is missing
refs #9077
2015-07-28 14:33:09 +02:00
Gunnar Beutner 890694e629 Implement support for filters
fixes #9077
2015-07-28 13:57:59 +02:00
Michael Friedrich fa3d380dff Fix a problem where invalid stage config could lead into broken stages
refs #9103
refs #9083
2015-07-24 16:05:13 +02:00
Michael Friedrich fca7a33aac Implement config file management for the API
refs #9083

fixes #9102
fixes #9103
fixes #9104

fixes #9705
2015-07-23 17:57:24 +02:00
Michael Friedrich 43ff15cf86 Fix problem with child nodes in http url registry
fixes #9703
2015-07-22 12:27:07 +02:00
Gunnar Beutner 6c3bafb722 Implement support for the X-HTTP-Method-Override HTTP header
fixes #9698
2015-07-22 08:28:15 +02:00
Gunnar Beutner f1a95e3340 Fix incorrect filename in ApiListener::SyncZoneDir
refs #9083
2015-07-21 11:45:53 +02:00
Gunnar Beutner ccd63b9d15 Implement the include_zones directive
refs #9083
2015-07-21 09:32:17 +02:00
Michael Friedrich 4bc42281be Build fix for Linux
refs #9647
2015-07-20 17:21:27 +02:00
Gunnar Beutner e47d5006d2 Build fix for Windows
refs #9647
2015-07-20 13:41:58 +02:00
Jean-Marcel Flach b9a4a64249 Move url handler to /lib/remote
fixes #9647
2015-07-16 13:35:32 +02:00
Gunnar Beutner ceea8a24d3 Add missing HTTP response headers
refs #9594
2015-07-13 08:29:48 +02:00
Michael Friedrich 269e79647f Rename HttpRequest.Url to HttpRequest.RequestUrl
Otherwise gcc will break with the Url class, clang works.

refs #9447
2015-07-09 17:32:19 +02:00
Michael Friedrich 8bf949852a API: Implement password- and certificate-based authentication
fixes #9086
fixes #9085
refs #9594
2015-07-09 15:27:14 +02:00
Michael Friedrich f8f86d89a4 Add ApiUser::GetByClientCN()
refs #9471
refs #9086
2015-07-09 15:25:51 +02:00
Michael Friedrich 58a3cd7fef Add Base64::{En,De]code()
fixes #9594
2015-07-09 15:20:47 +02:00
Michael Friedrich 9b469453a7 Fix compiler warnings
refs #9447
2015-07-09 12:46:04 +02:00
Michael Friedrich 14baa4a79b Build fix
refs #9447
2015-07-09 12:28:15 +02:00
Gunnar Beutner b357012ded Implement HTTP support
refs #9447
2015-07-09 11:42:34 +02:00
Michael Friedrich 8450cb5d6c MAke ApiUser::CheckPassword() const
refs #9471
2015-07-02 09:26:43 +02:00
Michael Friedrich 14f5986aa5 Implement the ApiUser object type
Hide password in GetPassword() and add CheckPassword().
Includes basic unit tests.

refs #9471
2015-06-24 14:28:52 +02:00
Gunnar Beutner 8dcb4efa5e Fix stability issues with the TlsStream/Stream classes
fixes #9481
2015-06-24 09:48:55 +02:00
Markus Frosch cfbe82d841 Remove selective reconnecting behavior
We want to remove the partial reconnecting behavior, so that all endpoints of
a zone try to connect to a lower or higher zone in hierarchy.

fixes #9406

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-06-15 14:47:04 +02:00
Gunnar Beutner 72a7b08480 Move implementation code from thpp files into separate files
fixes #8890
2015-03-28 11:08:12 +01:00
Gunnar Beutner ec7224e3ed Generate C++ code for type validators
fixes #7709
fixes #8867
2015-03-27 07:59:27 +01:00
Michael Friedrich 8573636cc9 Fix crash in Dependency::Stop()
This partially reverts the fix in #8436

fixes #8687
refs #8436
2015-03-12 11:44:55 +01:00
Gunnar Beutner 44114232d3 Fix timeout problem with API heartbeat messages
fixes #8672
2015-03-11 12:53:43 +01:00
Gunnar Beutner 4e16f48255 Don't accept config updates for zones for which we have an authoritative copy of the config
fixes #8555
2015-03-09 08:46:01 +01:00
Gunnar Beutner fd9dc32a3d Implement SNI support for the TlsStream class
fixes #8610
2015-03-05 14:15:42 +01:00
Gunnar Beutner e52a1f38f3 Fix uninitialized field in the ApiListener class
Coverity Bug ID: 1272321
2015-03-02 10:14:14 +01:00
Gunnar Beutner 4cc7d4963c Refactor the API timeout timer
refs #8554
2015-02-27 20:18:20 +01:00
Gunnar Beutner d7000fa757 Make sure that the timeout timer gets destroyed properly
refs #8554
2015-02-27 19:54:41 +01:00
Gunnar Beutner 9622b075bc Use the main threadpool to disconnect API clients
refs #8554
2015-02-27 18:32:28 +01:00
Jean-Marcel Flach 9ed21563ff Use RequestShutdown with exitcode instead of Application::Exit
fixes #8436
2015-02-27 14:43:30 +01:00
Gunnar Beutner 2884e8318d Fix null pointer dereference in ApiClient::TimeoutTimerHandler
fixes #8553
2015-02-27 14:12:50 +01:00
Gunnar Beutner bb2cdff435 Fix a deadlock in ApiClient::Disconnect
fixes #8549
2015-02-26 17:23:06 +01:00
Gunnar Beutner 4e8c5706e1 Don't send heartbeats during log replay
fixes #8461
refs #8485
2015-02-26 14:59:39 +01:00
Gunnar Beutner c439ee6d9f Fix a crash in ApiClient::TimeoutTimerHandler
refs #8485
2015-02-26 13:31:38 +01:00
Gunnar Beutner 1302f7c841 Improve log message for cluster connection timeouts
refs #8485
2015-02-26 13:09:13 +01:00
Gunnar Beutner a3ccd2a1fb Close client connections if we haven't received any messages in some time
refs #8485
2015-02-26 12:41:47 +01:00
Gunnar Beutner 2b44fcb571 Make sure that the 'connecting' flag is reset properly
refs #8485
2015-02-26 11:26:08 +01:00
Gunnar Beutner 5fe2536629 Add missing locks in ApiListener::UpdateConfigDir 2015-02-24 16:03:32 +01:00
Michael Friedrich ba77d7b35f ApiListener: Fix misleading connection log messages
fixes #8493
2015-02-20 15:11:44 +01:00
Gunnar Beutner 33e747ae2e Don't require tickets for clients which already have a trusted certificate
fixes #8465
2015-02-18 08:13:44 +01:00
Gunnar Beutner 667b62cc3c Improve log messages for ApiListener::ApiTimerHandler 2015-02-17 15:46:29 +01:00
Gunnar Beutner d5c33d84f7 Fix a deadlock in ApiClient::~ApiClient
fixes #8462
2015-02-17 14:31:10 +01:00
Gunnar Beutner 1c7a0d03a1 Fix a case where NetString::ReadStringFromStream might incorrectly return StatusEof
refs #6109
2015-02-14 18:48:33 +01:00
Gunnar Beutner f097e48889 Don't use separate threads for each ApiClient object
fixes #6109
2015-02-14 16:34:36 +01:00
Gunnar Beutner e0bbfb175c Move most of the socket I/O to a separate thread
fixes #8300
fixes #8243
2015-02-14 09:42:11 +01:00
Michael Friedrich 2cab6fbb9d Make the argments for the stats functions const-ref
fixes #8433
2015-02-13 11:29:15 +01:00
Gunnar Beutner b0f7a29212 Add missing spaces in some error messages
refs #7995
2015-02-10 08:57:54 +01:00
Gunnar Beutner f07fb97264 Fix timestamp format for the .timestamp file
fixes #8313
2015-02-09 15:22:55 +01:00
Gunnar Beutner 97fc5bb10b Implement additional attributes for the Host class
refs #7564
2015-02-09 08:50:17 +01:00
Gunnar Beutner 67e50a3d47 Config sync: Open config files in binary mode
fixes #8390
2015-02-09 07:44:45 +01:00
Michael Friedrich 21f86b9061 Fix authoritative zones in config sync
fixes #8388
refs #8256
2015-02-07 23:41:43 +01:00
Michael Friedrich ea2ac81003 Remove name and return value for stats functions
fixes #6171
2015-02-07 22:36:17 +01:00
Michael Friedrich 289ca2ec24 Improve error messages on Endpoint not belonging to a zone or multiple zones
fixes #8372
2015-02-07 20:07:34 +01:00
Gunnar Beutner 88e1aadbf2 Use a separate thread for TLS connection attempts
fixes #8295
2015-01-28 08:35:36 +01:00
Michael Friedrich 78bfd0204c Update copyright year 2015-01-22 12:00:23 +01:00
Gunnar Beutner 310278344c Make sure we don't include zones.d directories for zones which were removed
fixes #8256
2015-01-20 13:18:40 +01:00
Gunnar Beutner 55b7f00382 Remove unnecessary includes 2014-12-15 10:16:06 +01:00
Gunnar Beutner c70623ec7c Add log message for heartbeat timeouts
refs #7745
2014-12-10 09:57:08 +01:00
Gunnar Beutner 4a81dbb6fc Build fix for Windows 2014-12-09 15:07:49 +01:00
Gunnar Beutner 4d657163c3 Implement heartbeat messages for the cluster
fixes #7745
2014-12-09 13:17:27 +01:00
Michael Friedrich a07600a469 Fix missing lock in ConfigUpdateHandler() 2014-12-01 13:19:55 +01:00
Gunnar Beutner 8611682cdb Fix initialization for the ApiListener class
fixes #7780
2014-11-21 23:23:31 +01:00
Gunnar Beutner 7fc5af6aff Fix initialization bug for the Endpoint class
refs #7780
2014-11-21 21:01:44 +01:00
Gunnar Beutner 7321e45abc Implement support for executing remote commands
fixes #7559
2014-11-13 14:54:55 +01:00
Gunnar Beutner 11710ef683 Fix static initializers
refs #7634
2014-11-11 13:24:44 +01:00
Gunnar Beutner 478f03b49a Replace boost::shared_ptr with boost::intrusive_ptr
refs #7622
2014-11-09 16:54:41 +01:00
Michael Friedrich a362b5c14c Fix Zone::IsGlobal() 2014-11-08 22:57:09 +01:00
Gunnar Beutner 266b1754c7 Speed up type lookups
refs #7561
2014-11-07 12:39:32 +01:00
Gunnar Beutner 170c5a59e4 Implement typeof() function 2014-11-03 00:45:14 +01:00
Michael Friedrich f69527599f Cli: Fix serial.txt permissions for 'node setup/wizard'
fixes #7546
2014-11-02 19:38:35 +01:00
Gunnar Beutner 7559273359 Replace cJSON with YAJL
fixes #7452
2014-10-26 20:00:35 +01:00
Gunnar Beutner 5cb08f3ecc Fix incorrect attribute name
fixes #7446
2014-10-24 17:48:02 +02:00
Gunnar Beutner 17003d0157 Remove unnecessary initializers
refs #7247
2014-10-23 19:02:16 +02:00
Gunnar Beutner 9368ff0e03 Update some more log messages 2014-10-20 10:09:57 +02:00
Gunnar Beutner 2d5e9514a5 Refactor logging code 2014-10-19 17:52:17 +02:00
Gunnar Beutner b18f57a745 Remove logger_fwd.hpp 2014-10-19 14:50:39 +02:00
Gunnar Beutner 92896311f3 Implement support for C/C++ comments in the TI compiler
fixes #5018
2014-10-17 19:44:31 +02:00
Gunnar Beutner 97cf93089b Build fix for FreeBSD 2014-10-16 13:36:25 +02:00
Gunnar Beutner f433679b13 Implement the "pki request" and "pki ticket" commands
refs #7244
2014-10-16 12:27:34 +02:00
Gunnar Beutner 311cce5d41 Allow TLS connections with unverified certificates
refs #7244
2014-10-16 09:01:18 +02:00
Gunnar Beutner 879684efcd Fix problems with PNP4Nagios
fixes #7268
2014-09-17 15:38:39 +02:00
Gunnar Beutner ac32d4b382 Improve thread spawning behavior
fixes #7186
2014-09-11 11:45:21 +02:00
Gunnar Beutner 092983d5ad Properly deal with closed TLS streams
fixes #6892
2014-09-09 15:28:55 +02:00
Gunnar Beutner 9a06b09366 ApiClient: Don't try to write to closed streams
refs #6892
2014-09-09 15:12:39 +02:00
Gunnar Beutner 5bb3971f0b Increase queue size for API clients
fixes #6841
fixes #7096
2014-09-05 11:54:47 +02:00
Gunnar Beutner 6f2ea6bc08 Fix build problems with Oracle Solaris Studio
refs #6896
2014-09-02 13:09:17 +02:00
Gunnar Beutner eb091a87b0 Implement support for unity builds
fixes #7034
fixes #7035
2014-08-30 20:02:12 +02:00
Gunnar Beutner fca79dd66c Check object access when replaying log files
fixes #6205
2014-08-26 11:01:29 +02:00
Gunnar Beutner f7f8bd9b00 Use const-ref specifier when catching exceptions
refs #6070
2014-08-25 08:36:30 +02:00
Gunnar Beutner 2c7f440a73 Implement support for ApiListener::bind_host
fixes #6998
2014-08-25 08:27:19 +02:00
Gunnar Beutner 3972aa20c4 Change log level for one of the log messages
refs #6066
2014-08-22 16:00:57 +02:00
Gunnar Beutner 29db3f0972 Add more log messages for API connections
refs #6066
2014-08-22 15:39:34 +02:00
Gunnar Beutner 107a152a8f Improve TLS and cluster error messages
refs #6066
2014-08-20 14:07:23 +02:00
Michael Friedrich f6c24f8964 DB IDO: Delay connection in HA RunOnce mode
refs #6827
refs #6203
2014-08-15 17:21:12 +02:00
Michael Friedrich de229f9fec Exit early on ApiListener SSL errors
refs #6682
2014-08-05 12:14:24 +02:00
Gunnar Beutner 883170a806 Avoid duplicate API connections
refs #6724
2014-08-05 09:10:59 +02:00
Michael Friedrich 51329f0b3c Bail early if ApiListener cannot be started
refs #6682
2014-08-04 17:23:41 +02:00