Commit Graph

728 Commits

Author SHA1 Message Date
Gunnar Beutner 06cb3cf875 Another build fix for Windows
refs #9182
2016-08-31 13:43:50 +02:00
Gunnar Beutner 68dceaab06 Replace boost::exception_ptr with std::exception_ptr
refs #9182
2016-08-30 20:46:23 +02:00
Gunnar Beutner 489269e2fa Fix incorrect debug hints for nested dictionary expressions
fixes #12571
2016-08-29 08:46:29 +02:00
Gunnar Beutner 32e6da1c60 Speed up item lookups for ConfigItem::GetDefaultTemplates
refs #12575
2016-08-29 08:40:46 +02:00
Gunnar Beutner f12b52f465 Use lambdas in the ConfigItem class
refs #12509
2016-08-29 08:16:33 +02:00
Gunnar Beutner 11e1cc9939 Remove unnecessary ScriptFrame variable
refs #12509
2016-08-29 05:54:07 +02:00
Gunnar Beutner 2ce8a4d4cc Add missing initializers for the ConfigItemBuilder class
refs #12575
2016-08-28 14:12:07 +02:00
Gunnar Beutner e5af5b5dd3 Use raw string literals in mkembedconfig
fixes #12576
2016-08-28 11:01:45 +02:00
Gunnar Beutner 78cd56e277 Implement support for default templates
fixes #12575
2016-08-28 10:27:43 +02:00
Gunnar Beutner e8b0797ec4 Use 'auto' keyword for iterator declarations (part 2)
refs #12561
2016-08-27 19:56:12 +02:00
Gunnar Beutner eafe4c578d Avoid unnecessary copies for the DebugHint class
refs #12509
2016-08-27 18:43:14 +02:00
Gunnar Beutner b5b09216c6 Use lambda functions for INITIALIZE_ONCE
fixes #12562
2016-08-27 09:48:36 +02:00
Gunnar Beutner 5058c5d75b Use 'auto' for iterator declarations
fixes #12561
2016-08-27 08:37:19 +02:00
Gunnar Beutner 7194b36d3e Avoid unnecessary string copies for LiteralExpression objects
refs #12509
2016-08-26 18:11:56 +02:00
Gunnar Beutner 30762e5330 Set versions for all internal libraries
fixes #12552
2016-08-25 17:56:18 +02:00
Gunnar Beutner ce7b6e4f87 Remove unused method: ApplyRule::DiscardRules
fixes #12544
2016-08-25 10:21:14 +02:00
Gunnar Beutner 288413f046 Replace BOOST_FOREACH with range-based for loops
fixes #12538
2016-08-25 06:46:17 +02:00
Gunnar Beutner 429d11daa8 Fix compiler warnings
fixes #12534
2016-08-24 20:33:34 +02:00
Gunnar Beutner ae1ab5f865 Implement unit tests for state changes
fixes #12530
2016-08-24 19:45:52 +02:00
Gunnar Beutner 218e780a44 Avoid unnecessary string copies
fixes #12509
2016-08-23 15:01:40 +02:00
Gunnar Beutner 43a4acd5a2 Remove deprecated functions
fixes #12507
2016-08-23 15:01:40 +02:00
Gunnar Beutner b5637a2d16 Fix memory leak for the 'use' keyword
fixes #12487
2016-08-19 09:17:40 +02:00
Gunnar Beutner 7fcf8ece72 Remove unnecessary dictionary lookups in the DebugHint class
refs #12457
2016-08-17 09:20:05 +02:00
Gunnar Beutner b7a1b58069 Improve performance for type lookups
fixes #12448
2016-08-16 11:02:33 +02:00
Gunnar Beutner afc1b9bdc5 Move type variables into the 'Types' namespace
refs #12408
2016-08-12 17:05:19 +02:00
Gunnar Beutner 419500e55e Fix 'use' keyword for templates
fixes #12409
2016-08-12 13:32:13 +02:00
Gunnar Beutner 2a40a71ffa Change scoping mechanism for the __using keyword
refs #12408
2016-08-12 13:14:10 +02:00
Gunnar Beutner 3980cf04a0 Fix exception with __using
refs #12408
2016-08-12 12:05:02 +02:00
Gunnar Beutner c5a170a972 Implement support for namespaces
fixes #12408
2016-08-12 11:32:16 +02:00
Gunnar Beutner f0beeba354 Fix missing names for user-defined functions
refs #12393
2016-08-11 09:08:33 +02:00
Gunnar Beutner 54bbaf9f7d Implement support for marking functions as deprecated
fixes #12393
2016-08-10 15:48:05 +02:00
Gunnar Beutner dc06209e4a Move internal script functions into the 'Internal' namespace
fixes #12338
2016-08-10 06:55:44 +02:00
Gunnar Beutner ff293661fc Rename/Remove experimental script functions
fixes #12332
2016-08-09 10:43:55 +02:00
Gunnar Beutner 8deeb73bb8 Register a new script frame in Function::Invoke
fixes #9848
2016-08-08 14:12:08 +02:00
Gunnar Beutner 46f8c7eb59 Remove temporary icinga2.debug file in case the config validation fails
fixes #12318
2016-08-05 09:15:17 +02:00
Michael Friedrich 915ebe17cd ConfigCompiler should not log included files by default
fixes #11419
2016-07-05 15:43:48 +02:00
Michael Friedrich 5836b5b868 Fix: include_recursive should gracefully handle inaccessible files
fixes #12098
2016-07-05 15:40:49 +02:00
Gunnar Beutner 906ab613f3 Fix crash when using include_recursive in an object definition
fixes #12022
2016-06-22 17:01:36 +02:00
Gunnar Beutner ff57b0ccd6 Add name attribute for the WorkQueue class
fixes #10816
2016-06-14 09:08:04 +02:00
Gunnar Beutner 222b90107f Fix crash in ConfigItem::Commit
fixes #11804
2016-05-18 12:53:41 +02:00
Gunnar Beutner b9fdb3bfd9 Make sure that object names aren't empty
fixes #9989
2016-05-11 09:48:18 +02:00
Gunnar Beutner 81a7a002b4 Improve validation for flow control statements
fixes #11622
2016-05-11 08:01:31 +02:00
Michael Friedrich 2faf121ff4 Remove commentsand downtimes with reference to deleted checkable objects
Silence the warning message and change the log level to notice as well.

