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
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