Commit Graph

2454 Commits

Author SHA1 Message Date
Gunnar Beutner 3e64b642ca Make sure that "feature enable" uses relative paths for the symlinks
fixes #8121
2014-12-20 08:39:12 +01:00
Gunnar Beutner 6c53c7f192 Fix debug info for indexer
fixes #8132
2014-12-19 16:53:44 +01:00
Gunnar Beutner f280452b6d Make sure the livestatus module works when the compat module is disabled
refs #7794
2014-12-19 16:42:20 +01:00
Gunnar Beutner 4e5649f0d7 Disable vfork() on OS X
fixes #8131
2014-12-19 16:04:34 +01:00
Gunnar Beutner a3ea72c4ca Implement the __commit function
refs #8127
2014-12-19 13:08:46 +01:00
Gunnar Beutner 978aeed741 Implement the __get_objects function
refs #8127
2014-12-19 13:08:31 +01:00
Gunnar Beutner b78a8b6c77 Allow relative paths for the UNIX socket
refs #7805
2014-12-19 12:33:51 +01:00
Gunnar Beutner 97168378e8 Rename _DEBUG to I2_DEBUG
fixes #7767
2014-12-19 12:19:28 +01:00
Gunnar Beutner 28d7051aed Fix a deadlock in TlsStream::Read / TlsStream::Close
fixes #8124
2014-12-19 12:07:06 +01:00
Gunnar Beutner 06052c0539 Fix validation for service names in Notification, Dependency and ScheduledDowntime objects
fixes #8122
2014-12-19 11:44:31 +01:00
Gunnar Beutner cb7f93dc19 Implement CMake options for some of the modules
fixes #7794
fixes #7795
2014-12-19 09:46:41 +01:00
Gunnar Beutner 6383da1f2f Replace spaces with tabs 2014-12-18 17:06:00 +01:00
Gunnar Beutner 9f18211ada Remove obsolete code
refs #7709
2014-12-18 15:57:30 +01:00
Gunnar Beutner 873e294158 Refactor the WorkQueue class to make error reporting easier
refs #7709
2014-12-18 15:11:57 +01:00
Gunnar Beutner c3cf7682b9 Clean up the DebugInfo class
refs #7709
2014-12-18 12:58:46 +01:00
Gunnar Beutner 82a9a8f0cf Fix crash in ConfigCompilerContext::WriteObject
fixes #8106
2014-12-18 12:46:35 +01:00
Michael Friedrich a0359799bd Compat: Fix event_handler_enabled dump based on enable_event_handler attribute
fixes #8105
2014-12-18 11:22:15 +01:00
Gunnar Beutner 28734daa06 Fix crash when accessing invalid fields
fixes #8104
2014-12-18 11:21:11 +01:00
Gunnar Beutner c90c8919ca Fix the dependency nightmare that is libreadline
refs #8091
2014-12-17 10:24:13 +01:00
Gunnar Beutner 3436dbc697 Fix incorrect package name for SLES/openSUSE
refs #8091
2014-12-17 09:30:54 +01:00
Gunnar Beutner 92eb6a2f45 Update documentation for libreadline requirement
fixes #8091
2014-12-17 09:07:05 +01:00
Gunnar Beutner 9eeb64a780 Update livestatus and statusdata to properly support booleans
fixes #8100
2014-12-17 08:54:28 +01:00
Gunnar Beutner 5dd0bbfe31 Fix another problem with boolean values in SQL queries
refs #8100
2014-12-16 21:43:03 +01:00
Gunnar Beutner aa795c1b81 Build fix for Windows
refs #7805
2014-12-16 21:28:16 +01:00
Gunnar Beutner 5e1182a5c7 Fix incorrect SQL values for boolean fields
fixes #8100
2014-12-16 21:28:13 +01:00
Gunnar Beutner 96626f4eca Increase the timeout for "repl" sessions
refs #7805
2014-12-16 19:51:33 +01:00
Gunnar Beutner f800630c10 Implement Livestatus support for the "repl" command
refs #7805
2014-12-16 19:28:46 +01:00
Gunnar Beutner 9011c9fa67 Fix crash when accessing invalid fields on objects which don't have prototypes 2014-12-16 18:15:47 +01:00
Gunnar Beutner d82defe6a9 Add readline support for the "repl" command
fixes #8091
2014-12-16 13:26:26 +01:00
Gunnar Beutner 27db75fbe6 Add version output to the "repl" command
refs #7805
2014-12-16 10:36:59 +01:00
Gunnar Beutner 23a556c7ce Make sure that operator % throws an exception when the ride-hand-side argument is 0
fixes #8089
2014-12-16 08:52:32 +01:00
Gunnar Beutner 8ef8316ca6 Fix location info for strings
fixes #8081
2014-12-16 06:18:39 +01:00
Gunnar Beutner d72bd4fec2 Add another unit test for expressions
refs #8074
2014-12-15 17:23:18 +01:00
Gunnar Beutner b9831f0be4 Add unit tests for the "var" keyword
refs #8074
2014-12-15 16:42:34 +01:00
Gunnar Beutner 77806b9de7 Get rid of the local/global keywords
refs #8074
2014-12-15 16:09:17 +01:00
Michael Friedrich 938ae083cd Cli: "node wizard" shouldn't crash when SaveCert fails
fixes #7707
2014-12-15 13:08:30 +01:00
Gunnar Beutner 252f3205cb Fix incorrect variable scoping
refs #8074
2014-12-15 12:58:55 +01:00
Gunnar Beutner 55b7f00382 Remove unnecessary includes 2014-12-15 10:16:06 +01:00
Gunnar Beutner c7d9c415eb Disable impersonation for the "repl" command
refs #7805
2014-12-15 08:38:03 +01:00
Gunnar Beutner 8c9fdb537f Remove unused code
refs #8074
2014-12-15 06:03:13 +01:00
Gunnar Beutner 343d46bcbe Make sure IcingaApplication::GetVars returns a default value
refs #8074
2014-12-15 06:02:59 +01:00
Gunnar Beutner 262bfb7fc9 Allow if/else in rterms
refs #8074
2014-12-14 14:08:41 +01:00
Gunnar Beutner b40e95d9b6 Only implicitly convert strings to indexers
refs #8074
2014-12-14 11:55:44 +01:00
Gunnar Beutner 1cb0231c05 Refactor how variable scopes work
refs #8074
2014-12-14 11:33:45 +01:00
Gunnar Beutner 461cf8dbc1 Make sure Serialize() doesn't fail for objects which don't have a registered type
fixes #7895
2014-12-13 21:42:39 +01:00
Gunnar Beutner 83058d1123 Backport i2tcl's error reporting functionality into "icinga2 repl"
fixes #8078
2014-12-13 21:16:55 +01:00
Gunnar Beutner dd4c04aa9b Implement the 'global' keyword to differentiate between variable scopes
refs #8074
2014-12-13 17:48:58 +01:00
Gunnar Beutner c0f6d65b66 Fix operator precedence for =>
refs #8030
2014-12-13 14:06:19 +01:00
Gunnar Beutner 54ab4dd924 Implement support for lambdas
refs #8030
2014-12-13 13:50:47 +01:00
Gunnar Beutner 1275847d5a Improve error messages for failed expressions
fixes #8076
2014-12-12 21:21:30 +01:00
Gunnar Beutner 05485ea2d6 Disallow calling strings as functions
fixes #8040
2014-12-12 20:45:11 +01:00
Michael Friedrich d11286e9a5 DB IDO: Update child object reachability if parentchanges to !{OK,UP}
fixes #7683
2014-12-12 16:12:05 +01:00
Gunnar Beutner b8e7c5bc40 Fix the prototype for the Object class
refs #8065
2014-12-12 15:47:51 +01:00
Gunnar Beutner 0a4c461caa Fix the clone() methods for the Array and Dictionary class
refs #8065
2014-12-12 15:38:06 +01:00
Gunnar Beutner cfd775c948 Move the VMFrame class to libbase
refs #8065
2014-12-12 15:33:56 +01:00
Gunnar Beutner aa38dde1fc Implement prototype functions
fixes #8065
2014-12-12 15:22:37 +01:00
Michael Friedrich 868d403a8a DB IDO: Missing last_hard_state column update in {host,service}status tables
fixes #8058
2014-12-12 13:25:10 +01:00
Gunnar Beutner a94b26ff47 Add missing DebugInfo for field accesses
refs #8062
2014-12-12 08:58:39 +01:00
Gunnar Beutner b016003eb5 Implement string indexers
fixes #8062
2014-12-12 06:54:38 +01:00
Gunnar Beutner 4d401a7cc5 Fix if for non-boolean arguments
fixes #8072
2014-12-11 21:31:30 +01:00
Gunnar Beutner a9e2bc4b40 Implement a way to call methods on objects
fixes #8071
2014-12-11 21:12:34 +01:00
Gunnar Beutner 7ac6347d6a Update error message to use the correct lexer token name
refs #7883
2014-12-11 15:07:21 +01:00
Michael Friedrich ebc0845853 Cli: Don't parse node repository files twice in 'node update-config'
refs #7917
2014-12-11 14:47:46 +01:00
Gunnar Beutner e86b36f8d7 Remove the __ prefix from some of the lexer tokens
fixes #7883
2014-12-11 13:12:35 +01:00
Gunnar Beutner 364f1daff8 Fix another crash in ThreadPool::Stop
refs #8059
2014-12-11 09:45:57 +01:00
Gunnar Beutner 874970db9e Fix crash in ThreadPool::Stop
fixes #8059
2014-12-11 09:34:57 +01:00
Gunnar Beutner a5a45ae891 Improve error reporting when libmysqlclient or libpq are missing
fixes #7882
2014-12-11 08:52:13 +01:00
Michael Friedrich eb4de1884c Cli: Make sure to check for removed nodes only once in 'node update-config'
fixes #7917
2014-12-10 18:48:35 +01:00
Gunnar Beutner 0f496c0b55 Fix set_if for non-numeric boolean values
fixes #8049
2014-12-10 16:49:00 +01:00
Gunnar Beutner 2720333d6e Fix missing location information for included files
fixes #7927
2014-12-10 15:06:09 +01:00
Gunnar Beutner c1ac548a77 Escape special characters in repository file names
fixes #7618
2014-12-10 13:20:16 +01:00
Gunnar Beutner 705447ce18 Make ConfigCompiler::HandleInclude return an inline dictionary
fixes #8047
2014-12-10 11:30:42 +01:00
Gunnar Beutner d88856a994 Fix failing unit tests
refs #8043
2014-12-10 11:25:20 +01:00
Gunnar Beutner 2a2460ae67 Fix crash in RepositoryUtility::AddObject
refs #7822
2014-12-10 10:35:18 +01:00
Gunnar Beutner c70623ec7c Add log message for heartbeat timeouts
refs #7745
2014-12-10 09:57:08 +01:00
Gunnar Beutner 89a0fc006e Implement a boolean sub-type for the Value class
fixes #8043
2014-12-10 09:05:16 +01:00
Gunnar Beutner 9e01f6d8b9 Fix operator precedence for %, |, ^, &, in and !in in combination with <
fixes #8029
2014-12-09 20:51:19 +01:00
Gunnar Beutner 291b000e09 Allow modifying the name attribute
fixes #8033
2014-12-09 20:37:20 +01:00
Gunnar Beutner 44b87aeff6 Fix typeof() for numbers
fixes #8028
2014-12-09 16:43:09 +01:00
Gunnar Beutner 4a81dbb6fc Build fix for Windows 2014-12-09 15:07:49 +01:00
Gunnar Beutner 98375df4d7 Fix config validation in RepositoryUtility::AddObject
refs #7701
2014-12-09 14:55:29 +01:00
Gunnar Beutner 4d657163c3 Implement heartbeat messages for the cluster
fixes #7745
2014-12-09 13:17:27 +01:00
Gunnar Beutner be4166b99e Fix incorrect brace placement 2014-12-08 11:43:33 +01:00
Gunnar Beutner a2bd3a9576 Add missing Flush() call in the CompatLogger class
fixes #7511
2014-12-08 09:55:40 +01:00
Gunnar Beutner cf2b6e7ccc Improve output of ToString for type objects
fixes #8020
2014-12-08 09:12:40 +01:00
Gunnar Beutner 57f84741b9 Register type objects as global variables
fixes #8019
2014-12-08 08:49:32 +01:00
Gunnar Beutner 04ca634a16 Fix typeof incorrectly returning null for arrays and dictionaries
fixes #8002
2014-12-08 08:36:03 +01:00
Gunnar Beutner b5c7e2de4e Make the ThreadPool spawn fewer threads 2014-12-06 19:23:27 +01:00
Gunnar Beutner 3cb2afd454 Fix minor memory leak in the config parser 2014-12-06 10:23:25 +01:00
Michael Friedrich b81035e352 Livestatus: Fix missing host downtimes/comments
fixes #7064
2014-12-05 16:32:14 +01:00
Michael Friedrich 9f66587d84 Rename static timer variables 2014-12-05 16:32:14 +01:00
Gunnar Beutner cefa469ee6 ScriptUtils: Make sure arguments aren't null
fixes #8003
2014-12-05 14:59:12 +01:00
Gunnar Beutner ec99efbc28 Implement validator for the check_interval attribute
fixes #7591
2014-12-05 13:00:41 +01:00
Michael Friedrich cc8fe684fe Execute checks locally if command_endpoint == local endpoint
fixes #7863
2014-12-05 11:35:00 +01:00
Gunnar Beutner 7d93788650 Fix crash in the unit tests
fixes #7769
2014-12-04 21:50:22 +01:00
Michael Friedrich d21b3aba52 cli: Fix node update-config errors
* fix hosts not created if config and inventory.index are missing.
* fix segfault if host already exists in inventory
* fix that newly listed node hosts are not added to the config repo
* fix repository removal of remove host/services on remote nodes
* fix missing/wrong locks for dictionaries
* fix missing directory create/chown

