Commit Graph

2935 Commits

Author SHA1 Message Date
Michael Friedrich 020533842b Add missing category for IDO query
fixes #9928
2015-08-17 11:04:14 +02:00
Gunnar Beutner ff974d4eee Fix compiler warnings
refs #9081
2015-08-17 10:09:15 +02:00
Gunnar Beutner db8b4afa58 Fix incorrect base class name for Array/Dictionary/etc.
refs #9921
2015-08-17 08:14:04 +02:00
Gunnar Beutner 9ecfd9c830 Allow comments in JSON
fixes #9919
2015-08-17 08:03:25 +02:00
Gunnar Beutner a546a67934 Implement the 'base' field for the Type class
fixes #9921
2015-08-17 07:59:44 +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 f405a26052 Implement validation for modified attributes 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
Gunnar Beutner 3d78870339 Implement support for modified attributes in the API
refs #9081
2015-08-15 20:07:11 +02:00
Gunnar Beutner a092c13ace Implement support for persisting modified attributes
fixes #9093
2015-08-15 20:07:10 +02:00
Michael Friedrich d7970f5bb1 Implement modified attributes v2
refs #9081
refs #9093
2015-08-15 20:07:10 +02:00
Gunnar Beutner 1c657feea1 Fix warnings about invalid API function 'icinga::Hello'
fixes #9884
2015-08-11 14:19:20 +02:00
Gunnar Beutner 9b0375bed8 Use an empty dictionary for the 'this' scope when executing commands with Livestatus
fixes #9883
2015-08-11 13:58:31 +02:00
Gunnar Beutner d30d1d4dda Implement the Dictionary#keys method
fixes #9882
2015-08-11 13:58:29 +02:00
Gunnar Beutner 2e43c57d6b Make sure we're always creating the conf.d and zones.d directories
fixes #9879
2015-08-11 12:59:26 +02:00
Gunnar Beutner ec8cdcd554 Fix incorrect function name
refs #9876
2015-08-11 12:56:30 +02:00
Gunnar Beutner f600d75930 Fix crash during cluster log replay
fixes #9876
2015-08-11 12:09:17 +02:00
Gunnar Beutner 73b72544ee Fix URL handlers
refs #9768
2015-08-11 09:31:56 +02:00
Gunnar Beutner d7d16d3f36 Fix crash in ScriptFrame::~ScriptFrame in debug builds
fixes #9868
2015-08-11 07:12:49 +02:00
Gunnar Beutner 38d2464ab2 Remove color codes in the console prompt
fixes #9872
2015-08-11 07:05:55 +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 930dc603af Build fix for Windows 2015-08-10 15:38:45 +02:00
Gunnar Beutner 7890e20da7 Implement reload functionality for Windows
fixes #7880
2015-08-10 15:28:31 +02:00
Gunnar Beutner 07f9df8b2d Build fix for Windows 2015-08-10 15:28:31 +02:00
Gunnar Beutner f541a62a34 Fix: Make sure we're continuously reading from child processes' pipes
fixes #9867
2015-08-10 15:28:30 +02:00
Gunnar Beutner 8f3396ae0d Implement support for attaching GDB to the Icinga process on crash
fixes #9866
2015-08-08 09:41:39 +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 fc1049fb68 Fix node wizard ignoring local zone name
fixes #9782
2015-08-03 16:23:59 +02:00
Michael Friedrich d7e8d8afc9 Fix cluster check w/ immediate parent and child zone endpoints
fixes #9262
2015-08-03 16:16:46 +02:00
Michael Friedrich 6f47c1badc Fix S_ISDIR on Windows
fixes #9813
2015-08-03 15:13:45 +02:00
Michael Friedrich 973db46d40 Implement support for writing configuration files
fixes #9099
2015-08-03 15:07:38 +02:00
Gunnar Beutner 276f491762 Fix: Operator + is inconsistent when used with empty and non-empty strings
fixes #9806
2015-08-01 04:38:12 +02:00
Jean Flach 60f86d01fe Implement /v1/actions/process-check-result
Requires error handling.

