Commit Graph

1057 Commits

Author SHA1 Message Date
Gunnar Beutner 7cca2d275f Fix incorrect #ifdef
refs #7454
2014-10-28 08:12:54 +01:00
Gunnar Beutner b0179cc1fe 64-bit build fix for YAJL < 2.0
refs #7454
2014-10-28 06:33:40 +01:00
Gunnar Beutner 65e2e636ea Fix compatibility with older versions of the YAJL library
refs #7454
2014-10-28 05:59:29 +01:00
Gunnar Beutner 3f032692ce Implement agent settings for "agent set" and "agent list"
refs #7248
2014-10-27 15:12:19 +01:00
Gunnar Beutner 05d642f69d Use system-provided version of YAJL where available
fixes #7454
2014-10-27 12:42:57 +01:00
Gunnar Beutner 196bd89c7a Use OpenSSL's default algorithms for certificate signatures
fixes #7434
2014-10-27 11:32:39 +01:00
Gunnar Beutner 8ce4b3f122 Implement support for serial files
fixes #7393
2014-10-27 10:52:07 +01:00
Gunnar Beutner 8b339a6cd5 Throw saved exception in JSON decoder
refs #7452
2014-10-27 09:28:32 +01:00
Gunnar Beutner f05ccd07f9 Build fix for GCC
refs #7452
2014-10-27 05:17:23 +01:00
Gunnar Beutner 8a2afae83b Fix incorrect include path
refs #7452
2014-10-26 20:05:38 +01:00
Gunnar Beutner 7559273359 Replace cJSON with YAJL
fixes #7452
2014-10-26 20:00:35 +01:00
Gunnar Beutner 315c84eb4a Fix problems with the serializer when using 'type' as an attribute
fixes #7372
2014-10-25 09:14:56 +02:00
Gunnar Beutner e80fd0fbfa Update the constants.conf file for "agent setup"
refs #7423
2014-10-23 15:05:25 +02:00
Michael Friedrich 9227d990dc Add Utility::CopyFile()
refs #7423
2014-10-22 19:25:29 +02:00
Gunnar Beutner 9c7d97b8bc Update the Windows agent wizard
refs #7241
2014-10-21 16:07:39 +02:00
Gunnar Beutner 2972c6bfe8 Implement the "variable" CLI command
fixes #7370
2014-10-20 21:14:56 +02:00
Gunnar Beutner 26b9c5a81b Move clicommand.{cpp,hpp} to lib/cli
refs #7246
2014-10-20 14:06:21 +02:00
Gunnar Beutner b96e9d26a9 Improve error messages for CLI commands
fixes #7395
2014-10-20 13:40:17 +02:00
Gunnar Beutner 06ba435cdd Make warning and critical log messages bold on terminals 2014-10-20 13:15:37 +02:00
Gunnar Beutner 9368ff0e03 Update some more log messages 2014-10-20 10:09:57 +02:00
Gunnar Beutner 3653058bd3 Remove unnecessary prototype for Log() 2014-10-19 18:01:09 +02:00
Gunnar Beutner 2d5e9514a5 Refactor logging code 2014-10-19 17:52:17 +02:00
Gunnar Beutner 739cb43289 Rename qstring.{cpp,hpp} to string.{cpp,hpp} 2014-10-19 14:52:07 +02:00
Gunnar Beutner b18f57a745 Remove logger_fwd.hpp 2014-10-19 14:50:39 +02:00
Gunnar Beutner eb77b1534a Add color code for LogDebug
fixes #7416
2014-10-19 02:39:45 +02:00
Michael Friedrich b0d7d8dabc Build fix for RHEL 2014-10-19 00:15:42 +02:00
Gunnar Beutner 29bf22f324 Fix: Don't use VT100 color codes in log files
refs #7396
2014-10-18 00:34:15 +02:00
Gunnar Beutner 088efc3c69 Avoid unnecessary Poll() calls 2014-10-18 00:29:39 +02:00
Gunnar Beutner 2c8f766200 Fix another deadlock in TlsStream 2014-10-17 20:56:22 +02:00
Gunnar Beutner 8cc6368954 Implement generic color support for terminals
fixes #7396
2014-10-17 20:44:17 +02: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 152846ee38 Build fix for non-unity builds 2014-10-17 18:55:34 +02:00
Gunnar Beutner d16670c4b7 Improve auto-completion suggestions for the repository command
refs #7255
2014-10-17 16:04:11 +02:00
Gunnar Beutner 7db8588980 Implement auto-completion for positional arguments
refs #7255
2014-10-17 15:54:46 +02:00
Gunnar Beutner 4632b93b89 Add "repository <type> <add/remove/list>" commands
refs #7255
2014-10-17 14:21:35 +02:00
Gunnar Beutner 8e7fd1f40d Implement auto-completion support for type fields
fixes #7401
2014-10-17 13:03:01 +02:00
Gunnar Beutner 5c8dbb9552 Build fix for Rune 2014-10-16 15:33:03 +02:00
Gunnar Beutner d414149f74 Fix compiler warning
refs #7244
2014-10-16 14:21:33 +02:00
Gunnar Beutner 97cf93089b Build fix for FreeBSD 2014-10-16 13:36:25 +02:00
Gunnar Beutner f67a11c183 Don't log error messages when TLS connections are closed
refs #7244
2014-10-16 13:11:14 +02:00
Gunnar Beutner f433679b13 Implement the "pki request" and "pki ticket" commands
refs #7244
2014-10-16 12:27:34 +02:00
Gunnar Beutner fd6fe82606 Fix unauthenticated TLS connections
refs #7244
2014-10-16 09:58:01 +02:00
Gunnar Beutner 311cce5d41 Allow TLS connections with unverified certificates
refs #7244
2014-10-16 09:01:18 +02:00
Gunnar Beutner 575a9eb849 Implement error handling for the "pki sign-csr" command
refs #7247
2014-10-15 18:23:49 +02:00
Gunnar Beutner c1b92756b5 Implement the "pki sign-csr" command
refs #7274
2014-10-15 16:01:15 +02:00
Gunnar Beutner 65579942ad Fix another problem with auto-completing arguments
refs #7378
2014-10-15 09:41:54 +02:00
Gunnar Beutner ce6f7ace89 Replace spaces with tabs
refs #7250
2014-10-15 08:48:01 +02:00
Gunnar Beutner 14d8366d05 Fix incorrect auto-completion suggestions
fixes #7378
2014-10-15 08:32:46 +02:00
Gunnar Beutner 2a60ce8625 Improve auto-completion for arguments
fixes #7375
2014-10-14 16:45:00 +02:00
Michael Friedrich d9f5409e8b CLI framework: Change unrecognized into positional options
refs #7371
2014-10-14 14:27:37 +02:00
Michael Friedrich 3513d1f2f9 CLI framework: Add support for unrecognized parameters
Required for feature enable command for example.