fixes #7518
fixes #7878
fixes #7917
fixes #7891

Conflicts:
	lib/cli/objectlistcommand.cpp
2014-12-04 17:56:28 +01:00
Gunnar Beutner fc42cb575c Add missing validator for the socket_path attribute
refs #7901
2014-12-02 13:43:36 +01:00
Gunnar Beutner 078125bdec Implement socket_path attribute for the IdoMysqlConnection class
fixes #7901
2014-12-02 08:42:53 +01:00
Gunnar Beutner a5c206cbe2 Fix problem with macro arguments which are not separated by whitespace
fixes #7314
2014-12-01 15:53:23 +01:00
Michael Friedrich 06e79fe6fd Don't execute built-in commands on the master in remote command execution mode
fixes #7708
2014-12-01 13:19:56 +01:00
Michael Friedrich a07600a469 Fix missing lock in ConfigUpdateHandler() 2014-12-01 13:19:55 +01:00
Gunnar Beutner 1c07f5111a Fix a memory leak in the ReadLineContext class
fixes #7602
2014-12-01 10:36:38 +01:00
Gunnar Beutner d19821c900 Properly reset the ThreadPool status in Stop
refs #7822
2014-11-28 11:32:37 +01:00
Gunnar Beutner b5b1be95a2 Make the config lexer return an error for unterminated string literals
fixes #7808
2014-11-28 06:49:06 +01:00
Gunnar Beutner ab63fca3d5 Make the config parser thread-safe
fixes #7822
2014-11-28 06:48:27 +01:00
Gunnar Beutner b61f803d60 Show source line information for the "repl" command
refs #7805
2014-11-28 06:29:38 +01:00
Michael Friedrich 6332921fb6 Cli: Ensure that repository path is created on 'node add' command
fixes #7743
2014-11-27 18:15:14 +01:00
Gunnar Beutner 9dfa3d22d4 Implement support for arrays in command arguments
fixes #6709
2014-11-27 13:24:07 +01:00
Gunnar Beutner e05cd3144f Fix incorrect operators in GelfWriter::NotificationToUserHandler
fixes #7866
2014-11-27 09:40:27 +01:00
Gunnar Beutner a8b7710800 Fix crash in CreateCert
fixes #7862
2014-11-27 09:35:24 +01:00
Gunnar Beutner 358d91e912 Remove the __parent field in the DynamicObject class
refs #7748
2014-11-27 06:32:12 +01:00
Gunnar Beutner cee13fbec0 Implement the %, ^, %=, ^=, &= and |= operators
fixes #7813
2014-11-25 17:16:34 +01:00
Gunnar Beutner 1e5751c540 Build fix for GCC
refs #7822
2014-11-25 12:36:13 +01:00
Gunnar Beutner c220a99f2d Implicitly convert Number argument to string for operator +
fixes #7823
2014-11-25 12:33:08 +01:00
Gunnar Beutner 31605402ea Move the parser's global variables to the ConfigCompiler class
refs #7822
2014-11-25 09:40:32 +01:00
Gunnar Beutner 9281f82ba3 Fix parser problem with missing new-lines
refs #7822
2014-11-25 08:59:55 +01:00
Gunnar Beutner c5839b91aa Use MakeLiteral instead of 'new LiteralExpression'
refs #7822
2014-11-25 08:44:47 +01:00
Gunnar Beutner 03a4452343 Remove the global m_Expressions variable
refs #7822
2014-11-25 08:42:27 +01:00
Gunnar Beutner ed81cb0f2c Make SetExpression check whether the LHS is null
fixes #7814
2014-11-24 18:26:27 +01:00
Gunnar Beutner fddead5303 Fix some compiler warnings
fixes #7826
2014-11-24 18:25:08 +01:00
Gunnar Beutner 7e13f7597f Disallow - in identifiers
fixes #7830
2014-11-24 16:54:06 +01:00
Gunnar Beutner 2ec499be17 Implement the __if and __else keywords
fixes #7824
2014-11-24 09:56:28 +01:00
Gunnar Beutner 47ba5eeddd Change parameter type for include and include_recursive to T_STRING
fixes #7802
2014-11-24 07:18:37 +01:00
Gunnar Beutner 4d125edc0d Move the cast functions into libbase
fixes #7807
2014-11-24 07:09:51 +01:00
Gunnar Beutner a1b231e069 Remove unused parameter
refs #7805
2014-11-24 01:05:19 +01:00
Gunnar Beutner ca28a51373 Remove unused code in the ThinMutex class
refs #7805
2014-11-24 01:01:39 +01:00
Gunnar Beutner d3a6277fec Fix the __return keyword
fixes #7811
2014-11-24 00:07:29 +01:00
Gunnar Beutner c29d6a99ac Fix unary minus operator
fixes #7815
2014-11-23 23:19:46 +01:00
Gunnar Beutner e93595c006 Fix scoping for __for
fixes #7809
2014-11-23 20:43:50 +01:00
Gunnar Beutner 75d90d5963 Fix a crash in the "repl" command
refs #7805
2014-11-23 19:13:42 +01:00
Gunnar Beutner d366dd8e30 Fix the reduce/reduce conflicts
refs #7800
2014-11-23 15:25:25 +01:00
Gunnar Beutner 14c94fabde Add missing return value for ReplCommand::Run
refs #7805
2014-11-23 13:41:45 +01:00
Gunnar Beutner fc1d872df8 Add color tags to the repl command
refs #7805
2014-11-23 12:38:16 +01:00
Gunnar Beutner 8d0ddb7c8c Implement more unit tests
refs #7805
2014-11-23 12:35:13 +01:00
Gunnar Beutner e302158631 Remove debug code
refs #7800
2014-11-23 12:08:29 +01:00
Gunnar Beutner 9a49e085cd Fix some more shift/reduce conflicts
refs #7800
2014-11-23 12:06:47 +01:00
Gunnar Beutner 81acd34f52 Implement unit tests for the config parser
refs #7805
2014-11-23 09:54:08 +01:00
Gunnar Beutner af759ff6ab Fix incorrect result for the !in operator
fixes #7806
2014-11-23 09:54:08 +01:00
Gunnar Beutner 16cf274efc Improve test coverage for the array class 2014-11-23 09:50:11 +01:00
Gunnar Beutner 9bdc7e8a4e Fix the shift/reduce conflicts in the parser
fixes #7800
2014-11-22 23:02:12 +01:00
Gunnar Beutner 037b886584 Remove the C++ code generator
refs #7699
2014-11-22 19:24:13 +01:00
Gunnar Beutner f5766f9118 Refactor the stack frame handling for scripts
fixes #7748
2014-11-22 19:24:03 +01:00
Gunnar Beutner 307db672c1 Fix initialization bug for the Notification class
refs #7780
2014-11-22 16:43:39 +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 0ab61291c6 Make sure source information is always available for error messages
refs #7699
2014-11-21 18:35:59 +01:00
Gunnar Beutner 334e61037a Split DynamicObject::OnConfigLoaded into two separate events
refs #7780
2014-11-21 18:31:37 +01:00
Gunnar Beutner 764d72a61a Improve error messages for the config parser
refs #7699
2014-11-21 09:07:08 +01:00
Gunnar Beutner abe583f7d9 Fix some incorrectly generated code
refs #7699
2014-11-21 07:37:20 +01:00
Gunnar Beutner aef7c487cf Build fix
refs #7699
2014-11-20 22:54:29 +01:00
Gunnar Beutner 8e265b7b7f Implement a C++ code generator for libconfig
fixes #7699
fixes #7704
fixes #7706
2014-11-20 21:53:32 +01:00
Gunnar Beutner 0078e00c13 Refactor apply/object rules
fixes #7700
2014-11-20 21:29:50 +01:00
Gunnar Beutner 80e6854ce6 Fix incorrect return type for ScriptSignal::Invoke
refs #7744
2014-11-20 19:43:50 +01:00
Gunnar Beutner 06e72d134b Fix incorrect error message for localhost (in "node update-config")
fixes #7754
2014-11-20 14:54:44 +01:00
Gunnar Beutner 2d53e000c8 Refactor the config validator so that it doesn't require serialized objects
refs #7701
2014-11-20 13:28:21 +01:00
Gunnar Beutner 5321bc4643 Don't validate strings in the JSON parser
fixes #7730
2014-11-20 10:09:13 +01:00
Gunnar Beutner 6cadde82bd Avoid rebuilding libbase when the version number changes
fixes #7647
2014-11-20 10:02:34 +01:00
Gunnar Beutner f84cc8de39 Implement support for signals
fixes #7744
2014-11-20 06:54:48 +01:00
Gunnar Beutner cbaece61e7 Fix another incorrect argument name
refs #7726
2014-11-18 16:48:58 +01:00
Gunnar Beutner d532300cba Add an option that hides CLI commands
fixes #7702
2014-11-17 18:42:22 +01:00
Gunnar Beutner ea729b2b6c Clean up the DebugHint class 2014-11-17 14:52:08 +01:00
Gunnar Beutner 77b746841a Provide a specialized function overload for Convert::ToDouble(const Value&) 2014-11-17 14:00:13 +01:00
Gunnar Beutner 1d16875b95 Comment out InitializeProcThreadAttributeList (for now)
fixes #7681
2014-11-17 09:45:35 +01:00
Gunnar Beutner 9386a58bf2 Implement an experimental variable to limit the number of threads 2014-11-16 13:14:42 +01:00
Gunnar Beutner 3bb79715fa Fix: Names for nested objects are evaluated at the wrong time
fixes #7689
2014-11-15 15:57:56 +01:00
Gunnar Beutner bae96ca524 Fix "object list" output for empty fields 2014-11-15 12:19:29 +01:00
Gunnar Beutner d8e1943671 Fix missing debug info for nested dictionaries
fixes #7688
2014-11-15 12:17:59 +01:00
Gunnar Beutner 814589ac17 Use Array::Contains in InExpression/NotInExpression 2014-11-15 08:22:32 +01:00
Michael Friedrich f73d69691b Make sure that notified users are stored in state file
refs #7579
2014-11-14 18:11:58 +01:00
Gunnar Beutner 6ca188e090 Merge branch 'larsengels-master'
fixes #7680
2014-11-14 10:44:14 +01:00
Lars Engels b81bb67910 Add support to conditionally use MysSQL and/or PostgreSQL
refs #7680

Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2014-11-14 10:43:52 +01:00
Gunnar Beutner 79fb24cedb Fix null pointer dereference while parsing the config 2014-11-13 23:25:52 +01:00
Gunnar Beutner 12a41795de Add default parameters to the AST classes 2014-11-13 23:25:31 +01:00
Gunnar Beutner 0324cbff7c Fix crash in StreamLogger::~StreamLogger 2014-11-13 20:12:23 +01:00
Michael Friedrich aad4b48812 Drop invalid headers from libhello debug code
refs #7559
2014-11-13 20:09:36 +01:00
Gunnar Beutner 8e4148d33c Use Application::Exit to implement the exit() script function 2014-11-13 15:59:40 +01:00
Gunnar Beutner bb04f66b25 Remove debug code
refs #7559
2014-11-13 15:53:15 +01:00
Gunnar Beutner 7bcca244e7 Remove some more redundant code from "node wizard"
refs #7656
2014-11-13 15:32:41 +01:00
Gunnar Beutner 37242ef609 Fix handling of the CA certificate in "node wizard"
fixes #7656
2014-11-13 15:25:15 +01:00
Gunnar Beutner 7321e45abc Implement support for executing remote commands
fixes #7559
2014-11-13 14:54:55 +01:00
Gunnar Beutner f20d9010c0 Fix deadlock in ThreadPool::Stop 2014-11-13 10:00:49 +01:00
Gunnar Beutner 02fef3f84a Remove unions from the DebugInfo class 2014-11-13 09:02:43 +01:00
Gunnar Beutner e692ca16cd Add missing Stop call in the Logger class
fixes #7652
2014-11-13 09:02:23 +01:00
Gunnar Beutner a14928ec10 Improve error messages for the Process class 2014-11-13 08:53:12 +01:00
Gunnar Beutner 6ef4e313d9 Remove obsolete mutex profiling code
refs #7622
2014-11-13 06:13:18 +01:00
Gunnar Beutner f592a13481 Make sure all threads are dead before calling fork()
fixes #7653
2014-11-12 21:27:36 +01:00
Gunnar Beutner e5bd573756 Implement the __get_object function 2014-11-12 19:08:36 +01:00
Michael Friedrich 43267d7759 GelfWriter: Change _state to human-readable string
refs #7619
2014-11-12 17:58:13 +01:00
Michael Friedrich 07c9701b83 GelfWriter: Add missing fields, fix notification state
refs #7619
2014-11-12 17:48:48 +01:00
Gunnar Beutner 4f417b4912 Add release barrier in ObjectLock::Unlock
refs #7648
2014-11-12 13:18:34 +01:00
Gunnar Beutner 1c0102ff9b Fix incorrect field name
refs #7648
2014-11-12 12:46:33 +01:00
Gunnar Beutner a2c5887e51 Fix crash when daemonizing Icinga
refs #7648
2014-11-12 12:44:14 +01:00
Gunnar Beutner c5a5d1833b Add missing barriers for Object::m_LockOwner
refs #7648
2014-11-12 12:32:14 +01:00
Gunnar Beutner dfd24e6359 Fix _DEBUG define on *NIX 2014-11-12 11:34:59 +01:00
Gunnar Beutner b3aa2eb0c8 Fix validator for dependency filters
fixes #7650
2014-11-12 09:40:45 +01:00
Gunnar Beutner 02c559eff9 Fix crash in the unit tests
fixes #7648
2014-11-12 09:33:13 +01:00
Gunnar Beutner e4bfb5f922 Fix static initializers for Utility::AddDeferredInitializer
fixes #7646
2014-11-12 08:00:56 +01:00
Gunnar Beutner 83a2e4c350 Allow thin mutex calls to be inlined
refs #7622
2014-11-12 06:50:52 +01:00
Gunnar Beutner 02a7d97b17 Allow locks to be inlined
refs #7622
2014-11-12 06:33:20 +01:00
Gunnar Beutner ecd31b86ad Remove debug code
refs #7622
2014-11-12 00:06:51 +01:00
Gunnar Beutner 2d7ce62438 Add missing default arguments
refs #7622
2014-11-11 23:48:17 +01:00
Gunnar Beutner ca75584d88 Allow String class members to be inlined 2014-11-11 23:46:06 +01:00
Gunnar Beutner 36d108528f Allow Value class members to be inlined 2014-11-11 23:28:53 +01:00
Gunnar Beutner ee980a788b Clean up the code a bit 2014-11-11 23:06:47 +01:00
Gunnar Beutner 9932f60522 Fix _DEBUG define
refs #7634
2014-11-11 16:40:27 +01:00
Gunnar Beutner e52b2b6509 Fix incorrect IDO queries
fixes #7634
2014-11-11 16:36:20 +01:00
Gunnar Beutner a5a869f390 Enable ASSERT() for *NIX debug builds
refs #7634
2014-11-11 16:36:20 +01:00
Michael Friedrich 5ac03849d2 GelfWriter: Add 'source' configuration attribute
refs #7619
2014-11-11 14:16:48 +01:00
Michael Friedrich 3211756656 Rebase against master changes, fix indent
refs #7619
2014-11-11 14:16:48 +01:00
Michael Friedrich 721483e0b2 Add a type validafor for GelfWriter
refs #7619
2014-11-11 14:16:48 +01:00
Marius Sturm 6055cd194a Add GelfWriter
refs #7619
2014-11-11 14:16:48 +01:00
Gunnar Beutner 11710ef683 Fix static initializers
refs #7634
2014-11-11 13:24:44 +01:00
Jean Flach 0ba2efe97f Fix some Ido initialization bugs
refs #7625
2014-11-11 10:04:37 +01:00
Gunnar Beutner 4a8effa673 Remove unused include
refs #7622
2014-11-11 05:46:25 +01:00
Gunnar Beutner 65be09215f Avoid unnecessary type lookups
refs #7622
2014-11-10 20:07:07 +01:00
Gunnar Beutner 4df3fd4451 Add missing category type for some IDO queries
fixes #7625
2014-11-10 13:21:33 +01:00
Gunnar Beutner 3cc79a6005 Optimize apply/object filters
refs #7622
2014-11-10 12:06:29 +01:00
Gunnar Beutner ec109b04dd Refactor the AST
refs #7622
2014-11-10 12:06:25 +01:00
Gunnar Beutner e3c5063aff Remove unused fields from the ObjectRule class
refs #7622
2014-11-10 09:52:27 +01:00
Michael Friedrich 885e7704a2 Only notify users on recovery who have been notified on not-OK before
Also ensure that type NotificationRecovery always
passes the state filter (missing `OK` is totally fine).

