Commit graph

35 commits

Author SHA1 Message Date
Yonas Habteab
91c7e60df8 Replace all existing copyright headers with SPDX headers
I've used the following command to replace the original copyright header
lines in a C-style comment block:

```
$ find . \( -type d \( -name '\..*' -o -name third-party -o -name scripts -o -name prefix -o -name malloc -o -name server -o -name docker -o -name build -o -name doc \) -prune \) -o -type f -exec perl -pi -e 's{/\*[^*]*\(\s*c\s*\)\s*(\d{4})\s*Icinga\s+GmbH[^*]*\*/}{// SPDX-FileCopyrightText: \1 Icinga GmbH <https://icinga.com>\n// SPDX-License-Identifier: GPL-2.0-or-later}gi' {} +
```

For files that use shell-style comments (#) like CMakeLists.txt, I've
used this command:

```
$ find . \( -type d \( -name '\..*' -o -name third-party -o -name scripts -o -name prefix -o -name malloc -o -name server -o -name docker -o -name build -o -name doc \) -prune \) -o -type f -exec perl -pi -e 's{#.*\(\s*c\s*\)\s(\d{4})\sIcinga\s+GmbH.*}{# SPDX-FileCopyrightText: \1 Icinga GmbH <https://icinga.com>\n# SPDX-License-Identifier: GPL-2.0-or-later}gi' {} +
```

And for SQL files:

```
$ find . \( -type d \( -name '\..*' -o -name third-party -o -name scripts -o -name prefix -o -name malloc -o -name server -o -name docker -o -name build -o -name doc \) -prune \) -o -type f \( -name '*.sql' \) -exec perl -pi -e 's{--.*\(c\)\s(\d{4})\sIcinga\sGmbH.*}{-- SPDX-FileCopyrightText: \1 Icinga GmbH <https://icinga.com>\n-- SPDX-License-Identifier: GPL-2.0-or-later}gi' {} +
$ find . \( -type d \( -name '\..*' -o -name third-party -o -name scripts -o -name prefix -o -name malloc -o -name server -o -name docker -o -name build -o -name doc \) -prune \) -o -type f \( -name '*.sql' \) -exec perl -pi -e 's{-- Copyright \(c\)\s(\d{4})\sIcinga\s+Development\sTeam.*}{-- SPDX-FileCopyrightText: \1 Icinga GmbH <https://icinga.com>\n-- SPDX-License-Identifier: GPL-2.0-or-later}gi' {} +
```
2026-02-04 14:00:05 +01:00
Julian Brost
abe2dfa763 Replace EventuallyAtomic with AtomicOrLocked which falls back to a mutex
Apparently there was a reason for making the members of generated classes
atomic. However, this was only done for some types, others were still accessed
using non-atomic operations. For members of type T::Ptr (i.e.  intrusive_ptr<T>),
this can result in a double free when multiple threads access the same variable
and at least one of them writes to the variable.

This commit makes use of std::atomic<T> for more T (it removes the additional
constraint sizeof(T) <= sizeof(void*)) and uses a type including a mutex for
load and store operations as a fallback.
2022-05-03 12:02:46 +02:00
Noah Hilverling
73e0d6e61b Icinga DB: Make sure object relationships are handled correctly 2021-11-12 13:34:57 +01:00
Alexander A. Klimov
bbe0f2d8c4 mkclass: make .ti class members atomic if possible
... not to have to lock the objects while setting attributes.
2020-07-07 18:24:06 +02: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
44c3b83769 icinga.com: Update '*.ti' 2018-10-18 09:30:00 +02:00
Michael Insel
158ae2188e Change copyright header for 2018 2018-01-02 12:08:55 +01:00
Gunnar Beutner
7ca485f63c Improve validation for attributes which must not be 'null' 2017-05-30 14:47:28 +02: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
b7a1b58069 Improve performance for type lookups
fixes #12448
2016-08-16 11:02:33 +02:00
Gunnar Beutner
8ced75b7d2 Fix the load order for Host/Service vs. Endpoint/Zone
refs #12432
2016-08-14 23:04:55 +02:00
Gunnar Beutner
e3f1c1ec6f Make sure timestamps are formatted as integers in macro strings
refs #11483
2016-06-21 11:29:12 +02:00
Gunnar Beutner
599929b0f6 Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
Michael Friedrich
43976d3989 Add host.last_state_{up,down} and last_check attribute, hide *_raw attributes
fixes #10508
fixes #10509
2015-11-02 14:10:44 +01:00
Gunnar Beutner
d01f09f3ef Hide internal attributes in the API
fixes #10393
2015-10-20 08:25:10 +02:00
Michael Friedrich
6cc4f85c66 Disallow modify attribute for certain object attributes
fixes #9095
2015-10-16 12:44:08 +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
d7970f5bb1 Implement modified attributes v2
refs #9081
refs #9093
2015-08-15 20:07:10 +02:00
Michael Friedrich
83f4ebc0df Fix compiler warnings w/ config validators
fixes #9015
2015-04-20 14:16:19 +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
97fc5bb10b Implement additional attributes for the Host class
refs #7564
2015-02-09 08:50:17 +01:00
Michael Friedrich
78bfd0204c Update copyright year 2015-01-22 12:00:23 +01:00
Gunnar Beutner
92896311f3 Implement support for C/C++ comments in the TI compiler
fixes #5018
2014-10-17 19:44:31 +02:00
Gunnar Beutner
632026cd9f Rename C++ header files.
Fixes #6291
2014-05-25 16:27:14 +02:00
Michael Friedrich
601e10cb46 Use CustomVarObject instead of DynamicObject for all libicinga objects.
Fixes #6187
2014-05-19 17:57:58 +02:00
Michael Friedrich
01a0496988 Add AddGroup() for host, service, user objects.
Refs #6105
2014-05-01 23:53:08 +02:00
Michael Friedrich
fe1a83ff34 Revert "Add statusmap_image and coords host attributes."
This reverts commit 252980a6bd.

Refs #6044
2014-04-22 12:09:24 +02:00
Michael Friedrich
252980a6bd Add statusmap_image and coords host attributes.
They are as important as action_url, etc.

coords is made a dictionary consisting of x_2d and y_2d as keys.

Fixes #6044
2014-04-17 16:48:59 +02:00
Gunnar Beutner
0fdb9ea21b Implement attributes for some well-known macros and allow macro recursion.
Refs #5856
Fixes #5959
2014-04-08 13:23:24 +02:00
Gunnar Beutner
23e9630682 Implement host checks.
Refs #5919
2014-04-04 15:57:54 +02:00
Michael Friedrich
5c58eb368c Merge 'macros' and 'custom' attributes into 'vars', part 1.
Refs #5855
2014-04-03 11:35:25 +02:00
Gunnar Beutner
22d53cf3b5 Implement a new object type for service dependencies.
Fixes #2799
2014-03-05 09:57:29 +01:00
Gunnar Beutner
112f26dc19 Replace check result dictionaries with a class.
Refs #5039
2013-11-09 15:26:01 +01:00
Gunnar Beutner
24d018a058 Fix short_name and display_name properties.
Refs #4973
2013-10-30 09:55:00 +01:00
Gunnar Beutner
db4b3b78d6 Implement class compiler.
Refs #4963
2013-10-28 14:27:36 +01:00