fixes #7371
2014-10-13 18:07:52 +02:00
Gunnar Beutner fab9d7eedf Set CA flag for new CA certificates
refs #7247
2014-10-13 13:58:18 +02:00
Gunnar Beutner a01fb6d6e6 Make sure we're using the right user/group for CLI commands
refs #7246
2014-10-13 13:44:45 +02:00
Gunnar Beutner 4ba3d74c0e Implement the "pki new-csr" command
refs #7247
2014-10-13 12:34:31 +02:00
Gunnar Beutner 14ac7dd974 Replace spaces with tabs 2014-10-13 09:47:05 +02:00
Gunnar Beutner 50a1b243ed Hide some of the internal command-line arguments
refs #7246
2014-10-10 11:08:24 +02:00
Gunnar Beutner 4c8d0b9283 Fix auto-completion for arguments
refs #7246
2014-10-10 10:07:56 +02:00
Gunnar Beutner 88742d6dca Make sure the 'autocomplete' variable is initialized
refs #7246
2014-10-08 15:46:29 +02:00
Gunnar Beutner a4081f1445 Implement support for CLI commands
fixes #7246
2014-10-08 15:33:10 +02:00
Gunnar Beutner 15358c6e95 Fix missing error messages (part 2)
refs #7331
2014-10-01 16:01:47 +01:00
Gunnar Beutner 879684efcd Fix problems with PNP4Nagios
fixes #7268
2014-09-17 15:38:39 +02:00
Gunnar Beutner ac32d4b382 Improve thread spawning behavior
fixes #7186
2014-09-11 11:45:21 +02:00
Gunnar Beutner 6bb35a0d52 Another Windows build fix 2014-09-10 15:45:47 +02:00
Gunnar Beutner dc4fe38d8f Fix crash in TlsStream::IsEof
refs #6862
2014-09-10 08:51:25 +02:00
Gunnar Beutner 092983d5ad Properly deal with closed TLS streams
fixes #6892
2014-09-09 15:28:55 +02:00
Gunnar Beutner 308ba45102 Improve error message for duplicate objects
refs #6070
2014-09-09 14:49:21 +02:00
Gunnar Beutner 8c4765c607 Add SUN_LEN compatibility macro for Haiku
refs #7115
2014-09-06 02:30:09 +02:00
Gunnar Beutner 666c92fa76 Check whether the nice() function is available
refs #7115
2014-09-06 02:20:25 +02:00
Gunnar Beutner 418e7bc417 Add #include for strings.h (strcasecmp)
refs #7115
2014-09-06 02:11:34 +02:00
Gunnar Beutner 9133c01f00 Fix spurious SSL errors
fixes #6981
2014-09-05 08:19:47 +02:00
Gunnar Beutner 039a13cf88 Implement support for systems where pipe2 returns ENOSYS
fixes #7065
fixes #6696
2014-09-03 08:10:55 +02:00
Gunnar Beutner 4da18d6de1 Build fix for GNU Hurd 2014-09-02 17:27:16 +02:00
Gunnar Beutner 6f2ea6bc08 Fix build problems with Oracle Solaris Studio
refs #6896
2014-09-02 13:09:17 +02:00
Gunnar Beutner 6ba0612644 Detect whether __COUNTER__ is available
fixes #7040
2014-08-31 11:01:37 +02:00
Gunnar Beutner eb091a87b0 Implement support for unity builds
fixes #7034
fixes #7035
2014-08-30 20:02:12 +02:00
Gunnar Beutner eaea65a366 Make props argument for NameComposer::MakeName constant 2014-08-29 16:46:46 +02:00
Gunnar Beutner 634ef772c3 Build fix for Boost 1.56
fixes #7001
2014-08-25 15:12:39 +02:00
Gunnar Beutner f7f8bd9b00 Use const-ref specifier when catching exceptions
refs #6070
2014-08-25 08:36:30 +02:00
Gunnar Beutner e31d520f6b Improve log messages for failed commands
fixes #6970
2014-08-21 11:26:43 +02:00
Gunnar Beutner 107a152a8f Improve TLS and cluster error messages
refs #6066
2014-08-20 14:07:23 +02:00
Gunnar Beutner 8485e0b94b Reword error messages a bit
refs #6070
2014-08-19 13:48:41 +02:00
Gunnar Beutner d4cdee6a1a Change log level for failed commands
fixes #6751
2014-08-19 12:58:55 +02:00
Gunnar Beutner 65bec9e904 Clean up some parts of the code 2014-08-17 17:57:41 +02:00
Gunnar Beutner 0443c85bf5 Implement support for writing the icinga2.debug file
refs #6702
2014-08-15 21:00:26 +02:00
Michael Friedrich f6c24f8964 DB IDO: Delay connection in HA RunOnce mode
refs #6827
refs #6203
2014-08-15 17:21:12 +02:00
Gunnar Beutner 39248dad42 Build fix for Windows 2014-08-07 14:23:20 +02:00
Gunnar Beutner a5d25871a1 Flush loggers in Application::Exit
fixes #6861
2014-08-07 08:34:38 +02:00
Michael Friedrich d20ee37196 Fix event command execution not calling finish handler
fixes #6856
2014-08-06 17:49:29 +02:00
Gunnar Beutner 8256638fde Use gai_strerror instead of Utility::FormatErrorNumber for getaddrinfo's error codes
fixes #6849
2014-08-06 10:43:41 +02:00
Gunnar Beutner 89b94ab8ab Make --no-stack-rlimit the first argument
fixes #6765
2014-08-06 10:35:27 +02:00
Michael Friedrich 53d3a4af5f Flush stdout before _exit()
fixes #6852
refs #6820
2014-08-05 13:52:24 +02:00
Michael Friedrich 87e63edb93 Use a local buffer for ERR_error_string()
refs #6724
refs #6682
2014-08-05 11:30:06 +02:00
Gunnar Beutner f3d55848f5 Add a missing lock in TlsStream::Close
fixes #6621
refs #6724
2014-08-05 09:35:28 +02:00
Gunnar Beutner da41725e5b Partially revert 3f647bb779
refs #6724
2014-08-05 08:41:52 +02:00
Michael Friedrich 9ae37bf109 Add verbose SSL error messages
refs #6682
2014-08-04 17:23:41 +02:00
Michael Friedrich fd233ae901 Use Application::Exit() for main app termination
refs #6682
2014-08-04 17:23:41 +02:00
Michael Friedrich 55c306796b Add Application::Exit()
refs #6682
2014-08-04 17:23:41 +02:00
Michael Friedrich 7b8dc1d97e Fix non-existing endpoint on ApiListener error
refs #6724
2014-08-04 17:23:41 +02:00
Gunnar Beutner 541dacb636 Build fix for Linux (oops) 2014-08-04 09:50:30 +02:00
Jan Andres 46dbe5a4f5 Fix incorrect usage of readdir_r
refs #6821

Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2014-08-04 08:49:04 +02:00
Jan Andres 20fc8773b6 Build fix for Solaris
refs #6821

Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2014-08-04 08:49:04 +02:00
Gunnar Beutner 0de728db64 Build fix for OS X. 2014-08-01 17:05:51 +02:00
Gunnar Beutner 3f647bb779 Fix OpenSSL errors during (re-)negotiation
fixes #6724
2014-08-01 15:23:07 +02:00
Gunnar Beutner 7610cc95fe Update formatting for the version message
refs #6783
2014-07-23 13:06:00 +02:00
Gunnar Beutner 4724869e1c Print application paths for --version
fixes #6783
2014-07-23 09:30:56 +02:00
Gunnar Beutner a49a598eef Make location of the /run directory configurable
fixes #6627
2014-07-22 13:26:37 +02:00
Gunnar Beutner 5dcf1a777b Fix stack rlimit problem
fixes #6450
2014-07-21 13:33:01 +02:00
Gunnar Beutner 4b157ac54f Change return type for Socket::Pool to bool
refs #6617
2014-07-04 09:31:43 +02:00
Gunnar Beutner 1723d97ed0 Revert "Fix deadlock in ApiClient::SendMessage"
This reverts commit 0ac6e97f32.
2014-07-01 08:57:54 +02:00
Gunnar Beutner 61ba2e647e Add some missing SSL flags
refs #6368
2014-06-30 15:44:08 +02:00
Gunnar Beutner 0ac6e97f32 Fix deadlock in ApiClient::SendMessage
fixes #6368
2014-06-30 12:52:43 +02:00
Gunnar Beutner 62896cb9a5 Increase default stack size
fixes #6588
2014-06-27 08:18:32 +02:00
Gunnar Beutner 96521ead10 Fix incorrect path in an error message
fixes #6492
2014-06-26 14:16:37 +02:00
Gunnar Beutner 3ece0cff4d Fix build warnings
fixes #6488
2014-06-26 14:12:37 +02:00
Gunnar Beutner ad1a11f882 Remove source line information from stacktraces
fixes #6576
2014-06-25 09:18:53 +02:00
Michael Friedrich 1eb77b0cd7 Replace recursive implementation with a forward loop in Utility::MkDirP()
That way we always move into the tree, but not start in the deepest
level and may limit the tree level too in the future, if required.

