Commit Graph

348 Commits

Author SHA1 Message Date
Gunnar Beutner bf1a800e39 Update copyright information. 2013-09-25 07:45:56 +02:00
Gunnar Beutner a7e25beb06 Improve config validation.
Fixes #4391
2013-09-24 13:13:14 +02:00
Gunnar Beutner e7da4057f9 Implement support for work queues. 2013-09-18 09:09:16 +02:00
Gunnar Beutner 9d0fee73a3 Fix memory leaks in the config parser. 2013-09-18 07:47:46 +02:00
Gunnar Beutner 31a55987e5 cluster: Implement domain support. 2013-09-17 13:18:40 +02:00
Gunnar Beutner 7827d14ece config: Fix += { }. 2013-09-13 09:51:13 +02:00
Gunnar Beutner 95909d82fe cluster: Implement authority checks. 2013-09-12 10:04:04 +02:00
Gunnar Beutner 15fae2bf2a Refactor how Application objects work. 2013-09-10 16:03:36 +02:00
Gunnar Beutner 59d979c61e config: Don't throw exception when file pattern doesn't match any files. 2013-08-30 14:02:47 +02:00
Gunnar Beutner 519ce78727 Implement script variables IcingaPrefixDir, IcingaLocalStateDir, IcingaPkgLibDir, IcingaPkgDataDir and IcingaStatePath. 2013-08-30 12:04:24 +02:00
Gunnar Beutner c9ec28440e Another bugfix for the event order. 2013-08-29 19:25:34 +02:00
Gunnar Beutner a3eed67774 Fix order for startup events. 2013-08-29 19:05:06 +02:00
Gunnar Beutner 911f64c411 Fix state file functionality. 2013-08-29 10:40:43 +02:00
Gunnar Beutner f134ed61bc Fix: ::Start must be called after restoring the state file.
Fixes #4654
2013-08-29 10:17:12 +02:00
Gunnar Beutner e93808a468 Fix "make dist".
Fixes #4489
2013-08-29 08:38:09 +02:00
Gunnar Beutner 2e2012c913 Clean up Makefiles. 2013-08-29 08:21:07 +02:00
Gunnar Beutner f39f69d390 Refactor ASSERT macro. 2013-08-28 08:18:58 +02:00
Gunnar Beutner f49bb3d150 Refactor JSON-RPC library and implement check-result messages. 2013-08-27 12:21:41 +02:00
Gunnar Beutner e9e55cd8c0 Remove the replication feature and clean up the code. 2013-08-26 14:56:38 +02:00
Gunnar Beutner 4961523e91 Add DECLARE_PTR_TYPEDEFS macro for Ptr/WeakPtr typedefs. 2013-07-09 08:43:52 +02:00
Gunnar Beutner 8e880a3f39 Fix include directory for ltdl.h. 2013-07-02 16:56:01 +02:00
Gunnar Beutner 277fe0d6ab Make the "custom" attribute a dictionary. 2013-06-26 10:19:00 +02:00
Gunnar Beutner 8302062ead Config: Implement << and >> operators. 2013-06-26 08:21:35 +02:00
Gunnar Beutner 49faf14b70 Don't allow asterisks in identifiers. 2013-06-25 10:27:16 +02:00
Gunnar Beutner f3d0738e93 Implement script variables. 2013-06-25 09:21:42 +02:00
Michael Friedrich c9fb309200 tools: move mkembedconfig into subdir
preparation for moving the conversion script into tools/