fixes #10717
2016-05-03 11:30:02 +02:00
Gunnar Beutner 93a09b874b Remove the (unused) 'inherits' keyword
fixes #11659
2016-04-22 13:49:30 +02:00
Gunnar Beutner d2cd4b6667 Improve performance for locks and value conversions
refs #11612
2016-04-19 09:38:22 +02:00
Gunnar Beutner 3008d5ef31 Improve performance for field accesses
fixes #11612
2016-04-18 17:05:22 +02:00
Michael Friedrich 027a23f468 Fix: Overwriting global type variables causes crash in ConfigItem::Commit()
fixes #11484
2016-03-31 11:43:16 +02:00
Gunnar Beutner 112f024810 Build fix for GCC
refs #9839
2016-03-29 14:52:48 +02:00
Gunnar Beutner eb0892273e Implement the DateTime class
fixes #9839
2016-03-29 13:27:20 +02:00
Gunnar Beutner 5de9a988d9 Improve validation for arrays
fixes #11434
2016-03-24 09:15:39 +01:00
Gunnar Beutner 6ba0c5fe01 Implement recursion limit for AST expressions which don't use a separate stack frame
fixes #11106
2016-03-23 09:03:49 +01:00
Michael Friedrich 47c5425137 Fix permissions for temporary files
fixes #11212
fixes #11211
2016-02-24 11:00:44 +01:00
Michael Friedrich 4cb5b97e52 Fix unique creation of temp files
fixes #10948
2016-02-23 12:30:59 +01:00
Gunnar Beutner c06f6d7aeb Fix crash in ConfigItem::RunWithActivationContext
fixes #11085
2016-02-04 13:17:37 +01:00
Gunnar Beutner 599929b0f6 Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
Michael Friedrich 323b759a90 Fix config validation for templates used as object reference name
fixes #10830
2015-12-17 13:49:30 +01:00
Michael Friedrich 8055f05d5e Fix cluster config sync for (non-)authoritative configs
Details: https://dev.icinga.org/issues/10819#note-39