Solves the Win32 implementation by moving the general mkdir() call into
Utility::MkDir().

refs #6328
2014-06-13 09:10:35 +02:00
Michael Friedrich 2acf6a063e Fix syncing zones.d from etc/ to var/lib in a recursive manner
Missing mkdir -p basically. Introducing Utility::MkDirP() which still
requires Win32 implementation.

refs #6328
2014-06-12 23:28:46 +02:00
Michael Friedrich 09ad04b09a Error messages: Use strerror() for message formatting.
Refs #6070
2014-06-05 17:45:02 +02:00
Michael Friedrich 1064dc28fc Error messages: Gracefully handle PID file errors.
Refs #6070
2014-06-05 17:44:41 +02:00
Michael Friedrich 0c021d94cb Error Messages: Catch and log all Socket class exceptions.
Refs #6070
2014-06-05 16:17:53 +02:00
Michael Friedrich 6a080edf80 Error Messages: Catch boost::regex exceptions.
Refs #6070
2014-06-05 16:13:28 +02:00
Michael Friedrich a416987031 Error messages: Add logging to Socket class.
Refs #6070
2014-06-05 15:45:37 +02:00
Michael Friedrich 17668af2c2 Error messages: Fix Logger exceptions.
Refs #6070
2014-06-05 15:35:30 +02:00
Michael Friedrich 2989c00680 Error messages: Enable logging in TlsStream class.
Refs #6070
2014-06-05 15:34:54 +02:00
Michael Friedrich f1e77a0579 Error Messages: Deal with socket exceptions.
Refs #6070
2014-06-05 14:36:50 +02:00
Michael Friedrich 739c6d53a5 Remove unused member variable: DynamicObject::m_Privileges.
Fixes #6376
2014-06-02 11:32:00 +02:00
Gunnar Beutner 157de9f3bb Fix a situation where some threadpool work items are never executed.
Fixes #6349
2014-05-28 15:57:48 +02:00
Michael Friedrich 076d297931 Change log message identifier for libbase.
Refs #6346
2014-05-28 14:42:00 +02:00
Gunnar Beutner 33cf660c04 Fix missing timer events.
Fixes #6349
2014-05-28 13:46:39 +02:00
Gunnar Beutner 41a9b7d5c0 Remove thread names from log messages.
Fixes #6345
2014-05-28 11:46:47 +02:00
Gunnar Beutner e7c09dac97 Remove icinga::ErrorInformation.
Fixes #6333
2014-05-27 15:51:38 +02:00
Gunnar Beutner 7f5d8a36b4 Split Utility::GetHostName into two functions.
Fixes #6312
2014-05-27 10:20:33 +02:00
Gunnar Beutner 3f2df5b656 Make sure that Utility::GetHostName() returns an FQDN.
Fixes #6312
2014-05-26 17:32:18 +02:00
Gunnar Beutner f9512dd495 Make sure Application::InitializeBase() when RLIMIT_NOFILE is set to "unlimited".
Refs #6257
2014-05-26 07:40:47 +02:00
Gunnar Beutner 632026cd9f Rename C++ header files.
Fixes #6291
2014-05-25 16:27:14 +02:00
Gunnar Beutner 778b51ab6d Improve log messages for the Process class.
Refs #6070
2014-05-23 19:00:55 +02:00
Gunnar Beutner 16a2d36bdc Rename --debug to --log-level.
Refs #6276
2014-05-23 18:11:21 +02:00
Gunnar Beutner 4cf293837f Change the default number of threads for the ThreadPool class.
Fixes #6279
2014-05-23 12:35:18 +02:00
Michael Friedrich 5ec300f68e Add debug log severity for console logger.
Fixes #6276
2014-05-23 11:57:08 +02:00
Gunnar Beutner 2e18407270 Close inherited FDs.
Fixes #6257
2014-05-23 06:31:52 +02:00
Michael Friedrich 1df7518b35 Move more log messages to 'notice' severity.
Refs #6070
2014-05-22 23:47:03 +02:00
Gunnar Beutner 1bc1356fe6 Windows build fix. 2014-05-22 21:32:08 +02:00
Michael Friedrich 4296ec3987 Change the most chatting log messages to 'notice' severity.
Refs #6070
2014-05-22 16:07:57 +02:00
Michael Friedrich 0713918c5e Extract exception error info message.
Refs #6070
2014-05-22 16:07:57 +02:00
Michael Friedrich 7462c8320a Add 'notice' severity to *Logger.
Refs #6070
2014-05-22 16:07:57 +02:00
Gunnar Beutner 46165dbccf Make sort order for Utility::{Glob,GlobRecursive} deterministic.
Fixes #5854
2014-05-22 13:12:58 +02:00
Gunnar Beutner 2350593ef0 Fix logrotate config.
Fixes #6229
2014-05-22 11:22:30 +02:00
Michael Friedrich af951819bc Add MessageOrigin to OnVarsChanged.
Refs #6187
Refs #5219
2014-05-19 18:17:47 +02:00
Michael Friedrich 601e10cb46 Use CustomVarObject instead of DynamicObject for all libicinga objects.
Fixes #6187
2014-05-19 17:57:58 +02:00
Gunnar Beutner b814d89ce0 Fix command timeout.
Fixes #6232
2014-05-19 13:09:49 +02:00
Gerd von Egidy 541de0de78 Add Process::GetPID and make it work on Unix and Windows.
Refs #6118
2014-05-18 18:44:57 +02:00
Gerd von Egidy e0d4b9fb80 Unlink the pidfile when we really shutdown (not reload).
Refs #6118
2014-05-18 18:44:54 +02:00
Gerd von Egidy e93a22b440 Proof of concept how a real reload-handling with systemd could work.
Refs #6118
2014-05-18 18:39:35 +02:00
Gunnar Beutner 7310a254e8 Parallellize restoring objects from the state file.
Fixes #6226
2014-05-18 09:20:23 +02:00
Gunnar Beutner b2246f3af9 Build fix for Windows.
Refs# 6191
2014-05-17 08:38:28 +02:00
Gunnar Beutner 3a1ce23aeb Implicitly set zone attribute for files includes from zones.d.
Refs #6191
2014-05-13 14:40:12 +02:00
Gunnar Beutner 0d36cc8d5f Implement support for the zones.d config directory.
Refs #6191
2014-05-13 13:19:43 +02:00
Gunnar Beutner c58aa9e86f Improve error message when execvpe() fails.
Fixes #6160
2014-05-12 10:58:17 +02:00
Gunnar Beutner 9b7702195a Don't use colors for the whole log message.
Refs #6070
2014-05-12 10:27:01 +02:00
Gunnar Beutner 9c3e399188 Remove unnecessary includes.
Fixes #6189
2014-05-11 18:11:32 +02:00
Gunnar Beutner 6a8db4035d Fix another couple of compiler warnings.
Refs #5823
2014-05-11 08:36:51 +02:00
Gunnar Beutner 12c8814bd8 Fix some more compiler warnings.
Refs #5823
2014-05-11 06:43:01 +02:00
Gunnar Beutner c7b5e4c31e Fix some compiler warnings.
Refs #5823
2014-05-11 06:04:43 +02:00
Michael Friedrich d06d4f2540 Include monitoring plugin commands seperately.
Fixes #6130
2014-05-10 19:02:51 +02:00
Gunnar Beutner 0e34968e8f Implement for loops.
Fixes #6183
2014-05-10 11:26:56 +02:00
Gunnar Beutner 042e4270bf Fix an issue where expired Timer pointers caused other timers to be delayed.
Fixes #6179
2014-05-09 19:26:31 +02:00
Gunnar Beutner b367187c0b Implement HA for IDO connections.
Refs #6107
2014-05-09 13:02:30 +02:00
Gunnar Beutner 4c022199f4 Reimplement load-balancing for checks.
Refs #6107
2014-05-09 11:45:21 +02:00
Gunnar Beutner dade476533 Remove the ZlibStream class and the stream_bio functionality.
Fixes #6119
2014-05-09 10:23:54 +02:00
Gunnar Beutner 45270f1bb8 Refactor the agent and cluster components.
Refs #6107
2014-05-08 09:13:04 +02:00
Gunnar Beutner 0571d8a464 Run INITIALIZE_ONCE() after static initializers.
Refs #6107
2014-05-08 09:13:04 +02:00
Gunnar Beutner b1dab6c074 Implement support for the "package" keyword.
Refs #6107
2014-05-08 09:13:04 +02:00
Gunnar Beutner e2fe1c8a6b Properly shut down TLS streams.
Refs #6107
2014-05-06 10:40:36 +02:00
Gunnar Beutner 0484706324 Make sure handles aren't inherited by the child process.
Refs #6107
2014-05-06 10:40:36 +02:00
Michael Friedrich 7e164291a0 Make AddGroup() unique.
Refs #6105
2014-05-02 00:38:46 +02:00
Gunnar Beutner 630a1a28e2 Make Application::ReadPidFile work on Windows.
Refs #5788
2014-05-01 20:09:38 +02:00
Gunnar Beutner e9fddcc575 Build fix for Windows.
Refs #5788
2014-05-01 11:27:43 +02:00
Gunnar Beutner f989bbd678 Make sure that WQ threads are started after Daemonize().
Fixes #6063
2014-04-29 13:17:08 +02:00
Gunnar Beutner b119c3285b Change log level for some messages.
Fixes #6072
2014-04-29 11:01:28 +02:00
Gerd von Egidy 1e321f0959 Fix possible race when the reload-process determines it's parent pid and the true parent has ended
Now transfers the true parent pid as parameter to --reload-internal.

