Commit Graph

3005 Commits

Author SHA1 Message Date
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
Jean-Marcel Flach d8eca3d0c2 Move /status/Collection to /status
fixes #10210
2015-09-24 15:26:57 +02:00
Michael Friedrich 8c997255a9 DB IDO: Fix modified custom attribute update query problems
fixes #10190
2015-09-24 11:45:44 +02:00
Gunnar Beutner 0c10d64094 Fix incorrect error messages for apply-for
fixes #10205
2015-09-24 08:30:03 +02:00
Michael Friedrich aa12a4e75c Add icinga, cluster, cluster-zone check information to the ApiListener status handler
fixes #8093
2015-09-23 18:09:46 +02:00
Jean-Marcel Flach 4ef9761fee Implement status api handler
Global statistics, features, etc.

fixes #10116
2015-09-23 16:59:07 +02:00
Gunnar Beutner e19a36c659 Fix parser error when using new-lines in dictionaries
fixes #10204
2015-09-23 16:37:21 +02:00
Michael Friedrich 84536da221 Implement global modified attributes for the IcingaApplication class
fixes #9859
2015-09-23 15:02:53 +02:00
Michael Friedrich 12cf90c67c Fix persisting and restoring modified attributes for custom attribute indexers
fixes #9935
fixes #9968
2015-09-23 13:29:30 +02:00
Gunnar Beutner ff59402a10 Remove unnecessary check in Value::IsObject
refs #10199
2015-09-23 10:48:49 +02:00
Gunnar Beutner afcb97303c Remove unnecessary MakeLiteral calls in SetExpression::DoEvaluate
fixes #10199
2015-09-23 10:37:13 +02:00
Gunnar Beutner c15c9cce5e Detect infinite recursion in user scripts
fixes #10198
2015-09-23 09:21:45 +02:00
Gunnar Beutner eeb01831c0 Implement the Array#reverse and String#reverse methods
fixes #10197
2015-09-23 09:06:15 +02:00
Gunnar Beutner b163e4a002 Make ConfigObject::{Get,Set}Field() methods public
fixes #10186
2015-09-23 08:33:18 +02:00
Gunnar Beutner 48bdd0ebf4 Fix: null + null should not be ""
fixes #10192
2015-09-22 13:13:38 +02:00
Gunnar Beutner 3bca951b81 Add missing handler for OnActiveChanged
refs #9098
2015-09-22 12:01:34 +02:00
Gunnar Beutner c5fe42e0b0 Update objects.cache when config is changed
fixes #9098
2015-09-22 11:56:27 +02:00
Gunnar Beutner ad6c8eaf7e Fix: String methods cannot be invoked on an empty string
fixes #10191
2015-09-22 11:24:00 +02:00
Gunnar Beutner 1a6b41787a Implement joins for status queries
fixes #10060
2015-09-22 09:45:23 +02:00
Michael Friedrich 95bcbec5b5 Implement support for restoring modified attributes
Also fix a glitch with ModifyAttribute and original_attributes
storage.

fixes #9935
2015-09-18 15:01:44 +02:00
Michael Friedrich f7b5aa33ce Fix a couple of wrong white spaces 2015-09-18 13:04:09 +02:00
Michael Friedrich 57179f3bdd Only sync objects actually belonging to a cluster zone
refs #9927
refs #9100
2015-09-18 12:49:38 +02:00
Michael Friedrich f2c3bffdd9 Sync cluster config before replaying the logs
If there were objects added at runtime (either through direct api
creation or by using the config file management api) the newly
created objects must be synced first, and then the stored historical
data should be synced.

refs #9927
refs #9100
2015-09-18 10:07:13 +02:00
Michael Friedrich 18d645e4ef Add zone attribute influencing cluster config sync for API objects
1) No zone defined. The object will only be synced in the local zone for HA purposes.
2) Zone is set to 'master'. Only nodes in the master zone will get this object and updates synced.
3) Zone is set to 'satellite'. Only nodes in the satellite zone, or in parent zones above will get this object and updates synced.
4) Zone is set to 'client'. Only nodes in the client zone, and in parent zones (satellite, master) will get object updates.

Furthermore this commit adds a bit more security measures for syncing object
config bottom-up which is clearly restricted at this time. Clients cannot
send their config to the top, but yet we only support the top-down thing we
also have with the cluster file config sync.

The initial sync will also take the zone relation model into account
and only allow object syncs only when the same conditions apply as written
above.