refs #10819
2015-12-12 12:16:00 +01:00
Michael Friedrich e5ca19b17f Fix that relative paths do not work with include_zones
fixes #10828
2015-12-11 16:58:43 +01:00
Gunnar Beutner 678a237739 Turn '=>' lambda expressions into side-effect-free statements
fixes #10760
2015-12-01 16:41:00 +01:00
Gunnar Beutner 4ab6f2a985 Fix crash in ConfigItem::ActivateItems
refs #10643
2015-11-23 17:25:35 +01:00
Michael Friedrich d0545c4ea2 Fix crash in ConfigItem::ActivateItems
refs #10643
2015-11-23 14:02:33 +01:00
Gunnar Beutner 5991a878a0 Build fix for SLES 11 (with -std=c++11)
fixes #10615
2015-11-21 04:46:13 +01:00
Gunnar Beutner 3505ca3c16 Fix race condition in the ConfigItem class
fixes #10643
2015-11-19 19:38:49 +01:00
Gunnar Beutner 79b15efd09 Allow null values for constructor calls
fixes #10628
2015-11-14 05:36:48 +01:00
Gunnar Beutner e3c75faabc Implement support for recursive object locks
fixes #10596
2015-11-11 10:21:30 +01:00
Gunnar Beutner 2d2e7ecdb2 Improve location information for exceptions
fixes #10568
2015-11-10 17:05:40 +01:00
Gunnar Beutner 7621870278 Implement a debugger for Icinga scripts
fixes #10547
2015-11-05 14:29:45 +01:00
Gunnar Beutner 701961b73b Fix the 'type' attribute for the Object class
refs #10387
2015-11-05 10:29:02 +01:00
Gunnar Beutner 51f473d08a Implement the current_filename and current_line keywords
fixes #10243
2015-11-03 16:34:34 +01:00
Gunnar Beutner 050c520b2a Convert Comment/Downtime to config objects
fixes #9777
2015-10-28 17:56:29 +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 74ef3e3ce6 Turn includes into AST expressions
fixes #10008
2015-10-22 09:46:31 +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
Gunnar Beutner 359fb3f82b Fix formatting for floating-point values in ConfigWriter
fixes #10256
2015-09-30 16:43:32 +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 e19a36c659 Fix parser error when using new-lines in dictionaries
fixes #10204
2015-09-23 16:37:21 +02:00
Gunnar Beutner afcb97303c Remove unnecessary MakeLiteral calls in SetExpression::DoEvaluate
fixes #10199
2015-09-23 10:37:13 +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 6fa58a520c Implement config object sync
Adds object version.

refs #9927
2015-09-17 14:20:43 +02:00
Michael Friedrich da83bae660 Rename config/modules to config/packages
fixes #9953
2015-09-01 20:09:04 +02:00
Gunnar Beutner c37a23ccba Implement the Icinga Studio application
fixes #10042
2015-08-31 07:50:01 +02:00
Gunnar Beutner f2a055c85a Use an AST node for the 'library' keyword
fixes #10017
2015-08-27 14:50:08 +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 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 71dc682924 Implement support for "." in attributes when creating objects
refs #9082
2015-08-18 16:53:30 +02:00
Gunnar Beutner d8cab2f0e8 Add 'override' keyword to methods
refs #9929
2015-08-18 12:45:30 +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
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 16ddc12c06 Implement support for creating objects
refs #9101
2015-08-15 20:07:11 +02:00
Michael Friedrich d7970f5bb1 Implement modified attributes v2
refs #9081
refs #9093
2015-08-15 20:07:10 +02:00
Gunnar Beutner aa00f4183a Get rid of code duplication in ConfigWriter/ConsoleCommand
refs #9099
2015-08-11 06:47:08 +02:00
Gunnar Beutner 07f9df8b2d Build fix for Windows 2015-08-10 15:28:31 +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 973db46d40 Implement support for writing configuration files
fixes #9099
2015-08-03 15:07:38 +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 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
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
Gunnar Beutner ccd63b9d15 Implement the include_zones directive
refs #9083
2015-07-21 09:32:17 +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
Michael Friedrich c8d129bf9f Enable -Wno-deprecated-register for Clang and AppleClang
refs #9414
2015-07-14 15:02:43 +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 ed3882ba33 Fix config parser ignoring forbidden "ignore" in template definition
fixes #9535
2015-07-02 17:53:34 +02:00
Gunnar Beutner d93bcedaad Implement sandbox mode for the config parser
fixes #9068
2015-04-16 08:48:17 +02:00
Gunnar Beutner f69c0bd5a2 Remove the ScopeCurrent constant
fixes #9044
2015-04-15 08:36:17 +02:00
Paul Richards 5cd2056f43 Fix crash in VMOps::FunctionCall
fixes #8952