refs #9080
2015-07-31 17:18:49 +02:00
Michael Friedrich 0712a02d1b Add a warning if EventCommand is not found when using command_endpoint
fixes #9773
2015-07-31 16:04:03 +02:00
Michael Friedrich 766e2d73f4 Implement external command DEL_DOWNTIME_BY_HOST_NAME
Required by Classic UI 1.x, this will hopefully reduce
the noise on non-working commands with the old legacy stuff.

fixes #8979
2015-07-31 14:50:17 +02:00
Gunnar Beutner 1314cba61b Implement Dictionary#get and Array#get
fixes #9796
2015-07-30 20:58:52 +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 9d098482dd Fix: Operator - should not work with "" and numbers
fixes #9793
2015-07-30 20:01:08 +02:00
Gunnar Beutner df6deb1b3e Fix: "" should not be equal to 0
fixes #9792
2015-07-30 19:58:22 +02:00
Jean-Marcel Flach 9b6ebbc69b Implement basic actions framework
refs #9080
2015-07-30 17:50:17 +02:00
Gunnar Beutner 625a7eafbe Fix URL parameters for filters
refs #9077
2015-07-30 08:30:39 +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
Gunnar Beutner a82c65692c Fix accessor for field 0 ("prototype")
fixes #9778
2015-07-30 08:23:43 +02:00
Gunnar Beutner f74148f157 Fix HTTP handlers
refs #9768
2015-07-29 13:39:58 +02:00
Jean Flach 2414dee602 Update url parser
fixes #9768
2015-07-29 13:14:43 +02:00
Gunnar Beutner 0b495d1858 Set correct X509 version for certificates
fixes #9769
2015-07-29 12:59:12 +02:00
Gunnar Beutner a97782b3e5 Implement support for limiting output attributes
refs #9077
fixes #9614
2015-07-28 17:12:51 +02:00
Gunnar Beutner 5fd7c42faf Fix incorrect URL for status queries
refs #9077
2015-07-28 14:54:16 +02:00
Gunnar Beutner 8fc1d6d0d0 Improve error messages a bit
refs #9077
2015-07-28 14:40:44 +02:00
Gunnar Beutner 15e5dbd151 Add support for implicit 'true' filter when filter parameter is missing
refs #9077
2015-07-28 14:33:09 +02:00
Gunnar Beutner 890694e629 Implement support for filters
fixes #9077
2015-07-28 13:57:59 +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
Michael Friedrich fa3d380dff Fix a problem where invalid stage config could lead into broken stages
refs #9103
refs #9083
2015-07-24 16:05:13 +02:00
Michael Friedrich fca7a33aac Implement config file management for the API
refs #9083

fixes #9102
fixes #9103
fixes #9104