refs #9927
refs #9100
2015-09-17 14:20:44 +02:00
Michael Friedrich 0fd9d3406b Prevent object deletion on shutdown when checking !IsActive()
This is fairly ugly and sets an extension for the ConfigObjectUtility
delete handler to signal the OnActiveChanged handler inside the cluster
configsync to send a delete event to the other nodes.

refs #9927
2015-09-17 14:20:44 +02:00
Michael Friedrich 4955c28b0c Implement initial api object sync for newly connected endpoints
TODO: Figure out how to deal with Shutdown() deactivating and
therefore deleting all api created objects.

refs #9927
2015-09-17 14:20:44 +02:00
Michael Friedrich a6d8cea5c2 Update DB IDO on changed object version (create, update, delete)
refs #9927
2015-09-17 14:20:44 +02:00
Michael Friedrich b2715943c6 Config Sync: Properly modify attributes and object version
refs #9927
2015-09-17 14:20:44 +02:00
Michael Friedrich 81a0bc6f1b Implement deleting api created objects in the cluster
refs #9927
2015-09-17 14:20:44 +02:00
Michael Friedrich f9c058eca2 Implement object config sync permissions and modified attributes based on version
refs #9927
2015-09-17 14:20:43 +02:00
Gunnar Beutner 6fa58a520c Implement config object sync
Adds object version.

refs #9927
2015-09-17 14:20:43 +02:00
Tobias von der Krone da8613acf9 Add timestamp support for OpenTSDB
fixes #9183
2015-09-15 15:37:15 +02:00
Michael Friedrich fcf2f0ef5d Deprecate IcingaStatusWriter feature
fixes #8741
2015-09-14 10:36:06 +02:00
Michael Friedrich b10cb8a2e7 Implement a better Graphite tree schema
This changes the entire tree, but with the prefix "icinga2"
not to conflict with existing installations. Includes
enable_legacy_mode and detailed documentation.

fixes #9461
fixes #8149
2015-09-06 11:10:49 +02:00
Michael Friedrich 3403765900 Use the command_endpoint name as check_source value if defined
fixes #9218
2015-09-05 15:18:10 +02:00
Michael Friedrich fa6c0fe173 Fix string escape problem with PostgreSQL >= 9.1 and standard_conforming_strings=on
fixes #9244
2015-09-05 14:08:35 +02:00
Jean Flach 6571ffc2c8 Update url parser
fixes #10039
2015-09-04 14:40:27 +02:00
Michael Friedrich 50cd694142 Fix wrong calculation for host compat state UNREACHABLE
fixes #10058
2015-09-04 13:24:41 +02:00
Michael Friedrich 9a2ae6e58f Fix missing zero padding for generated CA serial
fixes #10074
2015-09-03 17:12:01 +02:00
Gunnar Beutner 35acba7dc1 Remove default WQ limits
refs #10002
2015-09-02 09:16:20 +02:00
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
Paul Richards 9b73205481 Build fix for the demo module
fixes #10041