Refs #5788
2014-04-29 10:34:02 +02:00
Gerd von Egidy 9f56b6ee74 Fix handling of m_RequestRestart in RunEventLoop, improve reload timeout
Refs #5788
2014-04-29 10:34:02 +02:00
Gerd von Egidy 3ece2ba643 Fix logging during shutdown procedure.
Refs #5788
2014-04-29 10:34:02 +02:00
Gerd von Egidy 3a294bbd5d Fork new process from previous daemon on reload.
The previously planned logic of forking a new daemon from the reload-process didn't work with
systemd: systemd does not allow long-running processes started from within the reload command.

Replaces parameter --reload with --reload-internal which is used when starting the new daemon.

Refs #5788
2014-04-29 10:34:01 +02:00
Gerd von Egidy 33bd909b71 Add --reload command-line parameter.
Refs #5788
2014-04-29 10:34:01 +02:00
Gunnar Beutner ea24147d0d Add uptime information to the "icinga" check type.
Fixes #6064
2014-04-28 09:23:52 +02:00
Gunnar Beutner e6fb8caace Implement loop detection for cluster links.
Refs #5467
2014-04-25 15:07:13 +02:00
Gunnar Beutner 737441f201 Fix deadlock in TlsStream::{Read,Write}.
Refs #5467
2014-04-25 15:07:13 +02:00
Michael Friedrich d0af8a226b Fix headers. 2014-04-23 15:57:58 +02:00
Michael Friedrich c239f84fd7 Revert "Add group apply (creates object only once and sets membership)."
This reverts commit 559a4fef67.