fixes #9705
2015-07-23 17:57:24 +02:00
Michael Friedrich 43ff15cf86 Fix problem with child nodes in http url registry
fixes #9703
2015-07-22 12:27:07 +02:00
Gunnar Beutner 6c3bafb722 Implement support for the X-HTTP-Method-Override HTTP header
fixes #9698
2015-07-22 08:28:15 +02:00
Michael Friedrich a786dfa2ca Add Array::FromVector() method
fixes #9693
2015-07-21 16:09:19 +02:00
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
Gunnar Beutner 43f709c22a Fix complexity class for Dictionary::Get
fixes #8919
2015-03-31 10:39:02 +02:00
Jean-Marcel Flach f9d5846e30 Make node wizard only accept y/Y and n/N
fixes #8917
2015-03-31 09:28:03 +02:00
Gunnar Beutner a74fb1e7e8 Avoid setting up unnecessary stack frames for function calls 2015-03-31 07:09:20 +02:00
Gunnar Beutner 10441e9cd7 Fix permissions for agent CheckResult messages
fixes #8821
2015-03-30 13:50:14 +02:00
Jean-Marcel Flach 8e73d72447 Add accept config/commands option to node setup
fixes #8803
2015-03-30 13:20:47 +02:00
Gunnar Beutner 339b8aef48 Avoid unnecessary allocations in ScriptFrame::SetCurrentFrame 2015-03-29 22:26:07 +02:00
Gunnar Beutner a5c5569324 Improve timeperiod validation error messages
fixes #8893
2015-03-29 08:13:11 +02:00
Gunnar Beutner a6822fd59a Fix validation errors for time ranges which span the DST transition
fixes #8892
2015-03-29 08:05:01 +02:00
Gunnar Beutner 111b154a6d Remove unused #includes 2015-03-29 00:03:47 +01:00
Gunnar Beutner 42a7ca4e78 Avoid most other unnecessary PLT indirections
refs #8890
2015-03-28 17:40:01 +01:00
Gunnar Beutner 2cbc3142dc Avoid some unnecessary PLT indirections for constructor calls
refs #8890
2015-03-28 16:13:44 +01:00
Gunnar Beutner f8b48cc03b Build fix for db_ido_mysql
refs #8890
2015-03-28 12:22:40 +01:00
Gunnar Beutner 72a7b08480 Move implementation code from thpp files into separate files
fixes #8890
2015-03-28 11:08:12 +01:00
Gunnar Beutner ec7224e3ed Generate C++ code for type validators
fixes #7709
fixes #8867
2015-03-27 07:59:27 +01:00
Gunnar Beutner 3adec4576c Fix arrays in command arguments
fixes #8869
2015-03-26 09:29:52 +01:00
Gunnar Beutner c08aa37c99 Fix crash in MakeX509CSR when using ancient versions of OpenSSL
fixes #8844
2015-03-26 08:23:24 +01:00
Gunnar Beutner a4852dae67 Fix assertion failure in IdoMysqlConnection::FieldToEscapedString
fixes #8865
2015-03-26 07:16:22 +01:00
Gunnar Beutner d3c0c1e42b Fix incorrect variable values for apply+for
fixes #8851
2015-03-23 15:53:21 +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 dda273dbcc Add missing include in loader.cpp 2015-03-22 15:04:00 +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 151b6bbf00 Fix style violations 2015-03-21 10:04:14 +01:00
Michael Friedrich e1cb543bb5 Fix missing config validator for command arguments 'set_if'
fixes #8724
2015-03-20 16:12:24 +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 76b0c6d89d Flush stderr in Application::Exit
fixes #8734
2015-03-20 12:28:43 +01:00
Gunnar Beutner 5588b8ed75 Don't allow users to instantiate the StreamLogger class
fixes #8823
2015-03-20 08:16:10 +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
Michael Friedrich 41d0c3f3d7 Add "random" CheckCommand for test and demo purposes
fixes #8816
2015-03-19 14:36:53 +01:00
Michael Friedrich 88f16abb3c Use Utility::NaturalJoin for notification filter formatting
refs #8685
2015-03-19 14:08:06 +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 2c4f913a90 Fix crash in ConsoleCommand::Run
refs #8791
2015-03-18 14:29:02 +01:00
Gunnar Beutner 05e55ab79d Fix initialization order for type objects
refs #8791
2015-03-18 14:24:55 +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 fec1266b1b Add auto-completion suggestions for built-in attributes
refs #8776
2015-03-18 08:19:36 +01:00
Gunnar Beutner a2b701ad44 Improve auto-completion for the 'icinga2 console' command
refs #8776
2015-03-18 08:10:32 +01:00
Gunnar Beutner cd9dfd5744 Implement auto-completion support for 'icinga2 console'
refs #8776
2015-03-18 07:17:15 +01:00
Gunnar Beutner 37736caa5c Implement support for libedit
fixes #8776
2015-03-17 15:05:47 +01:00
Gunnar Beutner dae206e899 Move the base command templates into libmethods
fixes #8775
2015-03-17 08:19:31 +01:00
Louis Sautier 1eef0243c6 Remove prompt to create a TicketSalt from the wizard
fixes #8766