Signed-off-by: Michael Friedrich <michael.friedrich@gmail.com>
2015-08-30 19:04:26 +02:00
Gunnar Beutner 6705853e33 Add plural_name field to /v1/types
fixes #10038
2015-08-29 12:05:44 +02:00
Michael Friedrich ce99dce3cb Remove unused variable
fixes #10034
refs #9872
2015-08-28 17:40:18 +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 5bbc8cacbd Add String ToLower, ToUpper, change Trim
fixes #9704 #9944
2015-08-27 17:18:21 +02:00
Gunnar Beutner f2a055c85a Use an AST node for the 'library' keyword
fixes #10017
2015-08-27 14:50:08 +02:00
Gunnar Beutner 63a1ff77c3 Implement the resolve_arguments function
fixes #10006
2015-08-27 09:02:21 +02:00
Gunnar Beutner 6ef9d3c4db Missing macros in nested macro() calls should not cause the outer macro resolution to fail
fixes #10003
2015-08-27 09:02:21 +02:00
Gunnar Beutner 373b88df33 Implement the escape_shell_arg and escape_shell_cmd functions
fixes #10004
2015-08-27 09:02:21 +02:00
Jean Flach 73d8ffb462 Fix range() with negative increments
fixes #9999
2015-08-26 16:38:26 +02:00
Jean Flach 01ced1549a Implement all actions except modified attributes
refs #9080 #9979
2015-08-26 13:53:17 +02:00
Gunnar Beutner 3afe9a35d8 Implement the 'name' field for types
refs #9076
2015-08-26 13:05:09 +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 3ea71e82c5 Fix incorrect field type for the Type.base field
refs #9076
2015-08-26 11:00:05 +02:00
Gunnar Beutner 06f02f8b10 Implement reflection support for the API
fixes #9076
2015-08-26 10:58:59 +02:00
Gunnar Beutner ae214db0fc Change base type for 'Type' to 'Object'
refs #9076
2015-08-26 10:58:03 +02:00
Gunnar Beutner 2109944580 Fix: Console auto-completion should take into account parent classes' prototypes
fixes #9843
2015-08-26 09:02:31 +02:00
Gunnar Beutner 1f63bcb1b3 Remove unused argument 'async'
refs #9972
2015-08-26 06:57:24 +02:00
Gunnar Beutner 827125a69a Clean up the code a bit
refs #9096
2015-08-26 06:35:06 +02:00
Gunnar Beutner 8fc92d8a08 Fix crash in ConfigItem::CommitNewItems
refs #9096
2015-08-26 06:35:06 +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 6af771b3bf Fix crash in ConfigCompiler::RegisterZoneDir
fixes #9987
2015-08-24 14:14:44 +02:00
Gunnar Beutner 6a8f890e7c Remove the FutureExpression class
fixes #9972
2015-08-24 11:04:26 +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
Michael Friedrich 981ed591e9 API: Return comment/downtime ids, refactor code
refs #9080
2015-08-21 12:49:51 +02:00
Jean Flach c5fe46a300 Experimental actions without types
refs #9080
2015-08-21 12:48:32 +02:00
Jean Flach afd6af39d5 Implement external commands as api actions
refs #9080
2015-08-21 12:48:32 +02:00
Gunnar Beutner b43a3135cc Fix: Utility::Glob on Windows doesn't support wildcards in all but the last path component
fixes #9962
2015-08-19 07:54:06 +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 5a72eaa768 Make sure the serial number field is always initialized
fixes #9947
2015-08-18 15:05:53 +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 7fc7cde6a1 Build fix for Windows 2015-08-17 19:36:27 +02:00
Michael Friedrich 0f5287c2b1 Add module attribute for ConfigObject and set its origin
fixes #9852
2015-08-17 16:08:57 +02:00
Michael Friedrich 13b5acec90 Implement support for . in modify_attribute
fixes #9852
2015-08-17 14:55:51 +02:00
Michael Friedrich 428be72bab Implement Object#clone and rename Array/Dictionary#clone to shallow_clone
fixes #9931
2015-08-17 13:59:49 +02:00
Gunnar Beutner 7d6a920b3d Build fix 2015-08-17 11:20:52 +02:00
Michael Friedrich 020533842b Add missing category for IDO query
fixes #9928
2015-08-17 11:04:14 +02:00
Gunnar Beutner ff974d4eee Fix compiler warnings
refs #9081
2015-08-17 10:09:15 +02:00
Gunnar Beutner db8b4afa58 Fix incorrect base class name for Array/Dictionary/etc.
refs #9921
2015-08-17 08:14:04 +02:00
Gunnar Beutner 9ecfd9c830 Allow comments in JSON
fixes #9919
2015-08-17 08:03:25 +02:00
Gunnar Beutner a546a67934 Implement the 'base' field for the Type class
fixes #9921
2015-08-17 07:59:44 +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 1b21faeb5d Move object name validation into ConfigItemBuilder class
fixes #9911
2015-08-15 20:07:11 +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 f405a26052 Implement validation for modified attributes 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
Gunnar Beutner a092c13ace Implement support for persisting modified attributes
fixes #9093
2015-08-15 20:07:10 +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 9b0375bed8 Use an empty dictionary for the 'this' scope when executing commands with Livestatus
fixes #9883
2015-08-11 13:58:31 +02:00
Gunnar Beutner d30d1d4dda Implement the Dictionary#keys method
fixes #9882
2015-08-11 13:58:29 +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
Gunnar Beutner d7d16d3f36 Fix crash in ScriptFrame::~ScriptFrame in debug builds
fixes #9868
2015-08-11 07:12:49 +02:00
Gunnar Beutner 38d2464ab2 Remove color codes in the console prompt
fixes #9872
2015-08-11 07:05:55 +02:00
Gunnar Beutner aa00f4183a Get rid of code duplication in ConfigWriter/ConsoleCommand
refs #9099
2015-08-11 06:47:08 +02:00
Gunnar Beutner 930dc603af Build fix for Windows 2015-08-10 15:38:45 +02:00
Gunnar Beutner 7890e20da7 Implement reload functionality for Windows
fixes #7880
2015-08-10 15:28:31 +02:00
Gunnar Beutner 07f9df8b2d Build fix for Windows 2015-08-10 15:28:31 +02:00
Gunnar Beutner f541a62a34 Fix: Make sure we're continuously reading from child processes' pipes
fixes #9867
2015-08-10 15:28:30 +02:00
Gunnar Beutner 8f3396ae0d Implement support for attaching GDB to the Icinga process on crash
fixes #9866
2015-08-08 09:41:39 +02:00
Gunnar Beutner a7bfc5ef16 Fix: Dict initializer incorrectly re-initialized field that is set to an empty string
fixes #9835
2015-08-05 07:45:10 +02:00
Michael Friedrich fc1049fb68 Fix node wizard ignoring local zone name
fixes #9782
2015-08-03 16:23:59 +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
Michael Friedrich 973db46d40 Implement support for writing configuration files
fixes #9099
2015-08-03 15:07:38 +02:00
Gunnar Beutner 276f491762 Fix: Operator + is inconsistent when used with empty and non-empty strings
fixes #9806
2015-08-01 04:38:12 +02:00
Jean Flach 60f86d01fe Implement /v1/actions/process-check-result
Requires error handling.

