Commit Graph

2674 Commits

Author SHA1 Message Date
Michael Friedrich 59b81168ff Add exceptions for Utility::MkDir{,P}
fixes #9689
2015-07-21 15:56:57 +02:00
Gunnar Beutner f1a95e3340 Fix incorrect filename in ApiListener::SyncZoneDir
refs #9083
2015-07-21 11:45:53 +02:00
Gunnar Beutner ccd63b9d15 Implement the include_zones directive
refs #9083
2015-07-21 09:32:17 +02:00
Michael Friedrich 4bc42281be Build fix for Linux
refs #9647
2015-07-20 17:21:27 +02:00
Gunnar Beutner e47d5006d2 Build fix for Windows
refs #9647
2015-07-20 13:41:58 +02:00
Tobias von der Krone 80d0d7dc7a Correct escaping of metric and tag names for OpenTSDB perfdata plugin
fixes #9665
2015-07-20 07:59:13 +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
Jean-Marcel Flach b9a4a64249 Move url handler to /lib/remote
fixes #9647
2015-07-16 13:35:32 +02:00
Michael Friedrich 69e6fc4811 DB IDO: Do not update endpointstatus table on config updates
fixes #9634
2015-07-16 13:25:11 +02:00
Jean-Marcel Flach aa16438298 Change decode - check order in path decoding
refs #9470
2015-07-15 15:36:17 +02:00
Gunnar Beutner afc5db1299 Build fix for Windows 2015-07-15 11:24:47 +02:00
Gunnar Beutner 26338c0fa6 Add missing lock in ScriptUtils::Union
fixes #9622
2015-07-15 08:26:58 +02:00
Gunnar Beutner d98f9a3c92 Fix failed assertion in ScriptUtils::Intersection
fixes #9621
2015-07-15 08:20:16 +02:00
Michael Friedrich dcef213c8f Fix overflow in freshness_threshold column (smallint) w/ DB IDO MySQL
fixes #9576
2015-07-14 18:20:08 +02:00
Michael Friedrich 769594fa4f Livestatus: Add zone object table w/ endpoint members
refs #9286
2015-07-14 18:09:24 +02:00
Michael Friedrich a788de679c DB IDO: Add zones, zonestatus tables
refs #9286
2015-07-14 18:09:24 +02:00
Michael Friedrich c8d129bf9f Enable -Wno-deprecated-register for Clang and AppleClang
refs #9414
2015-07-14 15:02:43 +02:00
Gunnar Beutner ceea8a24d3 Add missing HTTP response headers
refs #9594
2015-07-13 08:29:48 +02:00
Gunnar Beutner 8dedd47b89 Fix incorrect return value for the macro() function
fixes #9584
2015-07-13 08:25:19 +02:00
Michael Friedrich 269e79647f Rename HttpRequest.Url to HttpRequest.RequestUrl
Otherwise gcc will break with the Url class, clang works.

refs #9447
2015-07-09 17:32:19 +02:00
Michael Friedrich 8bf949852a API: Implement password- and certificate-based authentication
fixes #9086
fixes #9085
refs #9594
2015-07-09 15:27:14 +02:00
Michael Friedrich f8f86d89a4 Add ApiUser::GetByClientCN()
refs #9471
refs #9086
2015-07-09 15:25:51 +02:00
Michael Friedrich 58a3cd7fef Add Base64::{En,De]code()
fixes #9594
2015-07-09 15:20:47 +02:00
Michael Friedrich 9b469453a7 Fix compiler warnings
refs #9447
2015-07-09 12:46:04 +02:00
Michael Friedrich 14baa4a79b Build fix
refs #9447
2015-07-09 12:28:15 +02:00
Gunnar Beutner b357012ded Implement HTTP support
refs #9447
2015-07-09 11:42:34 +02:00
Michael Friedrich 84d83a4453 'node wizard/setup' should always generate new certificates
Unless an existing certificate is found. The configuration
(api feature, user) is always generated including a backup.