Signed-off-by: Gunnar Beutner <gunnar@beutner.name>
2015-03-16 15:24:58 +01:00
Gunnar Beutner 0d7a382b82 Add OS details in 'icinga2 --version'
fixes #8761
2015-03-16 13:32:13 +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 7877292685 Don't ignore extraneous arguments for functions
fixes #8748
2015-03-15 11:24:09 +01:00
Gunnar Beutner 316eee799e Merge COMMIT and BEGIN into the previous MySQL query
refs #8738
2015-03-14 07:58:55 +01:00
Gunnar Beutner c7c49d7219 Implement support for CLIENT_MULTI_STATEMENTS
fixes #8738
2015-03-13 20:23:14 +01:00
Gunnar Beutner 100eb0cf8a Don't update custom vars for each status update
fixes #8736
2015-03-13 13:46:00 +01:00
Gunnar Beutner cd20044e4f Implement the pending_queries metric for the IDO check task
refs #8688
2015-03-13 12:00:30 +01:00
Michael Friedrich 3c945914ff Show notification state/type filter names in notice/debug log
fixes #8685
2015-03-12 17:11:24 +01:00
Michael Friedrich 6abbafe810 Fix log message for cli commands breaks the init script
fixes #8721
2015-03-12 15:53:56 +01:00
Gunnar Beutner c996fbb5c4 Build fix
refs #8688
2015-03-12 13:44:17 +01:00
Gunnar Beutner 52b33f560f Improve output for the ido check task
refs #8688
2015-03-12 11:51:02 +01:00
Michael Friedrich 8573636cc9 Fix crash in Dependency::Stop()
This partially reverts the fix in #8436