refs #9080
2015-07-31 17:18:49 +02:00
Michael Friedrich 0712a02d1b Add a warning if EventCommand is not found when using command_endpoint
fixes #9773
2015-07-31 16:04:03 +02:00
Michael Friedrich 766e2d73f4 Implement external command DEL_DOWNTIME_BY_HOST_NAME
Required by Classic UI 1.x, this will hopefully reduce
the noise on non-working commands with the old legacy stuff.

fixes #8979
2015-07-31 14:50:17 +02:00
Gunnar Beutner 1314cba61b Implement Dictionary#get and Array#get
fixes #9796
2015-07-30 20:58:52 +02:00
Gunnar Beutner 5bd46c2b38 Fix: ScriptFrame's 'Self' attribute gets corrupted when an expressions throws an exception
fixes #9795
2015-07-30 20:22:02 +02:00
Gunnar Beutner 9d098482dd Fix: Operator - should not work with "" and numbers
fixes #9793
2015-07-30 20:01:08 +02:00
Gunnar Beutner df6deb1b3e Fix: "" should not be equal to 0
fixes #9792
2015-07-30 19:58:22 +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 1634dbc6e4 Fix crash when trying to set field on a value that is not an object
fixes #9779
2015-07-30 08:28:07 +02:00
Gunnar Beutner a82c65692c Fix accessor for field 0 ("prototype")
fixes #9778
2015-07-30 08:23:43 +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 0b495d1858 Set correct X509 version for certificates
fixes #9769
2015-07-29 12:59:12 +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 0a1dad0a8f Fix broken cluster config sync w/ latest api changes
Apart from dropping the requirement of adding 'include_zones "etc", "zones.d"'
on upgrade to 2.4, we've forgotten to register the local zone directory into
the new ZoneFragment tree.

This fix adds a new function to register the local zones.d directory.
After that the config sync works again.

