Alexander A. Klimov
9be3b60f76
DSL: allow ()use(x)=>x and ()use(x)=>{return x}
2019-12-03 11:19:34 +01:00
Alexander A. Klimov
5c347ef7bd
DSL: introduce x?y:z
2019-11-15 13:38:01 +01:00
Alexander Aleksandrovič Klimov
3804f4edcc
I like to move it, move it
2019-10-28 13:46:33 +01:00
Michael Friedrich
e0ef5fe9de
Merge pull request #7458 from Icinga/feature/config-parser-cleanup
...
Config parser: introduce optional_newlines
2019-10-22 17:29:59 +02:00
Michael Friedrich
6103f53c5b
Merge pull request #7541 from Icinga/bugfix/heredoc-eof
...
Config lexer: complain on EOF in heredocs, i.e. {{{abc<EOF>
2019-10-22 17:19:27 +02:00
Alexander A. Klimov
768044a754
Replace std::shared_ptr<NamespaceValue> with NamespaceValue::Ptr
...
refs #7361
2019-10-21 17:10:51 +02:00
Alexander A. Klimov
aa4cad7482
Replace std::shared_ptr<Expression> with Expression::Ptr
...
refs #7361
2019-10-21 17:10:51 +02:00
Michael Friedrich
3e6fc9bfa1
Merge pull request #7457 from Icinga/feature/config-parser-malloc
...
Config parser: save some memory allocations
2019-10-17 17:19:30 +02:00
Alexander A. Klimov
672f497c3a
Config lexer: complain on EOF in heredocs, i.e. {{{abc<EOF>
2019-09-26 13:10:19 +02:00
Alexander A. Klimov
b4e3736e31
WarnOnImplicitlySetGlobalVar(): warn only on sins inside actual DSL code
2019-09-23 15:09:57 +02:00
Alexander A. Klimov
360cb50c9e
Config parser: inline arraysep
2019-08-29 14:06:01 +02:00
Alexander A. Klimov
fd88ac2f83
Config parser: introduce optional_newlines
2019-08-29 14:05:58 +02:00
Alexander A. Klimov
203482a675
Config parser: save some memory allocations
2019-08-29 10:54:54 +02:00
Alexander A. Klimov
429080ee1c
DSL: warn on x=y if x is a global variable
2019-08-27 13:30:02 +02:00
Michael Friedrich
c30edd0a34
Fix message origin for runtime created config object (create/delete events)
2019-08-13 15:05:47 +02:00
Michael Friedrich
0d25ae0e08
Quality: Prefer BOOST_{,UN}LIKELY gcc optimizer macros over our own
...
Our macro collides with Boost::DateTime and the gregorian classes
and I don't see any reason why we shouldn't use Boost::Config
being already there.
2019-07-09 13:20:53 +02:00
Michael Friedrich
0438c866f8
Merge pull request #7102 from Icinga/feature/boost-fs-7101
...
Replace self-written filesystem ops with boost.filesystem
2019-04-25 15:53:55 +02:00
Alexander A. Klimov
5a17722c1f
Replace _unlink() + rename() with boost::filesystem::rename()
...
refs #7101
2019-04-25 09:53:02 +02:00
Alexander A. Klimov
ba842403ce
Fix circular #include
...
refs #6985
2019-04-25 08:25:28 +02:00
Michael Friedrich
37b715baf1
Replace a few more copyright strings
2019-02-25 16:30:40 +01:00
Michael Friedrich
458f997a18
Replace Copyright header with a short version, part II
2019-02-25 15:09:36 +01:00
Michael Friedrich
d14a88235d
Replace Copyright header with a short version, part I
...
CLion -> replace in path
2019-02-25 14:48:22 +01:00
Michael Friedrich
3ad911a57c
Fix indent in configcompiler.cpp
2019-02-15 12:24:49 +01:00
Michael Friedrich
3cb2c1d143
icinga.com: Update everything else
2018-10-18 09:50:53 +02:00
Michael Friedrich
dea5ec614e
icinga.com: Update CMakeLists.txt
2018-10-18 09:35:18 +02:00
Michael Friedrich
dab53448bc
icinga.com: Update *.{h,c}pp
2018-10-18 09:27:04 +02:00
Michael Friedrich
85e161ea1e
Silence config compiler logging for runtime created objects
...
This is especially problematic with many single creation requests,
e.g. many downtimes created via Icinga Web 2 & the REST API.
In addition to the config compiler messages, apply rule matches are
also in there which are removed by this patch.
2018-10-09 16:41:17 +02:00
Michael Friedrich
1c2a59bf63
Merge pull request #6591 from Icinga/bugfix/lto-builds-static-initialize-namespaces
...
Fix static initializer priority for namespaces in LTO builds
2018-09-04 16:54:30 +02:00
Michael Friedrich
19993df380
Fix static initializer priority for namespaces in LTO builds
...
fixes #6575
2018-09-04 16:36:22 +02:00
Jean Flach
8fe490f945
Update variable names
2018-09-04 11:45:35 +02:00
Markus Frosch
13a8fa20f9
Ensure that config object types are committed in dependent load order
2018-09-04 11:45:35 +02:00
Jean Flach
c721c302cd
Shuffle items before config validation
2018-09-04 11:10:27 +02:00
Gunnar Beutner
e678fa1aa5
Refactor Application::*Const()
2018-08-13 15:27:05 +02:00
Gunnar Beutner
8fda8d72ac
Implement support for the namespace and using keywords
2018-08-13 13:44:31 +02:00
Gunnar Beutner
1a8692d972
Implement support for namespaces
2018-08-13 13:44:31 +02:00
Gunnar Beutner
9d513d8f05
Implement support for modifying frozen attributes
2018-08-13 13:44:31 +02:00
Gunnar Beutner
d9c0b6f806
Refactor REGISTER_SCRIPTFUNCTION_* macros
2018-08-13 13:44:31 +02:00
Markus Frosch
9fbc40615a
Improve path handling in cmake and daemon
2018-08-07 14:10:26 +02:00
Gunnar Beutner
8bfd419702
Implement references
2018-08-07 07:44:48 +02:00
Gunnar Beutner
56cf64f590
Improve error message for serializing objects with recursive references
2018-08-02 11:06:24 +02:00
Michael Friedrich
e519d6bbc6
Merge pull request #6110 from gunnarbeutner/feature/for-loop-var
...
Implement support for optionally specifying the 'var' keyword in 'for' loops
2018-07-26 10:05:17 +02:00
Michael Friedrich
fc2da5047c
Fix debug build log entry for ConfigItem activation priority
...
This is not visible in release builds, minor fix.
2018-07-19 12:53:28 +02:00
Gunnar Beutner
2eb46f1203
Implement support for optionally specifying the 'var' keyword in 'for' loops
2018-07-03 11:03:22 +02:00
Jean Flach
c54e042942
Add activation priorities for config object types
...
This patch ensures that specific configuration types
are pre-activated and post-activated. In general,
logging is first, then common configuration objects
like host/service, downtimes, etc.
In the end, all features are activated after to ensure
that notifications are only sent once downtimes are applied.
A similar thing happens for starting with checks too early.
The ApiListener feature runs first to allow cluster connections
at first glance.
fixes #6057
fixes #6231
2018-05-04 11:25:47 +02:00
Michael Friedrich
495b6906f7
Fix wrong type logging in ConfigItem::Commit
2018-02-09 14:04:50 +01:00
Gunnar Beutner
1047e5ff3d
Improve location info for some error messages
2018-01-29 10:04:58 +01:00
Jean Flach
1da6b2c883
Fix whitespaces in CMakeLists files
...
Uses 2 space indentation as standard
2018-01-19 09:19:40 +01:00
Gunnar Beutner
2a9dceb367
Use CMake object libraries for our libs
2018-01-17 04:28:21 +01:00
Gunnar Beutner
c2fb9fe226
Use initializer lists for arrays and dictionaries
2018-01-16 12:27:44 +01:00
Gunnar Beutner
a36e847c6c
Allocate ConfigItemBuilder objects on the stack
2018-01-11 10:52:26 +01:00
Gunnar Beutner
d9010c7b9f
Avoid mutex contention in the config parser
2018-01-08 15:59:55 +01:00
Gunnar Beutner
91c256261a
Apply clang-tidy fix 'modernize-use-default-member-init'
2018-01-04 12:24:58 +01:00
Gunnar Beutner
becfa85094
Apply clang-tidy fix 'modernize-use-emplace'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
e3ad0be769
Apply clang-tidy fix 'modernize-use-auto'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
621eed3f13
Apply clang-tidy fix 'modernize-pass-by-value'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
9ca682496c
Apply clang-tidy fix 'modernize-use-override'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
ac155d1dda
Apply clang-tidy fix 'modernize-redundant-void-arg'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
41f0fbfd30
Add the final keyword to methods
2018-01-04 05:45:40 +00:00
Gunnar Beutner
efe99a3e5e
Add the final keyword to classes
2018-01-04 05:20:20 +00:00
Michael Friedrich
cd33b8b508
Merge pull request #5936 from Icinga/feature/source-lists
...
Clean up source lists in the CMakeLists.txt files
2018-01-03 11:59:35 +01:00
Gunnar Beutner
75e2473616
Clean up source lists in the CMakeLists.txt files
2018-01-03 11:47:46 +01:00
Michael Friedrich
0e6f4b1966
Merge pull request #5939 from Icinga/fix/build-fix-wheezy
...
Build fix for Debian wheezy
2018-01-03 11:28:57 +01:00
Gunnar Beutner
abe3f8a959
Build fix for Debian wheezy
2018-01-03 10:32:33 +01:00
Gunnar Beutner
2f953d6204
Implement shim for libmysqlclient and libpq
2018-01-02 23:29:48 +01:00
Gunnar Beutner
90496b5456
Build libraries as static libraries
2018-01-02 23:29:48 +01:00
Michael Insel
158ae2188e
Change copyright header for 2018
2018-01-02 12:08:55 +01:00
Jean Flach
2636e6a77a
Whitespace fix
...
What does this change?
* Remove use of spaces for formatting
These could be found by using `grep -r -l -P '^\t+ +[^*]'
* Removal of training whitespaces
* A few lines longer than 120 chars
2017-12-20 14:53:52 +01:00
Jean Flach
f40f366e9e
Remove unnecessary inline statements
...
fixes #5886
2017-12-20 13:22:38 +01:00
Jean Flach
0791a8ddde
Merge pull request #5887 from Icinga/fix/windows-build-fix
...
Windows build fix
2017-12-20 10:50:27 +01:00
Gunnar Beutner
02dc3a9507
Workaround for GCC bug 61321
2017-12-20 08:02:17 +01:00
Gunnar Beutner
adc892bde7
Windows build fix
2017-12-20 08:01:04 +01:00
Gunnar Beutner
4866f777cc
Avoid unnecessary allocations for script frames
2017-12-18 13:40:29 +01:00
Gunnar Beutner
ab8386cf5c
Use std::unique_ptr for Expression objects
2017-12-15 10:44:54 +01:00
Gunnar Beutner
1ad83886ac
Replace a few more NULLs with nullptr
2017-12-14 15:37:20 +01:00
Gunnar Beutner
42744fde5b
Remove extraneous whitespace
2017-12-14 08:50:09 +01:00
Gunnar Beutner
96e214221d
Remove unused variables
2017-12-14 08:50:09 +01:00
Gunnar Beutner
325e4a2fb9
Use nullptr instead of <Type>::Ptr()
2017-11-30 17:47:09 +01:00
Gunnar Beutner
3c60fbf75d
Use std::vector::emplace_back instead of std::vector::push_back
2017-11-30 17:47:09 +01:00
Gunnar Beutner
9ce950b0f1
Replace boost::ref/boost::cref with std::ref/std::cref
2017-11-30 17:47:09 +01:00
Gunnar Beutner
6d09efc907
Use std::shared_ptr instead of boost::shared_ptr
2017-11-30 17:41:00 +01:00
Gunnar Beutner
300d424459
Use std::promise instead of boost::promise
2017-11-30 17:39:22 +01:00
Gunnar Beutner
c6e36723d5
Merge pull request #5819 from Icinga/feature/avoid-func-call-allocations
...
Avoid unnecessary allocations in the FunctionCallExpression class
2017-11-29 14:24:46 +01:00
Gunnar Beutner
db6a1fcdb7
Avoid unnecessary allocations in the FunctionCallExpression class
2017-11-29 14:11:09 +01:00
Gunnar Beutner
d5961bb76c
Re-implement WrapFunction() using C++11 features
2017-11-29 11:53:45 +01:00
Gunnar Beutner
858873b940
Replace boost::bind/boost::function with std::bind/std::function
2017-11-27 15:15:11 +01:00
Noah Hilverling
aab50f669c
Add process elevation & log message if user does not have enough privileges
...
refs #5515
2017-09-22 10:25:17 +02:00
Gunnar Beutner
f9feb41877
Implement support for handling exceptions in user scripts
2017-06-13 14:03:41 +02:00
Gunnar Beutner
7e3b664140
Add missing ->GetName() calls
...
fixes #5256
2017-05-15 11:11:08 +02:00
Gunnar Beutner
d05b7c4178
Allow expressions for the type in object/template declarations
2017-05-11 14:21:30 +02:00
Gunnar Beutner
f9f3358d09
Make sure all objects are set to 'active' before calling the Start() method
...
fixes #5224
2017-05-04 10:37:34 +02:00
Gunnar Beutner
4134f7fe42
Make sure modified attributes are applied before calling the objects' Start method
...
refs #4696
2017-05-03 12:02:19 +02:00
Gunnar Beutner
b62241e0ba
Remove redundant #include
...
refs #5168
2017-04-27 09:24:37 +02:00
Gunnar Beutner
d03d09160a
Clean up the IsAbsolutePath patch
...
refs #5168
2017-04-27 05:31:44 +02:00
Jean Flach
293625c17b
Fix absolute include paths for windows
...
fixes #5168
2017-04-24 15:39:21 +02:00
Gunnar Beutner
5d45c74be3
Improve function metadata by adding arguments
...
fixes #5087
2017-03-27 14:43:19 +02:00
Gunnar Beutner
446490ceb3
Fix crash in ConfigItem::RemoveIgnoredItems
...
fixes #4952
2017-02-01 12:56:53 +01:00
Michael Friedrich
b7caf0820d
Ensure that *.icinga.com is used everywhere
...
fixes #13897
fixes #13277
2017-01-10 17:19:12 +01:00
Gunnar Beutner
17029e3161
Suppress compiler warnings for auto-generated code
...
fixes #12635
2016-09-05 06:51:31 +02:00
Gunnar Beutner
7879c09789
Avoid unnecessary dictionary lookups
...
refs #12555
2016-09-01 07:41:41 +02:00
Gunnar Beutner
06cb3cf875
Another build fix for Windows
...
refs #9182
2016-08-31 13:43:50 +02:00