fixes #8687
refs #8436
2015-03-12 11:44:55 +01:00
Gunnar Beutner a4d37132bf Implement a check for IDO database connections
fixes #8688
2015-03-12 10:19:12 +01:00
Gunnar Beutner 94fde1a6b2 Add support for using the 1.12.0 IDO database schema
fixes #8689
2015-03-12 10:19:12 +01:00
Michael Friedrich 05c237c780 Don't increment check attempt counter on OK->NOT-OK transition
refs #7287

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-03-11 16:33:36 +01:00
Michael Friedrich f198249eb1 Fix formatting for the GDB stacktrace
fixes #8684
2015-03-11 16:31:30 +01:00
Gunnar Beutner 228aafc945 Implement the parse_performance_data function
fixes #8693
2015-03-11 16:29:50 +01:00
Michael Friedrich 334cbbb722 Make sure that the /var/log/icinga2/crash directory exists
fixes #8683
2015-03-11 16:08:06 +01:00
Gunnar Beutner 5e39fbbdf5 Make sure that 'icinga2 console' serializes temporary attributes (rather than just config + state)
fixes #8690
2015-03-11 16:07:24 +01:00
Gunnar Beutner 44114232d3 Fix timeout problem with API heartbeat messages
fixes #8672
2015-03-11 12:53:43 +01:00
Gunnar Beutner 8682c530af Fix line continuation support for parentheses
fixes #8679
2015-03-11 10:01:03 +01:00
Gunnar Beutner ca27c8769e Kill entire process group after plugin timeout
fixes #8540
2015-03-11 07:12:59 +01:00
Gunnar Beutner bf6d19c50b Fix argument type for the StringContains function
refs #8659
2015-03-11 06:42:45 +01:00
Michael Friedrich 330c93fa77 Implement String#contains
fixes #8659
2015-03-11 00:11:18 +01:00
Gunnar Beutner 977ca844c7 Remove an unnecessary temporary variable 2015-03-10 15:23:27 +01:00
Gunnar Beutner 37aa3413d8 Allow some of the Array and Dictionary methods to be inlined by the compiler
fixes #8666
2015-03-10 13:46:24 +01:00
Gunnar Beutner 4e16f48255 Don't accept config updates for zones for which we have an authoritative copy of the config
fixes #8555
2015-03-09 08:46:01 +01:00
Gunnar Beutner 3046ad5d5e Fix incorrect value for the process_performance_data column in the icinga_hosts table
fixes #8544
2015-03-09 08:12:05 +01:00
Gunnar Beutner e50d3e6e5a Fix validator for dependencies
fixes #8596
2015-03-09 08:04:18 +01:00
Gunnar Beutner 22f3c5082d Add validator for time ranges in ScheduledDowntime objects
fixes #8600
2015-03-09 08:02:12 +01:00
Gunnar Beutner 60d5959ba4 Remove incorrect VERIFY
fixes #8628
2015-03-09 06:51:22 +01:00
Gunnar Beutner 77fc213d6d Remove unnecessary dynamic_casts 2015-03-07 14:47:54 +01:00
Gunnar Beutner 52102d815d Fix second Deserialize() call in ApiEvents::ExecuteCommandAPIHandler
refs #8117
2015-03-06 01:45:43 +01:00
Gunnar Beutner 139540b570 Make sure we don't evaluate apply rules for fake hosts used in agent checks
fixes #8117
2015-03-05 21:19:04 +01:00
Gunnar Beutner 9181d7ae05 Add missing service name in check results
refs #8257
2015-03-05 20:50:27 +01:00
Gunnar Beutner bb4beefca9 Add missing "return"s in Ido*Connection::Reconnect 2015-03-05 15:57:46 +01:00
Gunnar Beutner fd9dc32a3d Implement SNI support for the TlsStream class
fixes #8610
2015-03-05 14:15:42 +01:00
Gunnar Beutner 4a2a6d999a Fix incorrect debug hints for nested attributes
fixes #8604
2015-03-05 13:18:15 +01:00
Gunnar Beutner 4b15ec7774 Remove the macro argument for IMPL_TYPE_LOOKUP
fixes #8599
2015-03-05 07:42:13 +01:00
Gunnar Beutner 767ddbdec7 Fix compiler warning in Process::Run 2015-03-04 16:41:53 +01:00
Gunnar Beutner f41f9b085d Implement support for the 'Limit' column in Livestatus
fixes #8529
2015-03-04 12:18:04 +01:00
Gunnar Beutner afd1927a98 Improve Livestatus query performance
fixes #8594
2015-03-04 10:58:22 +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 c9c7f9bed1 Fix lag calculation for the 'cluster-zone' check 2015-03-03 14:42:22 +01:00
Gunnar Beutner 3615716983 Include GDB backtrace in crash reports
fixes #8575
2015-03-03 13:53:11 +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 1d2b008dcb Fix validator for TimePeriod ranges
fixes #8568
2015-03-03 09:56:38 +01:00
Gunnar Beutner cf37decbef Fix start condition for downtimes
fixes #8560
2015-03-03 09:52:13 +01:00
Gunnar Beutner 2867d79514 Add VERIFY check in Utility::ExecuteDeferredInitializers
Coverity Bug ID: 1167738
2015-03-03 09:26:21 +01:00
Gunnar Beutner 3e12bfef25 Remove redundant error check in Utility::GetTime
Coverity Bug ID: 1167732
2015-03-03 09:23:29 +01:00
Gunnar Beutner 274e6e9785 Fix uninitialized field in the CheckerComponent class 2015-03-03 09:14:15 +01:00
Gunnar Beutner ac7a55cf56 Fix file descriptor leak in SetDaemonIO 2015-03-03 07:36:43 +01:00
Gunnar Beutner 7c31654552 Remove the return type for Utility::LoadExtensionLibrary 2015-03-03 07:19:34 +01:00
Gunnar Beutner bdb2a15e27 Use _exit instead of Exit in Application::SetResourceLimits 2015-03-02 17:19:41 +01:00
Jean Flach 4d0ee2a7fd Americaniz(s)e colo(u)r in troubleshoot cli 2015-03-02 16:42:38 +01:00
Michael Friedrich c61134d55a Fix deadlock in DB IDO and external command events
refs #8511
2015-03-02 16:20:22 +01:00
Michael Friedrich 97ff17eb4e Fix troubleshooting cli hint text
refs #3446
2015-03-02 15:28:02 +01:00
Michael Friedrich 1f9a719712 Fix output formatting in troubleshoot cli command
refs #3446
2015-03-02 14:37:58 +01:00
Michael Friedrich dd5ca24210 Fix compiler warnings 2015-03-02 14:10:26 +01:00
Jason Young faf6ce1a5f Update PerfdataValue::Parse to ignore invalid warn, crit, min, and max values
... instead of generating exception so that metric values can
still be passed to the graphing backend.
Also update icinga-perfdata tests to reflect these changes.