fixes #9735
2015-07-26 17:57:34 +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
Michael Friedrich a786dfa2ca Add Array::FromVector() method
fixes #9693
2015-07-21 16:09:19 +02:00
Michael Friedrich 59b81168ff Add exceptions for Utility::MkDir{,P}
fixes #9689
2015-07-21 15:56:57 +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
Tobias von der Krone 80d0d7dc7a Correct escaping of metric and tag names for OpenTSDB perfdata plugin
fixes #9665
2015-07-20 07:59:13 +02:00
Michael Friedrich 51d0e71a00 Don't allow "ignore where" for groups when there's no "assign where"
fixes #9554
2015-07-16 13:56:12 +02:00
Jean-Marcel Flach b9a4a64249 Move url handler to /lib/remote
fixes #9647
2015-07-16 13:35:32 +02:00
Michael Friedrich 69e6fc4811 DB IDO: Do not update endpointstatus table on config updates
fixes #9634
2015-07-16 13:25:11 +02:00
Jean-Marcel Flach aa16438298 Change decode - check order in path decoding
refs #9470
2015-07-15 15:36:17 +02:00
Gunnar Beutner afc5db1299 Build fix for Windows 2015-07-15 11:24:47 +02:00
Gunnar Beutner 26338c0fa6 Add missing lock in ScriptUtils::Union
fixes #9622
2015-07-15 08:26:58 +02:00
Gunnar Beutner d98f9a3c92 Fix failed assertion in ScriptUtils::Intersection
fixes #9621
2015-07-15 08:20:16 +02:00
Michael Friedrich dcef213c8f Fix overflow in freshness_threshold column (smallint) w/ DB IDO MySQL
fixes #9576
2015-07-14 18:20:08 +02:00
Michael Friedrich 769594fa4f Livestatus: Add zone object table w/ endpoint members
refs #9286
2015-07-14 18:09:24 +02:00
Michael Friedrich a788de679c DB IDO: Add zones, zonestatus tables
refs #9286
2015-07-14 18:09:24 +02:00
Michael Friedrich c8d129bf9f Enable -Wno-deprecated-register for Clang and AppleClang
refs #9414
2015-07-14 15:02:43 +02:00
Gunnar Beutner ceea8a24d3 Add missing HTTP response headers
refs #9594
2015-07-13 08:29:48 +02:00
Gunnar Beutner 8dedd47b89 Fix incorrect return value for the macro() function
fixes #9584
2015-07-13 08:25:19 +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 84d83a4453 'node wizard/setup' should always generate new certificates
Unless an existing certificate is found. The configuration
(api feature, user) is always generated including a backup.

fixes #9590
2015-07-08 15:32:47 +02:00
Michael Friedrich f123c8218d Split ApiSetupUtility::SetupMaster() into multiple functions
refs #9590
2015-07-08 15:32:11 +02:00
Michael Friedrich 3fe6b56628 DB IDO: Don't clear endpoint* tables on start/reload
fixes #9586
2015-07-08 13:58:12 +02:00
Jean-Marcel Flach 65227e311b Fix path interpretion in URL parser
The URL parser incorrectly used to interpret the path
"/" as a path "/" instead of as empty.
Test cases were added.

refs #9470
2015-07-08 13:14:05 +02:00
Jean-Marcel Flach a98d2f585d Implement URL parser
fixes #9470
2015-07-07 15:33:19 +02:00
Jean-Marcel Flach 2560a9733d Add reverse_iterator to String 2015-07-07 15:33:19 +02:00
Michael Friedrich 2add0c7b3d Fix -Wno-deprecated-register flag w/ sles11sp3 (Unix/Darwin only)
This only applies to git master (target 2.4)

refs #8842
refs #9559
fixes #9414