Refs #5910
2014-04-23 14:59:48 +02:00
Gunnar Beutner 951c61ed16 Use fewer threads by default.
Refs #6053
2014-04-22 20:53:46 +02:00
Gunnar Beutner e489c98e6d Make the debug log less spammy.
Refs #4865
2014-04-22 07:47:10 +02:00
Gunnar Beutner 66faec2689 Build fix for OS X. 2014-04-22 07:13:16 +02:00
Gunnar Beutner 6b55e7827d Implement support for environment variables on Windows.
Fixes #6049
2014-04-21 20:15:03 +02:00
Gunnar Beutner 6d6e91cd2d Implement Windows support for the Process class.
Fixes #3684
2014-04-21 15:44:36 +02:00
Gunnar Beutner 088b15e964 Build fix for Clang >= 3.4.
Fixes #5360
2014-04-20 14:12:20 +02:00
Gunnar Beutner e749f6eae5 Make sure the installer doesn't overwrite config files.
Refs #4865
2014-04-20 11:22:15 +02:00
Gunnar Beutner 9905a4e09b Fix crash in Timer::AdjustTimers.
Refs #4865
2014-04-20 07:21:38 +02:00
Gunnar Beutner e19948fc95 Add agent setup wizard for Windows.
Refs #4865
2014-04-18 12:39:50 +02:00
Gunnar Beutner 0fb55f3404 Fix NSIS installer and Windows service.
Refs #4865
2014-04-18 12:15:01 +02:00
Michael Friedrich 5b359ea518 Add CompatUtility::GetModifiedAttributesList() for Livestatus.
Fixes #6042
2014-04-17 16:01:44 +02:00
Michael Friedrich 72f7537fa6 Add modified attributes for user and command vars.
Fixes #6043
2014-04-17 15:20:28 +02:00
Michael Friedrich 8cfce66604 Fix custom var override.
Refs #5956
Refs #5962
2014-04-16 17:52:12 +02:00
Michael Friedrich 7c0d93ea0a Add modified attributes for vars dictionary.
- new external commands
- raw values for 'vars'
- OnVarsChanged() signal for db_ido customvariablestatus updates
- refactor db_ido customvariable config updates