refs #5043

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-03-02 13:52:41 +01:00
Gunnar Beutner 5df3010826 Remove unused variable in PkiUtility::SignCsr 2015-03-02 13:32:08 +01:00
Gunnar Beutner 7aaa6975fc Remove unnecessary SubStr call 2015-03-02 13:30:37 +01:00
Gunnar Beutner 8a062a688b Remove redundant checks 2015-03-02 13:21:06 +01:00
Gunnar Beutner 09038eeb7c Remove unused variable 2015-03-02 13:21:06 +01:00
Jean-Marcel Flach e39896df15 Add more colour to troubleshoot cli 2015-03-02 13:17:49 +01:00
Gunnar Beutner 4d25a2cb22 Implement the assignment operator for the Value class 2015-03-02 12:55:48 +01:00
Gunnar Beutner bb393a9d4f Remove unused variables 2015-03-02 12:52:37 +01:00
Gunnar Beutner 1bcc1a7b92 Fix incorrect operator in Value::operator^ 2015-03-02 12:51:11 +01:00
Gunnar Beutner 79a69d3e89 Fix incorrect header length check in NetString::ReadStringFromStream 2015-03-02 12:47:24 +01:00
Gunnar Beutner 1e9e5edcff Fix incorrect assignment in Logger::EnableConsoleLog 2015-03-02 12:47:24 +01:00
Gunnar Beutner d913089a14 Remove redundant function 2015-03-02 12:47:20 +01:00
Gunnar Beutner 81e821b60c Make copy constructor private for the Log class 2015-03-02 12:42:33 +01:00
Gunnar Beutner b6ca140ee2 Fix incorrect return type for Application::Run 2015-03-02 12:41:44 +01:00
Gunnar Beutner f7ca0c5b52 Fix incorrect format specifier for fprintf 2015-03-02 12:41:44 +01:00
Jean-Marcel Flach 96583857c0 Fix whitespace 2015-03-02 12:35:58 +01:00
Jean-Marcel Flach 68e7de7e59 Work on troubleshoot cli
Changes the format timestamps are displayed.
--include-vars and --include-objects now print to console if --console
is given.
Also fixes two memory leaks.

fixes #8564 #8563
refs 3446
2015-03-02 12:21:34 +01:00
Gunnar Beutner 5968622108 Fix incorrect assignment in PluginUtility::ExecuteCommand
Coverity Bug ID: 1272344
2015-03-02 10:14:15 +01:00
Gunnar Beutner a296147839 Fix uninitialized fields in the StreamLogger class
Coverity Bug ID: 1272329
2015-03-02 10:14:15 +01:00
Gunnar Beutner ce1599fbb3 Fix uninitialized field in the LivestatusScriptFrame class
Coverity Bug ID: 1272326
2015-03-02 10:14:15 +01:00
Gunnar Beutner 8f7599d4b3 Fix uninitialized field in the LivestatusQuery class
Coverity Bug ID: 1272325
2015-03-02 10:14:15 +01:00
Gunnar Beutner 9548692f00 Fix uninitialized field in the Checkable class
Coverity Bug ID: 1272323
2015-03-02 10:14:14 +01:00
Gunnar Beutner 2ee1a197a9 Fix uninitialized field in the ScriptError class
Coverity Bug ID: 1272322
2015-03-02 10:14:14 +01:00
Gunnar Beutner e52a1f38f3 Fix uninitialized field in the ApiListener class
Coverity Bug ID: 1272321
2015-03-02 10:14:14 +01:00
Gunnar Beutner 41cb5977f3 Remove unreachable code
Coverity Bug ID: 1272319
2015-03-02 10:14:14 +01:00
Gunnar Beutner 5b286dae31 Fix leak in SocketEvents::Threadproc
Coverity Bug ID: 1272338
2015-03-02 10:14:14 +01:00
Gunnar Beutner b4be584679 Fix uninitialized fields
Coverity Bug ID: 1272331
2015-03-02 10:14:14 +01:00
Gunnar Beutner f1509d2f10 Fix uninitialized variable in DaemonUtility::ValidateConfigFiles
Coverity bug ID: 1272330
2015-03-02 10:14:14 +01:00
Jean-Marcel Flach ba9cf9e4c2 Add message concerning file compression to troubleshoot cli 2015-03-02 09:35:04 +01:00
Gunnar Beutner 2d65489f3a Make sure the WQ status timer is stopped properly
refs #8550
2015-03-01 22:25:48 +01:00
Gunnar Beutner cd380a8494 Fix another crash in Timer::Call
fixes #8550
2015-02-28 08:43:49 +01:00