Signed-off-by: Michael Friedrich <michael.friedrich@gmail.com>
2015-07-05 15:14:18 +02:00
Michael Friedrich f4aeb1999c Cli: Don't add empty host/port endpoint attributes in node wizard
refs #9205
refs #9536
2015-07-03 12:58:54 +02:00
Michael Friedrich ed3882ba33 Fix config parser ignoring forbidden "ignore" in template definition
fixes #9535
2015-07-02 17:53:34 +02:00
Michael Friedrich 184f316538 Fix wrong vars changed handler in api events
fixes #9547
2015-07-02 14:51:47 +02:00
Michael Friedrich 8596e2b3dc Add log message for discarded cluster events (e.g. from unauthenticated clients)
fixes #9489
2015-07-02 13:04:38 +02:00
Michael Friedrich 8450cb5d6c MAke ApiUser::CheckPassword() const
refs #9471
2015-07-02 09:26:43 +02:00
Michael Friedrich 2eaae1f733 Update documentation for ApiUser object & node wizard
fixes #9471
2015-06-25 18:03:00 +02:00
Michael Friedrich ee035ae001 Fix unity build
refs #9471
2015-06-25 17:20:23 +02:00
Michael Friedrich 3e3588b9fb Cli: Still ask for CN in 'node wizard'
refs #9471
2015-06-25 13:28:16 +02:00
Michael Friedrich ec3f1c6320 Cli: 'node setup' on the master uses 'api setup' if api feature is disabled
refs #9471
2015-06-25 11:00:25 +02:00
Michael Friedrich 5249e4af11 Cli: 'node wizard' on the master uses 'api setup' if api feature is disabled
refs #9471
2015-06-25 11:00:12 +02:00
Michael Friedrich 0d977b9d48 Allow to pass cn to ApiSetupUtility::SetupMaster()
refs #9471
2015-06-25 10:40:50 +02:00
Michael Friedrich 663f09e475 Only run 'api setup' if the feature was not enabled
It is safe to assume that the user either did run
'node wizard' or 'node setup' in >= 2.3.x before, or
manually enabled the api feature and deployed the
certificates (otherwise Icinga2 wouldn't start either).

In that case we'll skip the api setup to ensure that we
don't override any existing configuration at all.

refs #9471
2015-06-25 10:21:18 +02:00
Michael Friedrich 6f43162efa Add feature enable/disable helpers
refs #9471
2015-06-25 10:14:19 +02:00
Michael Friedrich 7b0b04ba8f Implement 'api setup' cli command & add ApiUser config
refs #9471
2015-06-25 10:08:34 +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
Michael Friedrich 99a0c7b157 Fix wrong preprocessor macros 2015-06-24 14:13:54 +02:00
Michael Friedrich 45a0f09532 Fix unused variable in dbevents
refs #9055
2015-06-24 14:12:18 +02:00
Gunnar Beutner 8dcb4efa5e Fix stability issues with the TlsStream/Stream classes
fixes #9481
2015-06-24 09:48:55 +02:00
Michael Friedrich 3648703ad8 DB IDO: Fix datatype for 'check_source' in statehistory table
fixes #9455
2015-06-22 17:02:58 +02:00
Benedikt Heine 7cd0077ab5 node setup: indent accept_config and accept_commands
fixes #9450

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-06-19 09:07:51 +02:00
Gunnar Beutner 9238c5af11 Fix incorrect validator for command arguments
fixes #9436
2015-06-18 08:13:40 +02:00
Michael Friedrich f6c5f58dec Fix wrong timestamp w/ timezone format in DB IDO PGSQL schema
refs #9027
2015-06-17 16:11:21 +02:00
Michael Friedrich bd16651f79 Build fix
refs #9324
2015-06-15 17:24:55 +02:00
Markus Frosch 213300c5e7 Fix objects cache dump in compat for multiline vars
Multiline vars should be written as:
  _test test1\ntest2

And not
  _test test1
test2

fixes #9328

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-06-15 17:20:43 +02:00
Markus Frosch 47c8b5e347 Fix multi line handling for compat check results
When a multi line result is submitted via the command pipe, any multi line
output is escaped to a actual string '\n', because any external command only
can be a single line.

Example:
  [1432735140] PROCESS_SERVICE_CHECK_RESULT;host;service;3;Test1\nTest2|test=1

We need to unescape this values, just like we use to escape multi line output
for IDO and status.dat.

fixes #9324

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-06-15 17:19:28 +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 cfcb8675c7 Fix unexpected exception in Utility::DirName when specifying an empty path
refs #9263
2015-06-15 14:04:38 +02:00
Michael Friedrich 228e1a11a2 Fix unregistered function failure including <nscp> on Linux
fixes #9394
2015-06-15 10:30:13 +02:00
Michael Friedrich 21b11f9c9a Fix incorrect type and state filter mapping for User objects in DB IDO
fixes #9143
2015-05-15 16:40:32 +02:00
Michael Friedrich baa8fb424f Fix missing custom attributes in backends if name is equal to object attribute
fixes #9222
2015-05-15 15:59:44 +02:00
Gunnar Beutner 24ae02386a Implement the basename and dirname script functions
refs #9256
2015-05-13 09:46:59 +02:00
Gunnar Beutner 62c755f88c Determine NSClient++ installation path using MsiGetComponentPath
fixes #9256
2015-05-12 15:45:40 +02:00
Michael Friedrich 0c0f53bc36 Fix schema version 1.14.0
refs #9027
2015-05-04 11:35:41 +02:00
Eric Lippmann 1e0df43127 Add yet empty MySQL schema upgrade to IDO version 1.14.0
refs #9027
2015-05-04 11:35:41 +02:00
Eric Lippmann fe3eba801a Add PostgreSQL schema upgrade to IDO version 1.14.0 for adding the time zone for default timestamps
refs #9027
2015-05-04 11:35:41 +02:00
Eric Lippmann 6a77d99440 Fix PostgreSQL schema not specifying the time zone for default timestamps
The timestamp columns in the PostgreSQL schema are defined as timestamp with time zone but their default values lack the time zone offset +00.
Thus default timestamps are converted to local time in the zone specified by PostgreSQL's configuration before being displayed to the client.

refs #9027
2015-05-04 11:35:41 +02:00