Signed-off-by: Gunnar Beutner <gunnar@beutner.name>
2015-04-01 22:51:17 +02:00
Gunnar Beutner 1c7e7dac60 Avoid setting up unnecessary stack frames for dictionary expressions 2015-03-31 12:39:34 +02:00
Gunnar Beutner 91da55872d Avoid unnecessary dictionary lookups
fixes #8922
2015-03-31 11:45:38 +02:00
Gunnar Beutner a74fb1e7e8 Avoid setting up unnecessary stack frames for function calls 2015-03-31 07:09:20 +02:00
Gunnar Beutner ec7224e3ed Generate C++ code for type validators
fixes #7709
fixes #8867
2015-03-27 07:59:27 +01:00
Gunnar Beutner 665c3b45c1 Add support for the C++11 keyword 'override'
fixes #8842
2015-03-23 07:55:06 +01:00
Gunnar Beutner 808a26ae72 Fix: 'return' keyword doesn't work inside for loops
fixes #8834
2015-03-22 00:04:57 +01:00
Gunnar Beutner ed29d06ab6 Implement constructor-style casts
fixes #8832
2015-03-21 22:48:23 +01:00
Gunnar Beutner 250fc54cd0 Fix copyright header indentation 2015-03-21 11:02:01 +01:00
Gunnar Beutner e8cee8d5e2 Allow using more than one %validator rule for the same type
fixes #8829
2015-03-20 15:49:55 +01:00
Gunnar Beutner 16ef84fd35 Use TypeInstance field instead of looking up types by name
fixes #8817
2015-03-20 08:15:07 +01:00
Gunnar Beutner e22386e63f Make load order for objects more reliable
fixes #8770
2015-03-19 15:58:38 +01:00
Gunnar Beutner 6812e2668c Improve error message for invalid field access
fixes #8769
2015-03-19 13:48:51 +01:00
Gunnar Beutner 0884265180 Fix leak in ConfigCompiler::CompileStream
refs #8791
2015-03-19 08:17:57 +01:00
Gunnar Beutner 2aa65f3f4c Don't use the thread pool to compile Livestatus scripts
refs #8791
2015-03-18 14:36:46 +01:00
Gunnar Beutner 3e08f2e0b5 Make order for deferred initializers deterministic
refs #8791
2015-03-18 13:24:31 +01:00
Gunnar Beutner 50b1e1cf6b Fix livestatus unit tests
refs #8791
2015-03-18 12:11:42 +01:00
Gunnar Beutner 6c96d5bc98 Clean up the start-up process a bit
fixes #8791
2015-03-18 11:14:51 +01:00
Gunnar Beutner 4a8920b1d4 Improve Flex version detection on Windows
refs #8750
2015-03-16 13:32:02 +01:00
Gunnar Beutner 8072ca31d9 Ensure that flex meets the version requirements
fixes #8750
2015-03-15 21:08:06 +01:00
Gunnar Beutner 8682c530af Fix line continuation support for parentheses
fixes #8679
2015-03-11 10:01:03 +01:00
Gunnar Beutner 977ca844c7 Remove an unnecessary temporary variable 2015-03-10 15:23:27 +01:00
Gunnar Beutner e50d3e6e5a Fix validator for dependencies
fixes #8596
2015-03-09 08:04:18 +01:00
Gunnar Beutner 77fc213d6d Remove unnecessary dynamic_casts 2015-03-07 14:47:54 +01:00
Gunnar Beutner 4a2a6d999a Fix incorrect debug hints for nested attributes
fixes #8604
2015-03-05 13:18:15 +01:00
Gunnar Beutner c33e78aa04 Don't discard config validators 2015-03-04 09:12:57 +01:00
Gunnar Beutner 4d63351561 Fix some compile warnings 2015-03-04 08:26:15 +01:00
Gunnar Beutner 9bbe9a4875 Fix a memory leak in *Expression::GetReference
fixes #8593
2015-03-04 08:00:38 +01:00
Gunnar Beutner c3e32911a7 Fix: else if doesn't work without an else branch
fixes #8572
2015-03-03 10:22:21 +01:00
Gunnar Beutner 7c31654552 Remove the return type for Utility::LoadExtensionLibrary 2015-03-03 07:19:34 +01:00
Gunnar Beutner 09038eeb7c Remove unused variable 2015-03-02 13:21:06 +01:00
Gunnar Beutner fd090e057b Implement 'else if'
fixes #8548
2015-02-26 13:51:13 +01:00
Gunnar Beutner 4da3b1c5b3 Make sure that Notification objects are activated after Host/Service objects
fixes #8517
2015-02-25 12:43:38 +01:00
Gunnar Beutner a76f816623 Implement the 'continue' and 'break' keywords
fixes #8394
2015-02-19 12:57:52 +01:00