Refs #5956
Refs #5962
2014-04-16 17:52:12 +02:00
Gunnar Beutner ed057de512 Add missing ::Stop calls.
Refs #4865
2014-04-16 15:01:31 +02:00
Michael Friedrich 559a4fef67 Add group apply (creates object only once and sets membership).
Refs #5910
2014-04-15 14:55:29 +02:00
Gunnar Beutner 9fc5e6217a Build fix for Windows.
Refs #6008
2014-04-14 09:59:00 +02:00
Gunnar Beutner 8c771d51e4 Fix another exception issue with FreeBSD.
Refs #6008
2014-04-14 03:02:33 +02:00
Gunnar Beutner 0ea144a64d Set OpenSSL locking callback.
Refs #4865
2014-04-12 21:22:59 +02:00
Gunnar Beutner 06fdaeb2b2 Fix file descriptors not getting closed properly
Refs #4865
2014-04-12 08:16:57 +02:00
Gunnar Beutner 5dbf8f95de Another build fix for Windows.
Refs #5987
2014-04-09 12:44:35 +02:00
Gunnar Beutner c2b18d4f35 Windows build fix.
Refs #5987
2014-04-09 12:38:26 +02:00
Gunnar Beutner a16ef350e2 Avoid unnecessary copies for DynamicType::GetObjects.
Fixes #5987
2014-04-09 12:22:23 +02:00
Gunnar Beutner ec7c90d5d7 Allow dictionaries to contain null values.
Fixes #5986
2014-04-09 10:52:13 +02:00
Gunnar Beutner 1c115297f9 Rename the service state constants.
Fixes #5964
2014-04-08 09:11:54 +02:00
Gunnar Beutner 2ab208e452 Fix invalid timeout for poll().
Fixes #5963
2014-04-08 07:11:38 +02:00
Michael Friedrich 9ab4b3dd16 Remove the 'Icinga' prefix for global constants.
Fixes #5960
2014-04-07 21:42:23 +02:00
Gunnar Beutner ad42367999 Refactor name helper classes a bit.
Refs #5925
2014-04-06 08:15:07 +02:00
Gunnar Beutner 70062b5884 Make sure that Utility::GlobRecursive doesn't recurse into . and ..
Fixes #5946
2014-04-05 23:23:42 +02:00
Gunnar Beutner 00fd51e628 Implement relative object names.
Fixes #5925
2014-04-05 22:17:37 +02:00
Gunnar Beutner c42a582307 Rename "short_name", "host" and "sevice" attributes.
Fixes #5857
2014-04-05 09:15:40 +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 5c72e52903 Implement operator - for arrays.
Fixes #5923
2014-04-02 17:39:36 +02:00
Gunnar Beutner 0683fca535 Allow anonymous functions to be garbage-collected.
Fixes #5921
2014-04-02 17:27:04 +02:00
Gunnar Beutner ebf8ed3019 Remove support for external scripting languages.
Fixes #5920
2014-04-02 17:27:04 +02:00
Gunnar Beutner 2c17305536 Implement additional arguments for log().
Fixes #5902
2014-04-01 09:33:54 +02:00
Gunnar Beutner e3d96eb62d Build fix for FreeBSD. 2014-03-31 18:30:57 +02:00
Gunnar Beutner aba2a09245 Build fix for FreeBSD/OS X. 2014-03-31 00:08:43 +02:00
Gunnar Beutner b58c9ee3f8 Build fix.
Refs #5780
2014-03-30 15:08:29 +02:00
Gunnar Beutner 397fee13ff Allow "object" and "apply" in AST expressions.
Refs #5870
2014-03-30 15:04:53 +02:00
Gunnar Beutner 04dcceef59 Implement Utility::GetSymbolName and Utility::GetSymbolSource for Windows.
Refs #5870
2014-03-30 01:20:58 +01:00
Gunnar Beutner 9897358fc6 Add missing lock in DeserializeObject().
Refs #5870
2014-03-30 01:20:57 +01:00
Gunnar Beutner eb30f69454 Fix crash in DiagnosticInformation().
Refs #5870
2014-03-30 01:20:57 +01:00
Gunnar Beutner 0e79abb8f2 Implement instance variable "templates" for config objects.
Refs #5884
2014-03-28 14:46:19 +01:00
Gunnar Beutner 54063f0b9f Rename __name and __type properties.
Refs #5870
2014-03-28 14:17:55 +01:00
Gunnar Beutner 8bfb60b7fa Improve error message for invalid inline service definitions.
Refs #5846
2014-03-24 11:23:05 +01:00
Gunnar Beutner db2f1b3398 Add missing brace.
Refs #5846
2014-03-24 09:27:30 +01:00
Gunnar Beutner 27955843c0 Move Addr2Line function to the Utility class.
Refs #5846
2014-03-23 19:39:25 +01:00
Gunnar Beutner 09f1c46714 Implement the exit() script function.
Refs #5846
2014-03-23 17:26:36 +01:00
Gunnar Beutner aacc699dd4 Refactor the config parser's AST.
Refs #5846
2014-03-23 11:27:40 +01:00
Gunnar Beutner 3afad7a96d Implement comparison operators for operands of different types.
Refs #5846
2014-03-22 08:40:35 +01:00
Gunnar Beutner 3c067e9547 Don't show stack traces for user errors.
Refs #5846
2014-03-22 08:38:46 +01:00
Gunnar Beutner 0c7d53503d Resolve relative paths for StackTrace::Addr2Line.
Fixes #5792
2014-03-21 08:44:55 +01:00
Michael Friedrich fc7d7cc9eb DB IDO: Send endpoint authority for status updates.
Refs #5636
2014-03-20 18:03:47 +01:00
Gunnar Beutner 1ea91ef49f Windows build fix. 2014-03-20 15:53:45 +01:00
Gunnar Beutner 3ad233400e Make accessing undefined variables an error (instead of a warning).
Fixes #5809
2014-03-20 15:31:48 +01:00
Gunnar Beutner cb0c1b01d5 Add special cases for Array and Dictionary in Value::GetTypeName().
Refs #5804
2014-03-20 14:28:29 +01:00
Gunnar Beutner 012c0caeec Implement union() and intersection() functions.
Fixes #5801
2014-03-20 14:25:40 +01:00
Gunnar Beutner 8e472211cb Add missing file. 2014-03-20 13:45:10 +01:00
Gunnar Beutner 02fc3278c8 Implement missing operators for the Value class.
Fixes #5804
2014-03-20 13:02:31 +01:00
Gunnar Beutner 3383951791 Implement regex() and match() functions.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner e21e2ef707 Make Value operators const where possible.
Refs #5789
2014-03-19 12:46:23 +01:00
Michael Friedrich ce737ff2f3 Change copyright header (again).
Fixes #5424
2014-03-19 11:42:47 +01:00
Gunnar Beutner 4d6088bee1 Stop checks during shutdown.
Fixes #5784
2014-03-17 09:04:19 +01:00
Gunnar Beutner ecce27f9da Fix null pointer dereference in Timer::AdjustTimers.
Fixes #5783
2014-03-17 08:41:53 +01:00
Gerd von Egidy 40b88422d2 Output child pid to debug log when forking.
Fixes #5756

Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2014-03-14 13:52:04 +01:00
Gunnar Beutner 737675387d Windows build fix. 2014-03-14 13:23:04 +01:00
Gunnar Beutner 3556f9afde Use more threads for Process I/O.
Refs #5748
2014-03-14 13:21:11 +01:00
Gunnar Beutner 5252041c6b Fix Process timeouts.
Fixes #5759
2014-03-14 12:16:49 +01:00
Gunnar Beutner 51dc2bea2d Fix: Plugin-based checks are broken.
Fixes #5751
2014-03-13 12:05:27 +01:00
Michael Friedrich 76001c70e3 Build fix. 2014-03-12 17:51:42 +01:00
Gunnar Beutner f30517a9e2 Build fix. 2014-03-12 13:19:06 +01:00
Gunnar Beutner f3c085df44 Call Process callbacks asynchronously.
Refs #5748
2014-03-12 11:06:17 +01:00
Gunnar Beutner f391a32487 Decrease the maximum number of threads allowed per ThreadPool.
Refs #5748
2014-03-12 10:52:07 +01:00
Gunnar Beutner bfc5d2a4be Use fewer threads for plugin-based checks.
Fixes #5748
2014-03-12 10:25:06 +01:00
Gunnar Beutner e693486dae Fix file descriptor leak in StackTracce::Addr2Line.
Fixes #5735
2014-03-10 13:38:36 +01:00
Michael Friedrich 14d8f8a12e Documentation: Add Domains.
Fixes #5288
2014-03-07 15:21:57 +01:00
Gunnar Beutner f8a2ddc464 Include source file name and line numbers in stack traces.
Fixes #5715
2014-03-06 10:59:13 +01:00
Michael Friedrich f890a7ae8c Refactor status/perfdata stats registry.
Fixes #5622
2014-02-20 15:25:58 +01:00
Michael Friedrich 84be5e3413 Implement StatsFunction Registry for features.
Refs #5622
2014-02-17 17:53:41 +01:00
Gunnar Beutner 8055eaa8b8 Revert "Set stack size rlimit."
This reverts commit 36c0af7a85.
2014-02-14 12:28:21 +01:00
Gunnar Beutner 36c0af7a85 Set stack size rlimit.
Fixes #5659
2014-02-14 10:44:28 +01:00
Gunnar Beutner b968850bc1 Make Visual Studio 2010 happy (maybe).
Fixes #5637
2014-02-12 10:16:52 +01:00
Michael Friedrich e534f9bc1b Add Cluster Health Check.
Fixes #5438
2014-02-07 15:19:37 +01:00
Michael Friedrich 7d9dc1a36b Fix including a non-existing directory exception requires path information.
Fixes #5618
2014-02-07 13:23:26 +01:00
Michael Friedrich 1e0a11c7f2 Add IcingaNodeName script variable, set as check source (WIP).
Fixes #5471
Fixes #5473
2014-02-06 15:38:06 +01:00
Gunnar Beutner 984ffb7421 Fix memory leak in Utility::GlobRecursive.
Fixes #5604
2014-02-05 13:53:56 +01:00
Gunnar Beutner 238d90401c Implement an option to disable use of vfork().
Fixes #5583
2014-01-31 08:44:00 +01:00
Gunnar Beutner e0596f2d33 Fix UNIX sockets on FreeBSD.
Fixes #5567
2014-01-28 09:58:19 +01:00
Michael Friedrich 815a34a535 Filelogger must not truncate log file, but append its stream.
Refs #5448
2014-01-14 17:25:05 +01:00
Michael Friedrich 555d72150a Update copyright header.
Fixes #5424
2014-01-09 00:32:11 +01:00
Gunnar Beutner 21fb0d9872 Implement "safe mode" for icinga::Deserialize.
Fixes #5035
2013-12-18 10:27:58 +01:00
Michael Friedrich 79f5618eba Use std::string::find() in String::Contains().
Refs #5355
2013-12-17 18:34:05 +01:00
Michael Friedrich 7fa9188df8 Add String::Contains().
Refs #5355
2013-12-17 18:34:05 +01:00
Gunnar Beutner b2ec194a82 Update log level for some messages.
Fixes #5357
2013-12-17 14:26:48 +01:00
Gunnar Beutner 41d4ba169f Embed constants into lib{base,icinga,db_ido}.
Fixes #5247
2013-12-17 14:24:29 +01:00
Gunnar Beutner 65b41c51ff Fix compiler warnings in ThreadPool::ThreadPool.
Refs #5349
2013-12-17 07:52:26 +01:00
Gunnar Beutner 79e960f7cb Fix a log message.
Refs #5342
2013-12-16 17:23:34 +01:00
Gunnar Beutner 162cee5c40 Remove the ConsoleLogger class and keep the default console log enabled until we daemonize.
Refs #5342
2013-12-16 17:23:23 +01:00
Michael Friedrich f4c132ca5b Move command argument logging into the unix process class.
Refs #5225
2013-12-16 16:22:22 +01:00
Gunnar Beutner 2f58071b6f Fix race condition in Logger::GetLoggers.
Fixes #5341
2013-12-16 09:53:50 +01:00
Gunnar Beutner f08bca220d Fix race condition in icinga::Log.
Refs #5337
2013-12-15 18:46:09 +01:00
Gunnar Beutner 4563bb355f Fix another race condition in DynamicObject::Start.
Fixes #5330
2013-12-14 07:36:49 +01:00
Michael Friedrich 5f54406057 Log commands and their arguments.
Fixes #5225
2013-12-13 17:37:00 +01:00
Gunnar Beutner 7fbdf1d633 Fix crash in icinga::Log.
Fixes #5330
2013-12-13 15:13:20 +01:00
Gunnar Beutner e7184225f3 Improve performance for icinga::Deserialize.
Refs #5327
2013-12-13 14:08:11 +01:00
Gunnar Beutner f8d7f7799e Improve WorkQueue performance
Refs #5327
2013-12-13 14:08:06 +01:00
Gunnar Beutner b4f2f06b88 Implement ParallelWorkQueue class.
Refs #5327
2013-12-13 14:08:02 +01:00
Gunnar Beutner 37179cdf32 Improve config compiler performance.
Refs #5327
2013-12-13 14:07:37 +01:00
Gunnar Beutner 98733fc105 Add timestamp to crash dumps.
Fixes #5315
2013-12-12 14:38:34 +01:00
Johannes Meyer 9229aa4948 Merge branch 'feature/Array-insert-functionality' into next
resolves #5320
2013-12-12 13:53:27 +01:00
Gunnar Beutner 7a107b7dbd Improve compatibility with C++11.
Fixes #5307
2013-12-11 16:40:55 +01:00
Gunnar Beutner af6df9f268 Improve compatibility with Windows.
Fixes #5287
2013-12-09 13:46:53 +01:00
Gunnar Beutner ab2e1e99e2 ScriptVariableRegistry::GetInstance should not be defined inline.
Fixes #5284
2013-12-09 12:26:25 +01:00
Gunnar Beutner 203cf73bf7 Improve error messages for the check result reader.
Fixes #5275
2013-12-09 09:52:09 +01:00
Gunnar Beutner 41ded2858c Implement scheduled downtimes.
Fixes #3584
2013-12-06 13:45:18 +01:00
Gunnar Beutner 6714796ecd Set rlimits in the Application class (rather than in the init script).
Fixes #5260
2013-12-05 11:11:03 +01:00
Gunnar Beutner e540685e13 Implement support for constants in the config parser.
Refs #4946
2013-12-04 11:32:45 +01:00
Gunnar Beutner 30c989074b Implement support for making script variables constant.
Refs #4946
2013-12-04 10:41:26 +01:00
Gunnar Beutner 6625346922 Speed up config compiler.
Fixes #5255
2013-12-03 09:59:21 +01:00
Gunnar Beutner 4648b82b33 Fix compiler warning for Utility::GlobRecursive.
Refs #5246
2013-12-02 11:18:16 +01:00
Gunnar Beutner 29f9117e58 Avoid using dynamic_pointer_cast when possible.
Refs #5246
2013-12-02 11:18:16 +01:00
Gunnar Beutner 954d2d53a2 Further decrease WQ lock contention.
Refs #5246
2013-12-02 11:18:16 +01:00
Gunnar Beutner 553bd3246b Improve compatibility with -fvisibility=hidden.
Refs #5246
2013-12-02 11:07:41 +01:00
Gunnar Beutner f05858d3ad Avoid unnecessary copies when iterating over dictionaries.
Refs #5246
2013-12-02 11:07:38 +01:00
Gunnar Beutner 1c0f9fe9ac Fix WorkQueue lock contention.
Fixes #5245
2013-12-02 08:38:53 +01:00
Gunnar Beutner 9f7e5b1845 Fix compiler warning.
Refs #5245
2013-11-29 17:06:48 +01:00
Gunnar Beutner dd200d0937 Increase default work queue size.
Fixes #5244
2013-11-29 15:27:11 +01:00
Gunnar Beutner f8d2172c27 Implement include_recursive config directive.
Fixes #5238
2013-11-29 12:26:31 +01:00
Gunnar Beutner cac4167e79 Fix initial check schedule.
Fixes #5240
2013-11-28 20:56:48 +01:00
Gunnar Beutner 4ffc22516a Renice child processes.
Fixes #5237
2013-11-28 15:15:28 +01:00
Gunnar Beutner f9c53ad295 Implement workqueue statistics.
Refs #5235
2013-11-28 12:12:24 +01:00
Gunnar Beutner 6d53bd1c8f Make sure IDO reconnect attempts don't recurse.
Refs #5235
2013-11-28 10:36:43 +01:00
Gunnar Beutner 640136fbdb Make object, type and variable names case-sensitive.
Fixes #5228
2013-11-27 12:29:42 +01:00
Gunnar Beutner 25da7a2291 Add sysconf dir to the version info message.
Refs #5224
2013-11-27 11:47:14 +01:00
Gunnar Beutner 9d8edd286f Implement IcingaSysconfDir variable.
Refs #5224
2013-11-27 09:46:31 +01:00
Gunnar Beutner 4ed798385d Improve bug messages.
Refs #4635
2013-11-26 18:35:36 +01:00
Gunnar Beutner d4cc6fb5e0 Improve compatibility with Solaris.
Fixes #5129
2013-11-24 01:00:35 +01:00
Gunnar Beutner e32a149049 Glob: Use stat() instead of lstat().
Refs #5123
2013-11-22 10:41:57 +01:00
Gunnar Beutner 7a3a8de83c Optimize IDO queries.
Refs #5124
2013-11-22 10:32:53 +01:00
Gunnar Beutner 0978e46d5a Implement file type flags for Utility::Glob.
Fixes #5123
2013-11-22 09:03:52 +01:00
Gunnar Beutner 7a79886922 Fix deadlock in WorkQueue::Enqueue.
Fixes #5120
2013-11-21 13:54:01 +01:00
Gunnar Beutner 92dd32eb68 Implement support for high-level stack traces.
Refs #5085
2013-11-21 09:42:27 +01:00
Gunnar Beutner 062110339b Fix spelling mistake.
Refs #5085
2013-11-21 08:30:16 +01:00
Gunnar Beutner 43ab2b69a4 Fix handle leak in the ThreadPool class.
Fixes #5078
2013-11-21 07:46:12 +01:00
Gunnar Beutner 39dcf20a89 Implement support for stack traces for STL exceptions.
Fixes #5114
2013-11-20 21:55:14 +01:00
Gunnar Beutner 1676af8b2d Implement signal handler for SIGTERM.
Fixes #5087
2013-11-17 20:04:27 +01:00
Gunnar Beutner 0f28e55925 Implement support for non-standard "multi" performance data.
Refs #5082
2013-11-17 03:29:43 +01:00
Gunnar Beutner 687c88bea0 Don't kill too many worker threads at once.
Refs #5050
2013-11-15 14:04:03 +01:00
Gunnar Beutner 979df4e110 Create new threads more aggressively right after program start.
Refs #5050
2013-11-15 12:36:52 +01:00
Gunnar Beutner 9a93cc83b3 Include thread pool ID in debug messages.
Refs #5050
2013-11-15 12:20:19 +01:00
Gunnar Beutner f5f8de8137 Fix compatibility with OpenSSL <1.0.0.
Refs #3657
2013-11-13 10:36:57 +01:00
Gunnar Beutner a5e3c70bcc Implement support for CRLs.
Fixes #3657
2013-11-13 10:30:40 +01:00
Gunnar Beutner 6ccf4497f2 Fix unit tests on Windows.
Fixes #5068
2013-11-13 09:08:17 +01:00
Gunnar Beutner 4f1cb83f31 Fix Convert::ToString.
Fixes #5054
2013-11-11 13:04:18 +01:00
Gunnar Beutner 893243db5f Fix exception in Value::ToJson().
Refs #5049
2013-11-11 09:31:36 +01:00
Gunnar Beutner eb746b9929 Optimize DynamicObject::HasAuthority().
Refs #5049
2013-11-11 08:39:35 +01:00
Gunnar Beutner 17834e0a77 Ignore invalid fields in the state file.
Refs #5039
2013-11-09 18:30:17 +01:00
Gunnar Beutner ba6f64a0ec Remove GetType().
Refs #5036
2013-11-08 21:37:21 +01:00
Gunnar Beutner 2a6151e935 Use anonymous namespaces for INITIALIZE_ONCE().
Refs #5036
2013-11-08 21:12:47 +01:00