Also fix that notification delays set the correct
next notification time to the begin time window.

fixes #7579
fixes #7623
fixes #6547
2014-11-09 19:47:24 +01:00
Gunnar Beutner 478f03b49a Replace boost::shared_ptr with boost::intrusive_ptr
refs #7622
2014-11-09 16:54:41 +01:00
Gunnar Beutner 187d443447 Implement support for thin mutexes
refs #7622
2014-11-09 16:54:33 +01:00
Gunnar Beutner 684ad2641a Fix GetInstance() methods for the DbType and config validator registry classes 2014-11-09 13:06:25 +01:00
Gunnar Beutner 4bb535fc47 Discard unnamed config items as early as possible 2014-11-09 04:17:34 +01:00
Michael Friedrich a362b5c14c Fix Zone::IsGlobal() 2014-11-08 22:57:09 +01:00
Gunnar Beutner e1287cb7a5 Fix: Adding/Removing multiple services fails
fixes #7616
2014-11-08 15:17:00 +01:00
Gunnar Beutner fd8eed93e0 Remove unnecessary use of boost::ref() 2014-11-08 14:54:36 +01:00
Gunnar Beutner 25ee5dd1fd Fix problem with missing config items 2014-11-08 14:24:17 +01:00
Gunnar Beutner e1c95d4fa0 Improve config compiler's memory usage 2014-11-08 13:21:51 +01:00
Gunnar Beutner ade12dc27a Remove unused attributes 2014-11-07 21:43:00 +01:00
Gunnar Beutner 9e2aa4c5ed Fix problem with unresolved symbols
refs #7561
2014-11-07 18:37:28 +01:00
Gunnar Beutner 266b1754c7 Speed up type lookups
refs #7561
2014-11-07 12:39:32 +01:00
Gunnar Beutner 3cf08ad050 Properly report errors when CreateProcess() fails
fixes #7599
2014-11-07 10:01:44 +01:00
Gunnar Beutner 60114d4b5d Fix crash in CompatUtility::GetCheckableCommandArgs
refs #7599
2014-11-07 09:26:44 +01:00
Gunnar Beutner f69f7d61f2 Fix variable scope for object rules 2014-11-06 19:26:44 +01:00
Jean Flach fd0436689c windows build fix
refs #7597
2014-11-06 15:13:44 +01:00
Gunnar Beutner 61e090595e Fix build problem on Windows
fixes #7597
2014-11-06 14:21:22 +01:00
Gunnar Beutner 064407d3c9 Fix dynamic_cast problem
fixes #7586
2014-11-06 09:05:12 +01:00
Gunnar Beutner 8bbb2bfb7b Fix compiler warnings for the lexers 2014-11-06 06:23:45 +01:00
Michael Friedrich 5b5f92e57b Cli: Fix missing single quote in 'object list' output
fixes #7584
2014-11-05 18:23:40 +01:00
Gunnar Beutner 9e16e1d395 Remove some obsolete references to cJSON
refs #7452
2014-11-05 16:47:11 +01:00
Gunnar Beutner cfc418c9eb Fix operator shared_ptr<T> for the Value class
fixes #7586
2014-11-05 16:09:22 +01:00
Gunnar Beutner 32b0429904 Fix templates field
fixes #7585
2014-11-05 15:40:13 +01:00
Gunnar Beutner 18d317faf9 Fix crash in ApiEvents::CheckResultAPIHandler
fixes #7577
2014-11-05 09:58:43 +01:00
Gunnar Beutner ad14ff6d6b Fix memory leak in the config parser
refs #7566
2014-11-05 09:29:15 +01:00
Gunnar Beutner 4eb37563b4 Improve memory usage for the config compiler 2014-11-05 08:55:00 +01:00
Michael Friedrich c4ba3f6691 StatusDataWriter: Encode custom attr arrays&dictionaries as json string
refs #7560
2014-11-04 18:08:26 +01:00
Michael Friedrich eeb6facdac Livestatus: Add 'cv_is_json' and encode CV arrays/dicts as json
refs #7560
2014-11-04 17:39:28 +01:00
Gunnar Beutner de080e4928 Fix incorrect field name
refs #7566
2014-11-04 15:24:57 +01:00
Gunnar Beutner c1cbe157db Allow strings as indexers
refs #7566
2014-11-04 15:22:10 +01:00
Gunnar Beutner a6f20c7a22 Implement support for arbitrarily complex indexers
fixes #7566
2014-11-04 15:20:33 +01:00
Michael Friedrich 58d5c42d9c DB IDO: Dump custom attributes as json encoded arrays/dictionaries; add 'is_json' column
refs #7560
2014-11-04 13:47:45 +01:00
Gunnar Beutner 6cafce5d7e Build fix for RHEL 5 2014-11-04 11:18:35 +01:00
Gunnar Beutner a1c905bf62 Implement dictionary support for apply+for
fixes #7561
2014-11-04 11:02:10 +01:00
Gunnar Beutner 19a6a65aad Implement the random() function 2014-11-03 17:21:33 +01:00
Gunnar Beutner aa94563eb5 Implement the keys() function
fixes #7557
2014-11-03 13:05:14 +01:00
Gunnar Beutner e4a1572c9b Use double-quotes in "object list"
refs #7251
2014-11-03 12:39:59 +01:00
Gunnar Beutner 60859043c8 Fix non-unity builds 2014-11-03 07:07:54 +01:00
Gunnar Beutner 170c5a59e4 Implement typeof() function 2014-11-03 00:45:14 +01:00
Michael Friedrich db856a0eee Cli: Disable notifications on remote client 'node setup/wizard'
fixes #7547
2014-11-02 20:17:57 +01:00
Michael Friedrich f69527599f Cli: Fix serial.txt permissions for 'node setup/wizard'
fixes #7546
2014-11-02 19:38:35 +01:00
Michael Friedrich 30718813c9 Cli: Fix error message for clearing repository commit changes 2014-11-02 18:22:51 +01:00
Michael Friedrich a751dc0353 Cli: Better output formatting for 'node wizard' 2014-11-02 17:45:51 +01:00
Gunnar Beutner 46b149dd7d Implement support for formatting arrays in macro strings
fixes #7262
2014-11-02 07:35:43 +01:00
Gunnar Beutner 4677014b6d Implement support for arrays in custom variables
fixes #6544
2014-11-02 07:27:50 +01:00
Gunnar Beutner db3887d09e Make the 'name' attribute available in object definitions
fixes #7538
2014-11-01 06:39:21 +01:00
Gunnar Beutner d300ceaaf7 Fix: Nesting an object in a template causes the template to become non-abstract
fixes #7537
2014-11-01 06:25:58 +01:00
Gunnar Beutner 93b66a0c4a Clean up the config parser a bit 2014-11-01 05:23:14 +01:00
Gunnar Beutner 1811f8689b Make sure templates are never evaluated on their own
fixes #7536
2014-11-01 05:12:13 +01:00
Michael Friedrich 6bc2938996 Cli: Require --zone for 'node setup'
refs #7522
2014-10-31 22:21:36 +01:00
Michael Friedrich bc83c9a698 CLI Commands: Remove timestamp prefix when logging output
fixes #7376
2014-10-31 22:01:36 +01:00
Michael Friedrich 78140fa1c8 Cli: Repository should validate if object exists before add/remove
fixes #7461
2014-10-31 21:08:11 +01:00
Michael Friedrich 7c1cd4c506 Cli: Fix incorrect error message in 'node update-config'
fixes #7529
2014-10-31 20:35:05 +01:00
Michael Friedrich b60adade1a Cli: Fix confusing error messages in repository <type> add
fixes #7530
2014-10-31 20:27:10 +01:00
Michael Friedrich 6596192f2c Cli: Fix black/whitelist remove command
refs #7526
2014-10-31 20:22:24 +01:00
Michael Friedrich ce4dcea21f Change blacklist/whitelist backend
fixes #7526
2014-10-31 16:21:34 +01:00
Gunnar Beutner 6f160eda47 Remove static_cast optimization for Value's operator shared_ptr<T> 2014-10-31 14:34:28 +01:00
Gunnar Beutner 95b5e1d67b Move the "repository commit --clear" functionality into a separate command
fixes #7499
2014-10-31 13:27:29 +01:00
Gunnar Beutner 2ab43a63cb Rename templates "agent-{host,service}" to "satellite-{host,service}"
refs #7525
2014-10-31 13:15:51 +01:00
Gunnar Beutner 5aa392fa37 Update variable names
refs #7516
2014-10-31 11:55:38 +01:00
Gunnar Beutner 5d7e30bb81 Rename --agent to --zone (for blacklist/whitelist)
fixes #7516
2014-10-31 11:53:44 +01:00
Gunnar Beutner 79f1711a61 Rename CLI command "agent" to "node"
fixes #7525
2014-10-31 11:38:16 +01:00
Michael Friedrich 5eefda8b85 Cli: Fix import description for 'repository <type> add' 2014-10-31 11:20:14 +01:00
Gunnar Beutner f8799f0252 Use ScriptVariable::Get for "agent wizard" and "agent setup"
fixes #7520
2014-10-31 10:35:03 +01:00
Gunnar Beutner 3fc3f05bb4 Implement field attribute to hide fields in command auto-completion
fixes #7403
2014-10-31 08:53:25 +01:00
Gunnar Beutner 9f7c97051e Hide attributes in command auto-completion which cannot be set
refs #7403
2014-10-31 08:49:14 +01:00
Gunnar Beutner 00cb1ca971 Agent health check must not have zone attribute
fixes #7519
2014-10-31 06:27:22 +01:00
Michael Friedrich a4697b61c6 Cli: Chown certificate dirs/files to the icinga user in agent setup/wizard
fixes #7476
refs #7465
refs #7423
2014-10-30 20:34:33 +01:00
Michael Friedrich 3709ec73ea Add Utility::SetFileOwnership() on Linux
refs #7476
2014-10-30 19:52:22 +01:00
Michael Friedrich fb2bc5efbf Cli: Fix choices in agent setup wizard
refs #7465
2014-10-30 18:22:05 +01:00
Michael Friedrich b863c7fde0 Cli Agent Setup: Provide hint with actual CN for master ticket cmd
refs #7465
2014-10-30 18:07:00 +01:00
Michael Friedrich 43d3878207 Cli: Add 'agent wizard' command
refs #7465
2014-10-30 17:55:34 +01:00
Gunnar Beutner c2270445d3 Use VariableUtility for "pki ticket"
fixes #7443
2014-10-30 15:25:34 +01:00
Michael Friedrich cde4f9a700 Cli: Fix log for CA copy in 'agent setup --master'
refs #7248
2014-10-30 15:19:09 +01:00
Gunnar Beutner ff12522a62 Fix operator== for Value and String comparisons
refs #7472
2014-10-30 13:04:00 +01:00
Gunnar Beutner f8f89cef6d Fix scoping rules for apply rules
fixes #7503
2014-10-30 09:20:42 +01:00
Gunnar Beutner bfcf1b3eb8 Build fix
fixes #7502
2014-10-30 09:20:25 +01:00
Michael Friedrich 0ff5cf51b8 Cli: 'agent update-config' checks against black/whitelist filters on add/remove
fixes #7501
refs #7253
2014-10-30 00:29:09 +01:00
Michael Friedrich 4fe486c4dd Cli: Fix overwriting api.conf; Move black/whitelist functionality into AgentUtility class
refs #7253
fixes #7481
2014-10-29 19:21:52 +01:00
Gunnar Beutner ceca27e25b Fix Utility::GetFQDN() on OS X
fixes #7495
2014-10-29 16:54:33 +01:00
Michael Friedrich 7eb7e72750 Cli: Generate a health check host if agent != host for dependencies
refs #7249
2014-10-29 12:03:26 +01:00
Michael Friedrich 6866bd0dec Cli: 'agent update-config': Don't skip service creation if host already exists
refs #7249
2014-10-29 11:53:24 +01:00
Michael Friedrich e7c07fb66b Cli: Ignore 'localhost' from agent repository on 'update-config'
refs #7249
2014-10-29 11:35:47 +01:00
Gunnar Beutner 8251a60044 Make sure that OnStateLoaded is called for all objects
fixes #7482
2014-10-29 11:14:32 +01:00
Michael Friedrich f72f7d87c7 Cli: Always generate an agent master zone parent (setup & update-config)
refs #7423
refs #7249
2014-10-29 11:09:55 +01:00
Gunnar Beutner 57747ccdb1 Hosts/services should not have themselves as parents
fixes #7483
2014-10-29 10:47:26 +01:00
Gunnar Beutner 75b599c801 Set host/service variable in apply rules
fixes #7479
2014-10-29 10:09:40 +01:00
Gunnar Beutner 93da4baf8f Use "cluster-zone" command to check agent hosts
refs #7248
2014-10-29 07:58:34 +01:00
Michael Friedrich 70fe95bbba Cli: Add blacklist/whitelist commands for agent commands
refs #7253
2014-10-28 22:03:55 +01:00
Michael Friedrich b344743a9f Cli: Write ApiListener config in 'agent setup' command
fixes #7438
refs #7248
2014-10-28 21:13:15 +01:00
Michael Friedrich 2e6a604706 Cli: Don't allow to override existing repository objects
refs #7255
2014-10-28 19:55:46 +01:00
Michael Friedrich 64298c35ef Cli: Add agents.conf w/ default agent templates for 'agent update-config'
refs #7248
2014-10-28 19:46:10 +01:00
Michael Friedrich 20a176680a Cli: Bail early on 'repository commit' if changelog dir does not exist
refs #7255
2014-10-28 19:43:37 +01:00
Michael Friedrich 16069a7368 Cli: Don't overwrite existing objects; delete old agent objects on 'agent update-config'
refs #7248
2014-10-28 19:28:38 +01:00
Michael Friedrich d92dc8539d Cli: Make sure that ChangeLog directory exists on 'repository commit'
refs #7255
2014-10-28 19:28:38 +01:00
Gunnar Beutner 4cb3d5b1f0 Fix "assign where" for nested groups
fixes #7475
2014-10-28 18:58:22 +01:00
Gunnar Beutner c10da708ff Fix incorrect locks 2014-10-28 18:57:30 +01:00
Gunnar Beutner a5684ea2ac Build fix for Windows 2014-10-28 18:09:52 +01:00
Gunnar Beutner 8fdb2835e5 Fix code style 2014-10-28 18:04:51 +01:00
Michael Friedrich 6dd342f46a Cli: Check path before removing any object from repository
refs #7255
2014-10-28 15:45:01 +01:00
Michael Friedrich ab5a55d754 Cli: Fix 'repository host remove' for hosts w/o services
refs #7255
2014-10-28 15:27:17 +01:00
Gunnar Beutner 29ad90a469 Fix performance data for API events
fixes #7473
2014-10-28 15:24:35 +01:00
Gunnar Beutner 2d6c3e8d5b Remove localhost virtual name thingie from apievents.cpp
refs #7467
2014-10-28 14:44:55 +01:00
Gunnar Beutner 0cff9314f9 Remove virtual name feature for agent hosts
fixes #7467
2014-10-28 14:05:17 +01:00
Gunnar Beutner 76444027e9 Fix: Don't validate templates
refs #7458
2014-10-28 12:20:35 +01:00
Michael Friedrich cb6a4f1c76 Cli: Ignore 'import' attribute on repository add validation
refs #7458
2014-10-28 12:17:09 +01:00
Michael Friedrich 2db549d976 Cli: Don't suggest '--import' on 'repository <type> remove'
refs #7255
2014-10-28 12:08:31 +01:00
Gunnar Beutner 3dc2f82345 Implement validation for "repository add"
fixes #7458
2014-10-28 11:55:25 +01:00
Michael Friedrich 00652f603c Cli: Add endpoint & zone repository object for 'agent update-config'
refs #7248
2014-10-28 10:54:29 +01:00
Michael Friedrich 3c5645c730 Cli: Add zone attribute for 'agent update-config' command
refs #7248
2014-10-28 10:24:19 +01:00
Gunnar Beutner 028186e7f0 Remove support for partial type validators
refs #7458
2014-10-28 08:22:41 +01:00
Gunnar Beutner 7cca2d275f Fix incorrect #ifdef
refs #7454
2014-10-28 08:12:54 +01:00
Gunnar Beutner b0179cc1fe 64-bit build fix for YAJL < 2.0
refs #7454
2014-10-28 06:33:40 +01:00
Gunnar Beutner 65e2e636ea Fix compatibility with older versions of the YAJL library
refs #7454
2014-10-28 05:59:29 +01:00
Michael Friedrich 185f9b4080 Cli: Fix formatting of 'repository <type> list' command
refs #7255
2014-10-27 20:18:47 +01:00
Michael Friedrich 034cd9c140 Cli: Don't run 'agent update-config' if there are uncommitted changes
refs #7249
2014-10-27 19:15:34 +01:00
Michael Friedrich 7e73533ad4 Cli: 'repository host remove' cleans service directory, add pending changes helper
refs #7249
fixes #7460
2014-10-27 19:13:33 +01:00
Michael Friedrich dfd7741a1d Cli: Add implementation for 'agent update-config' command
refs #7249
2014-10-27 18:01:51 +01:00
Michael Friedrich ad99d022ed Cli: Add 'repository commit --clear' clearing pending changes
refs #7455
2014-10-27 17:55:58 +01:00
Michael Friedrich 4554b70a97 Cli: Fix repository remove auto-complete suggestions
refs #7255
2014-10-27 15:48:52 +01:00
Michael Friedrich 44d961f119 Cli: Fix integer formatting in repository command
refs #7255
2014-10-27 15:33:36 +01:00
Gunnar Beutner 3f032692ce Implement agent settings for "agent set" and "agent list"
refs #7248
2014-10-27 15:12:19 +01:00
Michael Friedrich c0103268e1 Cli: Better formatting for changelog output of repository commit (--simulate)
refs #7255
2014-10-27 14:53:00 +01:00
Michael Friedrich 4cf46de5ab Cli: Fix autocompletion on Debian
refs #7246
2014-10-27 14:13:55 +01:00
Michael Friedrich d9c8252f17 Cli: Fix repository <type> list not showing objects
Still requires parsing of config objects into printable
dictionaries.

refs #7255
2014-10-27 13:01:21 +01:00
Gunnar Beutner 05d642f69d Use system-provided version of YAJL where available
fixes #7454
2014-10-27 12:42:57 +01:00
Gunnar Beutner 196bd89c7a Use OpenSSL's default algorithms for certificate signatures
fixes #7434
2014-10-27 11:32:39 +01:00
Michael Friedrich 3d86ae6750 Cli: Delete change file on repository commit
refs #7255
2014-10-27 11:02:14 +01:00
Gunnar Beutner 8ce4b3f122 Implement support for serial files
fixes #7393
2014-10-27 10:52:07 +01:00
Gunnar Beutner 8b339a6cd5 Throw saved exception in JSON decoder
refs #7452
2014-10-27 09:28:32 +01:00