refs #4337
2013-06-24 16:05:18 +02:00
Gunnar Beutner 89078e1cfb Config: Fix nested dictionaries in arrays. 2013-06-21 09:07:57 +02:00
Gunnar Beutner 4fadd3bfa0 Remove the ILogger interface.
Fixes #3860
2013-06-06 11:26:30 +02:00
Gunnar Beutner b8669d67ca Fix inheritance for config types. 2013-06-06 11:26:00 +02:00
Gunnar Beutner 99220a00c8 Windows build fix. 2013-06-04 10:16:11 +02:00
Gunnar Beutner 5aeafb9f03 Make error message about invalid object names more verbose. 2013-05-08 10:50:56 +02:00
Gunnar Beutner b4fa556ac6 Fix: ConfigItem types and names are not case-insensitive
Fixes #4044
2013-05-08 10:46:50 +02:00
Gunnar Beutner aaac957ad5 Disallow colons in user-defined objects. Use colons for auto-generated object names. 2013-05-07 09:35:36 +02:00
Gunnar Beutner 7e16c77375 Don't allow config items to inherit from themselves.
Fixes #4045
2013-05-07 09:14:23 +02:00
Gunnar Beutner 10dff1d8c1 Removed dependency on boost/uuid. 2013-05-03 11:26:18 +02:00
Gunnar Beutner 288a877625 Implement new validation type: name(Type) 2013-05-03 10:48:28 +02:00
Gunnar Beutner 5db55ea384 Fix 'make distcheck'. 2013-04-19 13:17:17 +02:00
Gunnar Beutner ada9f634dd Don't link items after we've encountered a compiler error.
Fixes #3930
2013-04-08 10:09:27 +02:00
Gunnar Beutner ca4157ea24 Fix memory leaks in the config parser. 2013-04-04 13:51:36 +02:00
Gunnar Beutner 0c9f635c46 Build fix. 2013-03-27 16:08:58 +01:00
Gunnar Beutner 4c04c2665c Add missing NUL terminator in lb_steal(). 2013-03-27 16:03:43 +01:00
Gunnar Beutner f1c57ce3a0 Significantly speed up the config lexer. 2013-03-27 16:03:43 +01:00
Gunnar Beutner c14aaf3d29 Optimize lb_append_char(). 2013-03-27 16:03:39 +01:00
Gunnar Beutner 83ff08340b Remove some static vars from the config compiler (in an effort to make it re-entrant). 2013-03-27 13:50:53 +01:00
Gunnar Beutner 96b1bd1943 Add some debug output in the config compiler. 2013-03-27 13:49:58 +01:00
Gunnar Beutner 604b57da43 Fixed double-free in the config parser. 2013-03-26 17:26:31 +00:00
Gunnar Beutner fd3e92ea0c Refactor AsyncTasks. 2013-03-25 17:36:15 +00:00
Gunnar Beutner 97fee26289 Remove @threadsafety doc strings
Fixes #3889
2013-03-22 12:02:20 +01:00
Gunnar Beutner db064d3ce9 Removed the '#' prefix for the config statements 'include' and 'library'. 2013-03-21 14:35:10 +01:00
Gunnar Beutner 711a8cb5e0 Use Expression::Extract* for notifications. 2013-03-19 14:47:19 +01:00
Gunnar Beutner 45e24e4729 Fix Expression::Extract. 2013-03-19 14:13:58 +01:00
Gunnar Beutner 969458b480 Build dependant services using extracted expression lists. 2013-03-19 13:37:09 +01:00
Gunnar Beutner 7e9a5e647d *NIX build fix. 2013-03-19 07:12:16 +01:00
Gunnar Beutner 6df051fad3 Fix: The order in which config items are defined should not matter
Fixes #3733
2013-03-19 07:09:06 +01:00
Gunnar Beutner 734f76af96 Windows build fix. 2013-03-18 22:40:40 +01:00
Gunnar Beutner 9e1f48049e Implement += operator for arrays. 2013-03-18 12:55:32 +01:00
Gunnar Beutner c3975af6ec Refactor #includes (Part 4). 2013-03-18 11:02:18 +01:00
Gunnar Beutner 9d076c3c03 Refactor #includes (Part 3). 2013-03-17 20:19:29 +01:00
Gunnar Beutner 0bb0711d72 Refactor #includes (Part 2). 2013-03-16 21:18:53 +01:00
Gunnar Beutner 3073200b53 Cleaned up #includes (Part 1). 2013-03-15 18:21:29 +01:00
Gunnar Beutner 4e765c58de Another windows build fix. 2013-03-15 13:53:50 +01:00
Gunnar Beutner 27e1d311de Fix dependencies for mkembedconfig. 2013-03-15 13:35:39 +01:00
Gunnar Beutner fae83d2ef6 Fix symbol visibility issue for REGISTER_CONFIG_FRAGMENT(). 2013-03-15 12:27:03 +01:00
Gunnar Beutner 4d5e924bc6 Add mkembedconfig as a dependency for the .conf -> .cpp build step. 2013-03-15 11:56:30 +01:00
Gunnar Beutner 9a05e2b269 Windows build fix. 2013-03-15 11:52:10 +01:00
Gunnar Beutner ee46731f41 Fix --disable-shared
Fixes #3852
2013-03-15 11:21:16 +01:00
Gunnar Beutner 7c46bb4f7d Use 'explicit' for constructors. 2013-03-14 23:52:52 +01:00
Gunnar Beutner 49620ef0ed XNU build fixes. 2013-03-14 15:14:07 +01:00
Gunnar Beutner 5b0a413f32 Implement array validation
Fixes #3701
2013-03-14 13:24:07 +01:00
Gunnar Beutner 1ef7399cea Remove support for anonymous dictionary items. 2013-03-14 12:40:02 +01:00
Gunnar Beutner 07421751ad Implement config support for arrays. 2013-03-14 12:17:46 +01:00
Gunnar Beutner 98ab009b91 Cleaned up VS project files. 2013-03-12 19:49:24 +01:00
Gunnar Beutner c594ee7c30 Fix compiler warnings on Windows. 2013-03-12 18:56:13 +01:00
Gunnar Beutner 5fcdc51e3c Windows build fix. 2013-03-12 15:35:51 +01:00
Gunnar Beutner 3c363499bb Eliminate the Component class.
Fixes #3832
Fixes #3840
2013-03-12 13:45:54 +01:00
Gunnar Beutner 0029bc30b7 Fix null pointer dereference in ConfigItem::Commit(). 2013-03-11 13:07:21 +01:00
Gunnar Beutner 4bb808e0fa ConfigType: Use ConfigItem::IsAbstract() to check if items are abstract. 2013-03-11 13:05:32 +01:00
Gunnar Beutner 6f51230a79 Don't instantiate abstract objects.
Fixes #3669
2013-03-11 12:04:10 +01:00
Gunnar Beutner e2416b5b54 Check return values of SymGetLineFromAddr64 and SymFromAddr. 2013-03-07 16:00:10 +01:00
Gunnar Beutner 659fcf8fa3 Fix cppcheck warnings. 2013-03-06 15:41:13 +01:00
Gunnar Beutner be95f3171d Even more code refactoring. 2013-03-04 15:52:42 +01:00
Gunnar Beutner 4cecbfa01e Fixed deadlock in ConfigItem::Commit(). 2013-03-02 14:11:12 +01:00
Gunnar Beutner 48485c5f26 More lock refactoring. Yay. 2013-03-02 09:07:47 +01:00
Gunnar Beutner 572a477da3 Refactored object locking code. 2013-03-01 12:07:52 +01:00
Gunnar Beutner 2ef255b9f6 Fine-grained locks (WIP, Part 9). 2013-02-24 01:10:34 +01:00
Gunnar Beutner 404b1807e6 Removed PCH support (as it's clearly not working properly). 2013-02-22 08:12:43 +01:00
Gunnar Beutner 4306c6c07a Fine-grained locks (WIP, Part 8). 2013-02-21 16:12:50 +01:00
Gunnar Beutner 5e91f6c54d Fine-grained locks (WIP, Part 7). 2013-02-20 19:52:25 +01:00
Gunnar Beutner 997ca3a77a Fine-grained locks (WIP, Part 6). 2013-02-19 23:02:08 +01:00
Gunnar Beutner 3dace35cf1 Fine-grained locks (WIP, Part 3). 2013-02-18 23:44:24 +01:00
Gunnar Beutner a4c7052a6e Fine-grained locks (WIP, Part 2). 2013-02-18 14:40:24 +01:00
Gunnar Beutner c63c28dd9c Fine-grained locks (WIP, Part 1). 2013-02-17 19:14:34 +01:00
Gunnar Beutner 8ca8486d5b Config: Implement here-document strings. 2013-02-16 22:49:13 +01:00
Gunnar Beutner c1db593b62 Implemented escape characters in the config lexer. 2013-02-16 19:12:56 +01:00
Gunnar Beutner df79e4c2dc Remove method validator. 2013-02-16 11:28:16 +01:00
Gunnar Beutner 2952cc8afb Implement an alias for "abstract object".
Fixes #3707
2013-02-16 09:18:34 +01:00
Gunnar Beutner efd108982a Removed the native:: prefix for built-in functions. 2013-02-15 12:41:32 +01:00
Gunnar Beutner 74b122d430 Implemented the 'Script' type. 2013-02-14 14:58:26 +01:00
Gunnar Beutner c3dce7893c Removed array support, implemented support for anonymous dictionary items. 2013-02-13 18:43:56 +01:00
Gunnar Beutner 767a2909b6 Config: Implement arrays. 2013-02-13 12:19:02 +01:00
Gunnar Beutner 0e353c7b29 Fixed some more memory leaks. 2013-02-11 10:10:17 +01:00
Gunnar Beutner 3221c043e4 Fixed some memory leaks in the config parser. 2013-02-11 09:55:32 +01:00
Gunnar Beutner c44ad7b06b Implemented notification request messages, notifications dictionary for hosts/services and state-based notifications. 2013-02-09 15:20:10 +01:00
Gunnar Beutner 7f86ac3390 Updated VS filters for libconfig. 2013-02-09 10:43:31 +01:00
Gunnar Beutner 580f2e1fcc Use Host constructor/destructor/OnAttributeChange instead of OnCommitted/OnRemoved for Host->services
Fixes #3612
2013-02-08 21:05:08 +01:00
Gunnar Beutner b99068aec6 Fixed compiler warning. 2013-02-08 19:45:51 +01:00
Gunnar Beutner 601c7d25d1 Implement sub-second check intervals.
Fixes #3656
2013-02-08 10:17:41 +01:00
Gunnar Beutner e0fe2cab14 Bugfix: Removing obsolete items after reloading config is broken.
Fixes #3644
2013-02-07 09:19:13 +01:00
Gunnar Beutner 07e8565045 Fixed error message for the method validator. 2013-02-06 13:25:04 +01:00
Gunnar Beutner 07b50ecce8 Bugfix: %require didn't work if parent type had a validator for the same attribute. 2013-02-06 13:21:55 +01:00
Gunnar Beutner 671eb0110f Write a validator for method names
Fixes #3637
2013-02-06 13:10:14 +01:00
Gunnar Beutner b887f14d96 Use BOOST_THROW_EXCEPTION instead of boost::throw_exception()
Fixes #3636
2013-02-06 12:51:12 +01:00
Gunnar Beutner e047e06fc8 Finish implementing %validator.
Fixes #3634
2013-02-06 12:09:50 +01:00
Gunnar Beutner d463bed478 Config: Implement detection of missing required attributes
Fixes #3627
2013-02-06 00:32:05 +01:00
Gunnar Beutner b735aae321 Windows build fix. 2013-02-05 13:19:01 +01:00
Gunnar Beutner 7a150d2c29 Validate config objects before trying to activate them.
Fixes #3619
2013-02-05 13:06:42 +01:00
Gunnar Beutner c4293cfa25 Added init script.
Fixes #3114
2013-02-04 12:52:39 +01:00
Gunnar Beutner b997462eef Bugfix: Crash while reloading config
Fixes #3621
2013-02-03 15:47:11 +01:00
Gunnar Beutner a88d9b5646 Print DebugInfo for failed #includes
Fixes #3613
2013-02-03 01:41:00 +01:00
Gunnar Beutner dbf762e771 Use boost::program_options to parse arguments.
Fixes #3536
Fixes #3184
2013-02-02 23:22:27 +01:00
Gunnar Beutner f2e17bdd09 Fixed compiler warnings (-Wextra). 2013-02-02 22:13:54 +01:00
Gunnar Beutner b19f88e8b8 Removed some debug output. 2013-02-02 20:06:56 +01:00
Gunnar Beutner 628d8374c7 Bugfixes for the type validation feature. 2013-02-02 20:03:24 +01:00
Gunnar Beutner 33aba14197 Implement type keyword in the config compiler
Fixes #3616
2013-02-02 14:28:11 +01:00
Gunnar Beutner 11cf07fa9c Config: implement support for wildcard includes
Fixes #2771
2013-02-02 00:32:18 +01:00
Gunnar Beutner 04fd703e6a Windows build fix. 2013-02-01 23:10:48 +01:00
Gunnar Beutner 00b827d5cf Implement search dirs for #include.
Fixes #3599
2013-02-01 22:44:58 +01:00
Gunnar Beutner 6c0a6a2207 Removed assert()s in ConfigItemBuilder::Compile. 2013-02-01 14:45:55 +01:00
Gunnar Beutner 768fd50703 Config: Changing a template ConfigItem must cause child ConfigObjects to be updated.
Fixes #2791
2013-01-31 15:26:54 +01:00
Gunnar Beutner a4451abad3 Fixed indentation bug in Expression::DumpValue(). 2013-01-30 23:15:37 +01:00
Gunnar Beutner eab6411892 Config: Implement dumping the config in text form
Fixes #2754
2013-01-30 23:02:46 +01:00
Gunnar Beutner 3dcd94896d Allow T_STRING for dictionary keys.
Fixes #3581
2013-01-29 12:40:00 +01:00
Gunnar Beutner 1bbdfa2413 Config: Implement true/false as aliases for 1/0
Fixes #3551
2013-01-24 10:08:03 +01:00
Gunnar Beutner 99e58f7031 Windows fix for ConfigCompiler::ReadInput. 2013-01-23 21:58:19 +01:00
Gunnar Beutner c99d4b19a9 Throw exception for missing types. 2013-01-23 10:41:38 +01:00
Gunnar Beutner 153ab33074 Properly deal with I/O errors when parsing config files.
Fixes #3152
2013-01-23 09:57:06 +01:00
Gunnar Beutner 70c66fa542 Implemented the #library directive and fixed loading icinga.dll on Windows. 2013-01-17 15:05:34 +01:00
Gunnar Beutner 83772d4386 Implemented DynamicType support.
Fixes #3477
2012-12-04 08:42:24 +01:00
Gunnar Beutner cfb07e9e2c Ignore Windows new-lines.
Fixes #3292
2012-10-15 08:27:07 +02:00
Gunnar Beutner a4fa8950c4 Implemented lexer rules for time durations.
Fixes #3073
2012-09-25 11:17:04 +02:00
Gunnar Beutner b9b009b6da Build fix for Windows. 2012-09-21 16:28:14 +02:00
Gunnar Beutner bb8935fe9b Added Win64 build support. 2012-09-21 16:15:36 +02:00
Gunnar Beutner c9d6728869 Build fix. 2012-09-19 13:03:17 +02:00
Gunnar Beutner 8e2801e062 Updated documentation. 2012-09-19 12:32:39 +02:00
Gunnar Beutner ff0af9d65e Fixed more doxygen warnings. 2012-09-17 14:47:43 +02:00
Gunnar Beutner fee4246f55 Updated doxygen documentation. 2012-09-17 13:35:55 +02:00
Gunnar Beutner c7b29c6b46 Build fix for Windows. 2012-09-07 11:46:38 +02:00
Gunnar Beutner 9bc93ce4a9 Renamed 'doc' to 'docs'.
Moved Doxygen files to docs/.
Removed cJSON directory.
Moved libraries into lib/.
Renamed 'config' to 'm4'.
Renamed 'dyn' library to 'config'.
2012-09-07 10:27:31 +02:00