fixes #9590
2015-07-08 15:32:47 +02:00
Michael Friedrich f123c8218d Split ApiSetupUtility::SetupMaster() into multiple functions
refs #9590
2015-07-08 15:32:11 +02:00
Michael Friedrich 3fe6b56628 DB IDO: Don't clear endpoint* tables on start/reload
fixes #9586
2015-07-08 13:58:12 +02:00
Jean-Marcel Flach 65227e311b Fix path interpretion in URL parser
The URL parser incorrectly used to interpret the path
"/" as a path "/" instead of as empty.
Test cases were added.

refs #9470
2015-07-08 13:14:05 +02:00
Jean-Marcel Flach a98d2f585d Implement URL parser
fixes #9470
2015-07-07 15:33:19 +02:00
Jean-Marcel Flach 2560a9733d Add reverse_iterator to String 2015-07-07 15:33:19 +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 f4aeb1999c Cli: Don't add empty host/port endpoint attributes in node wizard
refs #9205
refs #9536
2015-07-03 12:58:54 +02:00
Michael Friedrich ed3882ba33 Fix config parser ignoring forbidden "ignore" in template definition
fixes #9535
2015-07-02 17:53:34 +02:00
Michael Friedrich 184f316538 Fix wrong vars changed handler in api events
fixes #9547
2015-07-02 14:51:47 +02:00
Michael Friedrich 8596e2b3dc Add log message for discarded cluster events (e.g. from unauthenticated clients)
fixes #9489
2015-07-02 13:04:38 +02:00
Michael Friedrich 8450cb5d6c MAke ApiUser::CheckPassword() const
refs #9471
2015-07-02 09:26:43 +02:00
Michael Friedrich 2eaae1f733 Update documentation for ApiUser object & node wizard
fixes #9471
2015-06-25 18:03:00 +02:00
Michael Friedrich ee035ae001 Fix unity build
refs #9471
2015-06-25 17:20:23 +02:00
Michael Friedrich 3e3588b9fb Cli: Still ask for CN in 'node wizard'
refs #9471
2015-06-25 13:28:16 +02:00
Michael Friedrich ec3f1c6320 Cli: 'node setup' on the master uses 'api setup' if api feature is disabled
refs #9471
2015-06-25 11:00:25 +02:00
Michael Friedrich 5249e4af11 Cli: 'node wizard' on the master uses 'api setup' if api feature is disabled
refs #9471
2015-06-25 11:00:12 +02:00
Michael Friedrich 0d977b9d48 Allow to pass cn to ApiSetupUtility::SetupMaster()
refs #9471
2015-06-25 10:40:50 +02:00
Michael Friedrich 663f09e475 Only run 'api setup' if the feature was not enabled
It is safe to assume that the user either did run
'node wizard' or 'node setup' in >= 2.3.x before, or
manually enabled the api feature and deployed the
certificates (otherwise Icinga2 wouldn't start either).

In that case we'll skip the api setup to ensure that we
don't override any existing configuration at all.

refs #9471
2015-06-25 10:21:18 +02:00
Michael Friedrich 6f43162efa Add feature enable/disable helpers
refs #9471
2015-06-25 10:14:19 +02:00
Michael Friedrich 7b0b04ba8f Implement 'api setup' cli command & add ApiUser config
refs #9471
2015-06-25 10:08:34 +02:00
Michael Friedrich 14f5986aa5 Implement the ApiUser object type
Hide password in GetPassword() and add CheckPassword().
Includes basic unit tests.

refs #9471
2015-06-24 14:28:52 +02:00
Michael Friedrich 99a0c7b157 Fix wrong preprocessor macros 2015-06-24 14:13:54 +02:00
Michael Friedrich 45a0f09532 Fix unused variable in dbevents
refs #9055
2015-06-24 14:12:18 +02:00
Gunnar Beutner 8dcb4efa5e Fix stability issues with the TlsStream/Stream classes
fixes #9481
2015-06-24 09:48:55 +02:00
Michael Friedrich 3648703ad8 DB IDO: Fix datatype for 'check_source' in statehistory table
fixes #9455
2015-06-22 17:02:58 +02:00
Benedikt Heine 7cd0077ab5 node setup: indent accept_config and accept_commands
fixes #9450

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-06-19 09:07:51 +02:00
Gunnar Beutner 9238c5af11 Fix incorrect validator for command arguments
fixes #9436
2015-06-18 08:13:40 +02:00
Michael Friedrich f6c5f58dec Fix wrong timestamp w/ timezone format in DB IDO PGSQL schema
refs #9027
2015-06-17 16:11:21 +02:00
Michael Friedrich bd16651f79 Build fix
refs #9324
2015-06-15 17:24:55 +02:00
Markus Frosch 213300c5e7 Fix objects cache dump in compat for multiline vars
Multiline vars should be written as:
  _test test1\ntest2

And not
  _test test1
test2

fixes #9328

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-06-15 17:20:43 +02:00
Markus Frosch 47c8b5e347 Fix multi line handling for compat check results
When a multi line result is submitted via the command pipe, any multi line
output is escaped to a actual string '\n', because any external command only
can be a single line.

Example:
  [1432735140] PROCESS_SERVICE_CHECK_RESULT;host;service;3;Test1\nTest2|test=1

We need to unescape this values, just like we use to escape multi line output
for IDO and status.dat.

fixes #9324

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-06-15 17:19:28 +02:00
Markus Frosch cfbe82d841 Remove selective reconnecting behavior
We want to remove the partial reconnecting behavior, so that all endpoints of
a zone try to connect to a lower or higher zone in hierarchy.

fixes #9406

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-06-15 14:47:04 +02:00
Gunnar Beutner cfcb8675c7 Fix unexpected exception in Utility::DirName when specifying an empty path
refs #9263
2015-06-15 14:04:38 +02:00
Michael Friedrich 228e1a11a2 Fix unregistered function failure including <nscp> on Linux
fixes #9394
2015-06-15 10:30:13 +02:00
Michael Friedrich 21b11f9c9a Fix incorrect type and state filter mapping for User objects in DB IDO
fixes #9143
2015-05-15 16:40:32 +02:00
Michael Friedrich baa8fb424f Fix missing custom attributes in backends if name is equal to object attribute
fixes #9222
2015-05-15 15:59:44 +02:00
Gunnar Beutner 24ae02386a Implement the basename and dirname script functions
refs #9256
2015-05-13 09:46:59 +02:00
Gunnar Beutner 62c755f88c Determine NSClient++ installation path using MsiGetComponentPath
fixes #9256
2015-05-12 15:45:40 +02:00
Michael Friedrich 0c0f53bc36 Fix schema version 1.14.0
refs #9027
2015-05-04 11:35:41 +02:00
Eric Lippmann 1e0df43127 Add yet empty MySQL schema upgrade to IDO version 1.14.0
refs #9027
2015-05-04 11:35:41 +02:00
Eric Lippmann fe3eba801a Add PostgreSQL schema upgrade to IDO version 1.14.0 for adding the time zone for default timestamps
refs #9027
2015-05-04 11:35:41 +02:00
Eric Lippmann 6a77d99440 Fix PostgreSQL schema not specifying the time zone for default timestamps
The timestamp columns in the PostgreSQL schema are defined as timestamp with time zone but their default values lack the time zone offset +00.
Thus default timestamps are converted to local time in the zone specified by PostgreSQL's configuration before being displayed to the client.

refs #9027
2015-05-04 11:35:41 +02:00
Jean Flach f907a7f617 Fix Port wrong default port in Node Wizard
fixes #9205
2015-04-30 12:52:35 +02:00
Jean Flach bac76a4350 Add Windows version string to --version
fixes #8888
2015-04-28 12:34:33 +02:00
Jean-Marcel Flach b30069c282 Update ReleaseHelper to work with most Linux distributions
refs #8888
2015-04-27 16:21:59 +02:00
Michael Friedrich dcc8704e2d Add timestamp support for PerfdataWriter
Change the default from $timet$ to ${host,service}.last_check$

fixes #9185
2015-04-27 15:06:48 +02:00
Michael Friedrich b921439f38 Fix DbEvents::AddCheckableCheckHistory argument
refs #9055
2015-04-27 15:06:14 +02:00
Michael Friedrich ab8dbd71e2 Rewrite some of the wizard questions
refs #8891
2015-04-27 11:10:49 +02:00
Michael Friedrich e37cd25ed4 Fix failed assertion in DB IDO
fixes #9121
2015-04-27 11:00:41 +02:00
Michael Friedrich 7af41e93c0 Fix that downtimes are always "fixed" even if scheduled as "flexible"
fixes #9142
2015-04-25 15:06:29 +02:00
Michael Friedrich 2254ac442f DB IDO: Fix wrong check result timestamp for historical tables
refs #9055
2015-04-24 18:14:57 +02:00
Gunnar Beutner 4cb1936c68 Fix another potential deadlock in DB IDO
refs #9121
2015-04-22 21:35:43 +02:00
Gunnar Beutner aa452a780c Fix deadlock in the IDO
fixes #9121
2015-04-20 15:39:45 +02:00
Michael Friedrich 9b8eea3579 CLI: Be less verbose in 'node update-config'
fixes #9116
2015-04-20 14:58:08 +02:00
Michael Friedrich 83f4ebc0df Fix compiler warnings w/ config validators
fixes #9015
2015-04-20 14:16:19 +02:00
Jean-Marcel Flach 0eead93c69 Make --version work with systemd
fixes #8888
2015-04-20 12:52:34 +02:00
Jean-Marcel Flach 9ae8a09b7e Refactor code
fixes #9112
2015-04-20 11:45:01 +02:00
Jean-Marcel Flach e1101b9637 Change node wizard flow
fixes #8891
2015-04-20 11:45:00 +02:00
Michael Friedrich 53e6b1a6dd Fix custom attributes with recursive macro function calls
fixes #9073
2015-04-17 17:23:08 +02:00
Michael Friedrich d3a56b6404 Fix acknowledgement with expire time not added as comment expire_time
GetExpireTime() is always set to 0 which will make the comment reflect
wrong information compared to the text.

fixes #9041
2015-04-17 16:44:40 +02:00
Jean-Marcel Flach 9c45ab7d66 Fix troubleshooht command truncating crash logs
fixes #9064
2015-04-16 16:17:12 +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 03ce0ec908 Fix: demo module can not be built
fixes #9053

Signed-off-by: Gunnar Beutner <gunnar@beutner.name>
2015-04-15 07:52:25 +02:00
Gunnar Beutner e4f4c6bc2d Remove deadlock in db_ido
refs #9017
2015-04-14 15:09:50 +02:00
Paul Richards a3065d8b79 Update PGSQL driver to reflect changes in MySQL driver
Fixes #8989

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-04-12 15:22:56 +02:00
Michael Friedrich 4f767ab06a Change log level to 'notice' for 'Attempting to send notifications' messages
fixes #9021
2015-04-12 15:11:38 +02:00
Michael Friedrich 37f24592ed Trigger downtimes for NOT-OK states after OnDowntimeAdded()
The fix in #8389 must happen *after* adding the downtime which signals an
insert into the IDO DB.
Once the downtimes have been added to the database, the additional
trigger_time and is_in_effect can be updated accordingly, *if* the
current object is already in a NOT-OK state.

fixes #9016
2015-04-12 14:38:35 +02:00
Michael Friedrich 3fc890a2da DB IDO: Fix status table scheduled_downtime_depth column not updated on downtime removal/end
fixes #9017
2015-04-11 11:40:14 +02:00
Michael Friedrich 3d4be0ea58 Don't update scheduleddowntime table w/ trigger_time column when only adding a downtime
fixes #9014
2015-04-08 17:06:53 +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