Commit graph

2125 commits

Author SHA1 Message Date
Michael Friedrich
f0a5a0c23c Fix openssl certificate not after overflow on rhel5
refs #10266
2015-10-02 12:11:21 +02:00
Gunnar Beutner
124d3f71f7 Change field type for ConfigObject::version to double
refs #10257
2015-10-01 04:49:35 +02:00
Gunnar Beutner
55616209ae Only update version when config attributes are changed
refs #10257
2015-10-01 04:45:50 +02:00
Michael Friedrich
9dcb33e8f4 Change object version to timestamps for diff updates on config sync
fixes #10257
2015-09-30 16:58:18 +02:00
Gunnar Beutner
08ccb4e323 Build fix
refs #10245
2015-09-30 11:05:20 +02:00
Gunnar Beutner
254c076dd4 Fix incorrectly escaped arguments for CreateProcess
fixes #10245
2015-09-30 10:56:31 +02:00
Gunnar Beutner
0e40c3ee1d Fix deadlock in TlsStream::Close
fixes #10235
2015-09-29 10:31:16 +02:00
Jean-Marcel Flach
4ef9761fee Implement status api handler
Global statistics, features, etc.

fixes #10116
2015-09-23 16:59:07 +02:00
Michael Friedrich
84536da221 Implement global modified attributes for the IcingaApplication class
fixes #9859
2015-09-23 15:02:53 +02:00
Michael Friedrich
12cf90c67c Fix persisting and restoring modified attributes for custom attribute indexers
fixes #9935
fixes #9968
2015-09-23 13:29:30 +02:00
Gunnar Beutner
ff59402a10 Remove unnecessary check in Value::IsObject
refs #10199
2015-09-23 10:48:49 +02:00
Gunnar Beutner
c15c9cce5e Detect infinite recursion in user scripts
fixes #10198
2015-09-23 09:21:45 +02:00
Gunnar Beutner
eeb01831c0 Implement the Array#reverse and String#reverse methods
fixes #10197
2015-09-23 09:06:15 +02:00
Gunnar Beutner
48bdd0ebf4 Fix: null + null should not be ""
fixes #10192
2015-09-22 13:13:38 +02:00
Gunnar Beutner
1a6b41787a Implement joins for status queries
fixes #10060
2015-09-22 09:45:23 +02:00
Michael Friedrich
95bcbec5b5 Implement support for restoring modified attributes
Also fix a glitch with ModifyAttribute and original_attributes
storage.

fixes #9935
2015-09-18 15:01:44 +02:00
Michael Friedrich
f7b5aa33ce Fix a couple of wrong white spaces 2015-09-18 13:04:09 +02:00
Michael Friedrich
b2715943c6 Config Sync: Properly modify attributes and object version
refs #9927
2015-09-17 14:20:44 +02:00
Gunnar Beutner
6fa58a520c Implement config object sync
Adds object version.

refs #9927
2015-09-17 14:20:43 +02:00
Michael Friedrich
9a2ae6e58f Fix missing zero padding for generated CA serial
fixes #10074
2015-09-03 17:12:01 +02:00
Gunnar Beutner
35acba7dc1 Remove default WQ limits
refs #10002
2015-09-02 09:16:20 +02:00
Michael Friedrich
da83bae660 Rename config/modules to config/packages
fixes #9953
2015-09-01 20:09:04 +02:00
Gunnar Beutner
c37a23ccba Implement the Icinga Studio application
fixes #10042
2015-08-31 07:50:01 +02:00
Jean Flach
f1a1dfb26e Update use of String::Trim()
fixes #9704
2015-08-27 18:06:20 +02:00
Jean Flach
5bbc8cacbd Add String ToLower, ToUpper, change Trim
fixes #9704 #9944
2015-08-27 17:18:21 +02:00
Gunnar Beutner
373b88df33 Implement the escape_shell_arg and escape_shell_cmd functions
fixes #10004
2015-08-27 09:02:21 +02:00
Jean Flach
73d8ffb462 Fix range() with negative increments
fixes #9999
2015-08-26 16:38:26 +02:00
Gunnar Beutner
3afe9a35d8 Implement the 'name' field for types
refs #9076
2015-08-26 13:05:09 +02:00
Gunnar Beutner
3ea71e82c5 Fix incorrect field type for the Type.base field
refs #9076
2015-08-26 11:00:05 +02:00
Gunnar Beutner
ae214db0fc Change base type for 'Type' to 'Object'
refs #9076
2015-08-26 10:58:03 +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
7eca257784 Fix return value of Utility::MkDir/MkDirP
None as there are exceptions thrown.

fixes #9689
2015-08-24 15:11:49 +02:00
Gunnar Beutner
b43a3135cc Fix: Utility::Glob on Windows doesn't support wildcards in all but the last path component
fixes #9962
2015-08-19 07:54:06 +02:00
Gunnar Beutner
5a72eaa768 Make sure the serial number field is always initialized
fixes #9947
2015-08-18 15:05:53 +02:00
Gunnar Beutner
d8cab2f0e8 Add 'override' keyword to methods
refs #9929
2015-08-18 12:45:30 +02:00
Gunnar Beutner
d118b71a2a Fix compiler warnings
fixes #9929
2015-08-18 07:46:04 +02:00
Michael Friedrich
0f5287c2b1 Add module attribute for ConfigObject and set its origin
fixes #9852
2015-08-17 16:08:57 +02:00
Michael Friedrich
13b5acec90 Implement support for . in modify_attribute
fixes #9852
2015-08-17 14:55:51 +02:00
Michael Friedrich
428be72bab Implement Object#clone and rename Array/Dictionary#clone to shallow_clone
fixes #9931
2015-08-17 13:59:49 +02:00
Gunnar Beutner
7d6a920b3d Build fix 2015-08-17 11:20:52 +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
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
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
d30d1d4dda Implement the Dictionary#keys method
fixes #9882
2015-08-11 13:58:29 +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
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
276f491762 Fix: Operator + is inconsistent when used with empty and non-empty strings
fixes #9806
2015-08-01 04:38:12 +02:00
Gunnar Beutner
1314cba61b Implement Dictionary#get and Array#get
fixes #9796
2015-07-30 20:58:52 +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
Gunnar Beutner
a82c65692c Fix accessor for field 0 ("prototype")
fixes #9778
2015-07-30 08:23:43 +02:00
Gunnar Beutner
0b495d1858 Set correct X509 version for certificates
fixes #9769
2015-07-29 12:59:12 +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
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
Jean-Marcel Flach
b9a4a64249 Move url handler to /lib/remote
fixes #9647
2015-07-16 13:35:32 +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
Gunnar Beutner
b357012ded Implement HTTP support
refs #9447
2015-07-09 11:42:34 +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
Gunnar Beutner
8dcb4efa5e Fix stability issues with the TlsStream/Stream classes
fixes #9481
2015-06-24 09:48:55 +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
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
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
Jean-Marcel Flach
0eead93c69 Make --version work with systemd
fixes #8888
2015-04-20 12:52:34 +02:00
Gunnar Beutner
d93bcedaad Implement sandbox mode for the config parser
fixes #9068
2015-04-16 08:48:17 +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
Gunnar Beutner
339b8aef48 Avoid unnecessary allocations in ScriptFrame::SetCurrentFrame 2015-03-29 22:26:07 +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
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
c08aa37c99 Fix crash in MakeX509CSR when using ancient versions of OpenSSL
fixes #8844
2015-03-26 08:23:24 +01:00
Gunnar Beutner
dda273dbcc Add missing include in loader.cpp 2015-03-22 15:04:00 +01:00
Gunnar Beutner
ed29d06ab6 Implement constructor-style casts
fixes #8832
2015-03-21 22:48:23 +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
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
6c96d5bc98 Clean up the start-up process a bit
fixes #8791
2015-03-18 11:14:51 +01:00
Gunnar Beutner
37736caa5c Implement support for libedit
fixes #8776
2015-03-17 15:05:47 +01:00
Gunnar Beutner
0d7a382b82 Add OS details in 'icinga2 --version'
fixes #8761
2015-03-16 13:32:13 +01:00
Gunnar Beutner
7877292685 Don't ignore extraneous arguments for functions
fixes #8748
2015-03-15 11:24:09 +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
6abbafe810 Fix log message for cli commands breaks the init script
fixes #8721
2015-03-12 15:53:56 +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
Michael Friedrich
f198249eb1 Fix formatting for the GDB stacktrace
fixes #8684
2015-03-11 16:31:30 +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
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
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
9181d7ae05 Add missing service name in check results
refs #8257
2015-03-05 20:50:27 +01:00
Gunnar Beutner
fd9dc32a3d Implement SNI support for the TlsStream class
fixes #8610
2015-03-05 14:15:42 +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
afd1927a98 Improve Livestatus query performance
fixes #8594
2015-03-04 10:58:22 +01:00
Gunnar Beutner
3615716983 Include GDB backtrace in crash reports
fixes #8575
2015-03-03 13:53:11 +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
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
Michael Friedrich
dd5ca24210 Fix compiler warnings 2015-03-02 14:10:26 +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
Gunnar Beutner
a296147839 Fix uninitialized fields in the StreamLogger class
Coverity Bug ID: 1272329
2015-03-02 10:14:15 +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
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
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
Gunnar Beutner
985c6bc7d9 Fix a deadlock in WorkQueue::WorkerThreadProc
refs #8554
2015-02-27 18:32:20 +01:00
Gunnar Beutner
5d1e549063 Fix a crash in Timer::Reschedule
refs #8554
2015-02-27 16:44:33 +01:00
Gunnar Beutner
5eb32efb05 Fix crash in SocketEvents::ThreadProc
fixes #8554
2015-02-27 15:53:38 +01:00
Jean-Marcel Flach
9ed21563ff Use RequestShutdown with exitcode instead of Application::Exit
fixes #8436
2015-02-27 14:43:30 +01:00
Gunnar Beutner
d397933eff Fix a crash in Timer::Call
fixes #8473
2015-02-27 14:07:12 +01:00
Gunnar Beutner
9567cd663b Fix another potential hang in TlsStream::Handshake
refs #8550
2015-02-27 09:03:23 +01:00
Gunnar Beutner
4e8c5706e1 Don't send heartbeats during log replay
fixes #8461
refs #8485
2015-02-26 14:59:39 +01:00
Gunnar Beutner
0c51857084 Fix another crash in SocketEvents::Register
fixes #8547
2015-02-26 13:11:50 +01:00
Gunnar Beutner
aef5bc2f3a Fix a crash in TlsStream::Close
fixes #8537
2015-02-25 14:41:23 +01:00
Jean-Marcel Flach
1d0f6ed457 Fix a missing import 2015-02-25 14:04:02 +01:00
Gunnar Beutner
4972364f42 Fix another problem where Icinga doesn't detect that a cluster connection is dead
refs #8485
2015-02-25 13:21:38 +01:00
Gunnar Beutner
4da3b1c5b3 Make sure that Notification objects are activated after Host/Service objects
fixes #8517
2015-02-25 12:43:38 +01:00
Gunnar Beutner
5ceb64d649 Implement the get_time() function 2015-02-24 09:08:31 +01:00
Gunnar Beutner
7504f3a3dc Prevent unnecessary thread wake-ups
refs #8485
2015-02-24 08:41:06 +01:00
Gunnar Beutner
2922d5d9bd Fix another potential problem where TLS connection might get stalled
refs #8485
2015-02-24 07:11:22 +01:00
Gunnar Beutner
37e075c38a Move some of the initialization code into icinga-app
refs #6257
2015-02-20 19:57:26 +01:00
Gunnar Beutner
0fb55060d2 Fix another potential deadlock in SocketEvents::WakeUpThread
refs #8484
2015-02-20 15:25:56 +01:00
Gunnar Beutner
e2815de8a6 Fix stalled reconnection attempts for the cluster
refs #8485
2015-02-20 14:43:55 +01:00
Jean Flach
1a9c4ceef6 Restructure troubleshootcollect, more after the jump
Changed `--output-file` to `--output`
Default output file now has a timestamp in the name, no more overwriting
Added Section headers and file markers
Taken time is now measured and output
And some format changes were made

refs #3446
2015-02-19 17:12:32 +01:00
Gunnar Beutner
31786fdaa1 Fix crash in SocketEvents::ChangeEvents
refs #6109
2015-02-17 13:21:43 +01:00
Gunnar Beutner
8d5b270812 Fix another crash in SocketEvents::OnEvent
fixes #8446
2015-02-16 11:41:11 +01:00
Gunnar Beutner
3c6ca2957b Fix a crash in SocketEvents::OnEvent
fixes #8446
2015-02-15 18:50:25 +01:00
Michael Friedrich
7a93cf8cce Don't attempt to restore program state from non-existing state file
fixes #8444
2015-02-14 23:39:10 +01:00
Gunnar Beutner
8903c7e379 Close TLS connections more aggressively
refs #6109
2015-02-14 19:14:45 +01:00
Gunnar Beutner
1c7a0d03a1 Fix a case where NetString::ReadStringFromStream might incorrectly return StatusEof
refs #6109
2015-02-14 18:48:33 +01:00
Gunnar Beutner
9e936cbea4 Fix unit tests for the Stream class
refs #6109
2015-02-14 17:40:29 +01:00
Gunnar Beutner
f097e48889 Don't use separate threads for each ApiClient object
fixes #6109
2015-02-14 16:34:36 +01:00
Gunnar Beutner
e0bbfb175c Move most of the socket I/O to a separate thread
fixes #8300
fixes #8243
2015-02-14 09:42:11 +01:00
Michael Friedrich
2cab6fbb9d Make the argments for the stats functions const-ref
fixes #8433
2015-02-13 11:29:15 +01:00
Michael Friedrich
24852e05c7 Move ValidateMacroString into the MacroProcessor class
refs #7311
2015-02-11 16:14:59 +01:00
Michael Friedrich
8ca57cba03 Add macro config validator for command args, env, custom attr, perfdata templates
fixes #7311
2015-02-11 15:32:10 +01:00
Gunnar Beutner
0490fe73f7 Implement line continuation for "icinga2 console"
fixes #8133
2015-02-10 13:27:02 +01:00
Gunnar Beutner
61684891a0 Set LC_NUMERIC=C for all processes on *NIX
fixes #6857
2015-02-09 14:21:42 +01:00
Gunnar Beutner
97fc5bb10b Implement additional attributes for the Host class
refs #7564
2015-02-09 08:50:17 +01:00
Gunnar Beutner
bb12704a31 Implement the Json.encode and Json.decode methods
fixes #8393
2015-02-09 08:14:06 +01:00
Michael Friedrich
ea2ac81003 Remove name and return value for stats functions
fixes #6171
2015-02-07 22:36:17 +01:00
Gunnar Beutner
e3dcc8a610 Implement a unit test for nullary lambdas
fixes #7805
2015-02-03 14:02:32 +01:00
Gunnar Beutner
1bff5eb706 Fix missing files in the Windows package
fixes #8200
2015-02-02 10:36:58 +01:00
Gunnar Beutner
fec8e15d9e Implement the Array#join method
fixes #8322
2015-02-02 08:39:16 +01:00
Gunnar Beutner
ac959a72aa Don't allow comparison of strings and numbers
fixes #8305
2015-01-30 10:30:31 +01:00
Gunnar Beutner
e0be9cd743 Improve error message for failed casts
refs #6070
2015-01-29 16:51:47 +01:00
Gunnar Beutner
fb323ee215 Evaluate apply filters in the for loop
fixes #7610
2015-01-29 12:38:25 +01:00
Gunnar Beutner
88788685d3 Make sure the Livestatus listener thread terminates after SIGTERM
fixes #8295
2015-01-29 11:39:06 +01:00
Gunnar Beutner
03a509f419 Fix setting global variables with --define
fixes #8307
2015-01-29 11:06:08 +01:00
Gunnar Beutner
eb2f2dd8a2 Implement get_object() and get_objects()
fixes #7564
2015-01-28 08:36:17 +01:00
Michael Friedrich
78bfd0204c Update copyright year 2015-01-22 12:00:23 +01:00
Gunnar Beutner
981d645028 Update documentation 2015-01-21 08:48:38 +01:00
Gunnar Beutner
363f23b1d8 Rename ScriptFunction to Function
fixes #8258
2015-01-21 08:48:38 +01:00
Gunnar Beutner
604b080c59 Implement the Array#sort method
refs #8069
2015-01-20 16:56:08 +01:00
Gunnar Beutner
b4c74efde0 Implement some more utility functions
refs #8169
2015-01-16 10:35:20 +01:00
Gunnar Beutner
6bb054caa8 Implement the Function#callv helper function
refs #8169
2015-01-15 12:52:23 +01:00
Gunnar Beutner
5d8356f6d2 Implement more utility functions
refs #8169
2015-01-15 12:34:50 +01:00
Gunnar Beutner
c0a5ed81f4 Improve argument validation for the String#substr and String#find methods
refs #8169
2015-01-14 17:03:56 +01:00
Gunnar Beutner
dd1cbb6fe7 Fix incorrect exception type
refs #81659
2015-01-14 15:57:48 +01:00
Gunnar Beutner
2ef798f378 Implement missing Type::SetField method
refs #8169
2015-01-14 13:34:52 +01:00
Gunnar Beutner
688e64ce40 Add missing meta type class for the Type class
refs #8169
2015-01-14 09:51:44 +01:00
Gunnar Beutner
9c36f40656 Implement more methods for the String class
fixes #8169
2015-01-14 09:08:31 +01:00
Gunnar Beutner
d0abc11c08 Implement the call() method for functions
refs #8169
2015-01-14 07:36:59 +01:00
Gunnar Beutner
9080ca2867 Fix some more compiler warnings
refs #8175
2015-01-12 14:19:20 +01:00
Gunnar Beutner
1df13c792b Fix compiler warnings
fixes #8175
2015-01-12 12:36:49 +01:00
Gunnar Beutner
b17fc34a84 Disable Application::SetResourceLimits on non-Linux systems
fixes #8178
2015-01-09 11:44:20 +01:00
Gunnar Beutner
1073f031c8 Build fix for Windows 2014-12-22 14:14:16 +01:00
Gunnar Beutner
9f6b90cd2d Don't show stack traces for known exception types
refs #6070
2014-12-20 15:41:31 +01:00
Gunnar Beutner
c433284d27 Improve error reporting
fixes #8136
refs #6070
2014-12-20 15:29:04 +01:00
Gunnar Beutner
cb5e6c1c6d Fix integer overflow in len()
fixes #8041
2014-12-20 09:36:35 +01:00
Gunnar Beutner
1ddab493e1 Make sure that Value::IsEmpty() returns true for empty strings
fixes #8018
2014-12-20 09:31:55 +01:00
Gunnar Beutner
6fddec0dd3 Improve error message for invalid field accesses
fixes #8079
2014-12-20 09:17:02 +01:00
Gunnar Beutner
978aeed741 Implement the __get_objects function
refs #8127
2014-12-19 13:08:31 +01:00
Gunnar Beutner
97168378e8 Rename _DEBUG to I2_DEBUG
fixes #7767
2014-12-19 12:19:28 +01:00
Gunnar Beutner
28d7051aed Fix a deadlock in TlsStream::Read / TlsStream::Close
fixes #8124
2014-12-19 12:07:06 +01:00
Gunnar Beutner
cb7f93dc19 Implement CMake options for some of the modules
fixes #7794
fixes #7795
2014-12-19 09:46:41 +01:00
Gunnar Beutner
873e294158 Refactor the WorkQueue class to make error reporting easier
refs #7709
2014-12-18 15:11:57 +01:00
Gunnar Beutner
c3cf7682b9 Clean up the DebugInfo class
refs #7709
2014-12-18 12:58:46 +01:00
Gunnar Beutner
9eeb64a780 Update livestatus and statusdata to properly support booleans
fixes #8100
2014-12-17 08:54:28 +01:00
Gunnar Beutner
f800630c10 Implement Livestatus support for the "repl" command
refs #7805
2014-12-16 19:28:46 +01:00
Gunnar Beutner
d82defe6a9 Add readline support for the "repl" command
fixes #8091
2014-12-16 13:26:26 +01:00
Gunnar Beutner
23a556c7ce Make sure that operator % throws an exception when the ride-hand-side argument is 0
fixes #8089
2014-12-16 08:52:32 +01:00
Gunnar Beutner
77806b9de7 Get rid of the local/global keywords
refs #8074
2014-12-15 16:09:17 +01:00
Gunnar Beutner
252f3205cb Fix incorrect variable scoping
refs #8074
2014-12-15 12:58:55 +01:00
Gunnar Beutner
55b7f00382 Remove unnecessary includes 2014-12-15 10:16:06 +01:00
Gunnar Beutner
1cb0231c05 Refactor how variable scopes work
refs #8074
2014-12-14 11:33:45 +01:00
Gunnar Beutner
461cf8dbc1 Make sure Serialize() doesn't fail for objects which don't have a registered type
fixes #7895
2014-12-13 21:42:39 +01:00
Gunnar Beutner
05485ea2d6 Disallow calling strings as functions
fixes #8040
2014-12-12 20:45:11 +01:00
Gunnar Beutner
b8e7c5bc40 Fix the prototype for the Object class
refs #8065
2014-12-12 15:47:51 +01:00
Gunnar Beutner
0a4c461caa Fix the clone() methods for the Array and Dictionary class
refs #8065
2014-12-12 15:38:06 +01:00
Gunnar Beutner
cfd775c948 Move the VMFrame class to libbase
refs #8065
2014-12-12 15:33:56 +01:00
Gunnar Beutner
aa38dde1fc Implement prototype functions
fixes #8065
2014-12-12 15:22:37 +01:00
Gunnar Beutner
a94b26ff47 Add missing DebugInfo for field accesses
refs #8062
2014-12-12 08:58:39 +01:00
Gunnar Beutner
a9e2bc4b40 Implement a way to call methods on objects
fixes #8071
2014-12-11 21:12:34 +01:00
Gunnar Beutner
364f1daff8 Fix another crash in ThreadPool::Stop
refs #8059
2014-12-11 09:45:57 +01:00
Gunnar Beutner
874970db9e Fix crash in ThreadPool::Stop
fixes #8059
2014-12-11 09:34:57 +01:00
Gunnar Beutner
2720333d6e Fix missing location information for included files
fixes #7927
2014-12-10 15:06:09 +01:00
Gunnar Beutner
c1ac548a77 Escape special characters in repository file names
fixes #7618
2014-12-10 13:20:16 +01:00
Gunnar Beutner
d88856a994 Fix failing unit tests
refs #8043
2014-12-10 11:25:20 +01:00
Gunnar Beutner
89a0fc006e Implement a boolean sub-type for the Value class
fixes #8043
2014-12-10 09:05:16 +01:00
Gunnar Beutner
44b87aeff6 Fix typeof() for numbers
fixes #8028
2014-12-09 16:43:09 +01:00
Gunnar Beutner
cf2b6e7ccc Improve output of ToString for type objects
fixes #8020
2014-12-08 09:12:40 +01:00
Gunnar Beutner
57f84741b9 Register type objects as global variables
fixes #8019
2014-12-08 08:49:32 +01:00
Gunnar Beutner
04ca634a16 Fix typeof incorrectly returning null for arrays and dictionaries
fixes #8002
2014-12-08 08:36:03 +01:00
Gunnar Beutner
b5c7e2de4e Make the ThreadPool spawn fewer threads 2014-12-06 19:23:27 +01:00
Michael Friedrich
9f66587d84 Rename static timer variables 2014-12-05 16:32:14 +01:00
Gunnar Beutner
cefa469ee6 ScriptUtils: Make sure arguments aren't null
fixes #8003
2014-12-05 14:59:12 +01:00
Gunnar Beutner
7d93788650 Fix crash in the unit tests
fixes #7769
2014-12-04 21:50:22 +01:00
Gunnar Beutner
1c07f5111a Fix a memory leak in the ReadLineContext class
fixes #7602
2014-12-01 10:36:38 +01:00
Gunnar Beutner
d19821c900 Properly reset the ThreadPool status in Stop
refs #7822
2014-11-28 11:32:37 +01:00
Gunnar Beutner
ab63fca3d5 Make the config parser thread-safe
fixes #7822
2014-11-28 06:48:27 +01:00
Gunnar Beutner
a8b7710800 Fix crash in CreateCert
fixes #7862
2014-11-27 09:35:24 +01:00
Gunnar Beutner
358d91e912 Remove the __parent field in the DynamicObject class
refs #7748
2014-11-27 06:32:12 +01:00
Gunnar Beutner
c220a99f2d Implicitly convert Number argument to string for operator +
fixes #7823
2014-11-25 12:33:08 +01:00
Gunnar Beutner
fddead5303 Fix some compiler warnings
fixes #7826
2014-11-24 18:25:08 +01:00
Gunnar Beutner
4d125edc0d Move the cast functions into libbase
fixes #7807
2014-11-24 07:09:51 +01:00
Gunnar Beutner
a1b231e069 Remove unused parameter
refs #7805
2014-11-24 01:05:19 +01:00
Gunnar Beutner
ca28a51373 Remove unused code in the ThinMutex class
refs #7805
2014-11-24 01:01:39 +01:00
Gunnar Beutner
16cf274efc Improve test coverage for the array class 2014-11-23 09:50:11 +01:00
Gunnar Beutner
f5766f9118 Refactor the stack frame handling for scripts
fixes #7748
2014-11-22 19:24:03 +01:00
Gunnar Beutner
334e61037a Split DynamicObject::OnConfigLoaded into two separate events
refs #7780
2014-11-21 18:31:37 +01:00
Gunnar Beutner
80e6854ce6 Fix incorrect return type for ScriptSignal::Invoke
refs #7744
2014-11-20 19:43:50 +01:00
Gunnar Beutner
5321bc4643 Don't validate strings in the JSON parser
fixes #7730
2014-11-20 10:09:13 +01:00
Gunnar Beutner
6cadde82bd Avoid rebuilding libbase when the version number changes
fixes #7647
2014-11-20 10:02:34 +01:00
Gunnar Beutner
f84cc8de39 Implement support for signals
fixes #7744
2014-11-20 06:54:48 +01:00
Gunnar Beutner
77b746841a Provide a specialized function overload for Convert::ToDouble(const Value&) 2014-11-17 14:00:13 +01:00
Gunnar Beutner
1d16875b95 Comment out InitializeProcThreadAttributeList (for now)
fixes #7681
2014-11-17 09:45:35 +01:00
Gunnar Beutner
9386a58bf2 Implement an experimental variable to limit the number of threads 2014-11-16 13:14:42 +01:00
Gunnar Beutner
814589ac17 Use Array::Contains in InExpression/NotInExpression 2014-11-15 08:22:32 +01:00
Gunnar Beutner
0324cbff7c Fix crash in StreamLogger::~StreamLogger 2014-11-13 20:12:23 +01:00
Gunnar Beutner
8e4148d33c Use Application::Exit to implement the exit() script function 2014-11-13 15:59:40 +01:00
Gunnar Beutner
7321e45abc Implement support for executing remote commands
fixes #7559
2014-11-13 14:54:55 +01:00
Gunnar Beutner
f20d9010c0 Fix deadlock in ThreadPool::Stop 2014-11-13 10:00:49 +01:00
Gunnar Beutner
02fef3f84a Remove unions from the DebugInfo class 2014-11-13 09:02:43 +01:00
Gunnar Beutner
e692ca16cd Add missing Stop call in the Logger class
fixes #7652
2014-11-13 09:02:23 +01:00
Gunnar Beutner
a14928ec10 Improve error messages for the Process class 2014-11-13 08:53:12 +01:00
Gunnar Beutner
6ef4e313d9 Remove obsolete mutex profiling code
refs #7622
2014-11-13 06:13:18 +01:00
Gunnar Beutner
f592a13481 Make sure all threads are dead before calling fork()
fixes #7653
2014-11-12 21:27:36 +01:00
Gunnar Beutner
e5bd573756 Implement the __get_object function 2014-11-12 19:08:36 +01:00
Gunnar Beutner
4f417b4912 Add release barrier in ObjectLock::Unlock
refs #7648
2014-11-12 13:18:34 +01:00
Gunnar Beutner
1c0102ff9b Fix incorrect field name
refs #7648
2014-11-12 12:46:33 +01:00
Gunnar Beutner
a2c5887e51 Fix crash when daemonizing Icinga
refs #7648
2014-11-12 12:44:14 +01:00
Gunnar Beutner
c5a5d1833b Add missing barriers for Object::m_LockOwner
refs #7648
2014-11-12 12:32:14 +01:00
Gunnar Beutner
dfd24e6359 Fix _DEBUG define on *NIX 2014-11-12 11:34:59 +01:00
Gunnar Beutner
02c559eff9 Fix crash in the unit tests
fixes #7648
2014-11-12 09:33:13 +01:00
Gunnar Beutner
e4bfb5f922 Fix static initializers for Utility::AddDeferredInitializer
fixes #7646
2014-11-12 08:00:56 +01:00
Gunnar Beutner
83a2e4c350 Allow thin mutex calls to be inlined
refs #7622
2014-11-12 06:50:52 +01:00
Gunnar Beutner
02a7d97b17 Allow locks to be inlined
refs #7622
2014-11-12 06:33:20 +01:00
Gunnar Beutner
ecd31b86ad Remove debug code
refs #7622
2014-11-12 00:06:51 +01:00
Gunnar Beutner
2d7ce62438 Add missing default arguments
refs #7622
2014-11-11 23:48:17 +01:00
Gunnar Beutner
ca75584d88 Allow String class members to be inlined 2014-11-11 23:46:06 +01:00
Gunnar Beutner
36d108528f Allow Value class members to be inlined 2014-11-11 23:28:53 +01:00
Gunnar Beutner
ee980a788b Clean up the code a bit 2014-11-11 23:06:47 +01:00
Gunnar Beutner
9932f60522 Fix _DEBUG define
refs #7634
2014-11-11 16:40:27 +01:00
Gunnar Beutner
a5a869f390 Enable ASSERT() for *NIX debug builds
refs #7634
2014-11-11 16:36:20 +01:00
Gunnar Beutner
11710ef683 Fix static initializers
refs #7634
2014-11-11 13:24:44 +01:00
Gunnar Beutner
65be09215f Avoid unnecessary type lookups
refs #7622
2014-11-10 20:07:07 +01:00
Gunnar Beutner
478f03b49a Replace boost::shared_ptr with boost::intrusive_ptr
refs #7622
2014-11-09 16:54:41 +01:00
Gunnar Beutner
187d443447 Implement support for thin mutexes
refs #7622
2014-11-09 16:54:33 +01:00
Gunnar Beutner
e1c95d4fa0 Improve config compiler's memory usage 2014-11-08 13:21:51 +01:00
Gunnar Beutner
ade12dc27a Remove unused attributes 2014-11-07 21:43:00 +01:00
Gunnar Beutner
9e2aa4c5ed Fix problem with unresolved symbols
refs #7561
2014-11-07 18:37:28 +01:00
Gunnar Beutner
266b1754c7 Speed up type lookups
refs #7561
2014-11-07 12:39:32 +01:00
Gunnar Beutner
3cf08ad050 Properly report errors when CreateProcess() fails
fixes #7599
2014-11-07 10:01:44 +01:00
Gunnar Beutner
61e090595e Fix build problem on Windows
fixes #7597
2014-11-06 14:21:22 +01:00
Gunnar Beutner
064407d3c9 Fix dynamic_cast problem
fixes #7586
2014-11-06 09:05:12 +01:00
Gunnar Beutner
9e16e1d395 Remove some obsolete references to cJSON
refs #7452
2014-11-05 16:47:11 +01:00
Gunnar Beutner
cfc418c9eb Fix operator shared_ptr<T> for the Value class
fixes #7586
2014-11-05 16:09:22 +01:00
Gunnar Beutner
a6f20c7a22 Implement support for arbitrarily complex indexers
fixes #7566
2014-11-04 15:20:33 +01:00
Gunnar Beutner
6cafce5d7e Build fix for RHEL 5 2014-11-04 11:18:35 +01:00
Gunnar Beutner
19a6a65aad Implement the random() function 2014-11-03 17:21:33 +01:00
Gunnar Beutner
aa94563eb5 Implement the keys() function
fixes #7557
2014-11-03 13:05:14 +01:00
Gunnar Beutner
60859043c8 Fix non-unity builds 2014-11-03 07:07:54 +01:00
Gunnar Beutner
170c5a59e4 Implement typeof() function 2014-11-03 00:45:14 +01:00
Gunnar Beutner
4677014b6d Implement support for arrays in custom variables
fixes #6544
2014-11-02 07:27:50 +01:00
Michael Friedrich
bc83c9a698 CLI Commands: Remove timestamp prefix when logging output
fixes #7376
2014-10-31 22:01:36 +01:00
Gunnar Beutner
6f160eda47 Remove static_cast optimization for Value's operator shared_ptr<T> 2014-10-31 14:34:28 +01:00
Gunnar Beutner
3fc3f05bb4 Implement field attribute to hide fields in command auto-completion
fixes #7403
2014-10-31 08:53:25 +01:00
Gunnar Beutner
9f7c97051e Hide attributes in command auto-completion which cannot be set
refs #7403
2014-10-31 08:49:14 +01:00
Michael Friedrich
3709ec73ea Add Utility::SetFileOwnership() on Linux
refs #7476
2014-10-30 19:52:22 +01:00
Gunnar Beutner
ff12522a62 Fix operator== for Value and String comparisons
refs #7472
2014-10-30 13:04:00 +01:00
Michael Friedrich
4fe486c4dd Cli: Fix overwriting api.conf; Move black/whitelist functionality into AgentUtility class
refs #7253
fixes #7481
2014-10-29 19:21:52 +01:00
Gunnar Beutner
ceca27e25b Fix Utility::GetFQDN() on OS X
fixes #7495
2014-10-29 16:54:33 +01:00
Gunnar Beutner
8251a60044 Make sure that OnStateLoaded is called for all objects
fixes #7482
2014-10-29 11:14:32 +01:00
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
Gunnar Beutner
98c3431dda Add missing == operator for the Value class.
Refs #5036
2013-11-08 21:12:22 +01:00
Gunnar Beutner
e546cd854d Clean up the DynamicType class.
Refs #5036
2013-11-08 16:07:21 +01:00
Gunnar Beutner
0a67e760bd Optimize GraphiteWriter::SendMetric.
Fixes #5037
2013-11-08 15:43:14 +01:00
Gunnar Beutner
a84536bea3 Implement serializer support for arbitrary classes.
Fixes #5024
2013-11-08 14:08:59 +01:00
Gunnar Beutner
038be974e4 Implement additional operators for the Value and String classes.
Refs #2710
2013-11-07 16:07:52 +01:00
Gunnar Beutner
14553139ae Implement String::FindFirstNotOf.
Refs #2710
2013-11-07 16:07:52 +01:00
Gunnar Beutner
6acc017707 Remove namespace qualifiers for boost::make_shared and boost::enable_shared_from_this.
Fixes #5012
2013-11-07 08:28:33 +01:00
Gunnar Beutner
5e68746128 Implement Utility::DemangleSymbolName on Windows.
Fixes #5010
2013-11-05 20:26:05 +01:00
Gunnar Beutner
27f527d0ad Implement String::GetData.
Fixes #5008
2013-11-05 18:59:39 +01:00
Gunnar Beutner
2617521ce3 Fix exception in Exception in IdoPgsqlConnection::Query.
Fixes #5002
2013-11-05 13:35:59 +01:00
Gunnar Beutner
b5b56e5438 Implement Type::GetBaseType().
Refs #4996
2013-11-05 08:56:35 +01:00
Gunnar Beutner
b1ddc71925 Merge ReflectionObject methods into the Object class.
Refs #4996
2013-11-05 08:56:30 +01:00
Gunnar Beutner
2140cef041 Implement the ReflectionType class.
Refs #4996
2013-11-05 08:56:18 +01:00
Gunnar Beutner
3cfccba1ea Implement "hello world" test app.
Refs #4995
2013-11-05 08:34:34 +01:00
Gunnar Beutner
22f0f388a7 Link libase against libdl.
Fixes #4994
2013-11-04 09:38:13 +01:00
Gunnar Beutner
8586f90379 Implement support for loading OS X libraries.
Refs #4993
2013-11-04 07:49:51 +01:00
Gunnar Beutner
ee07cc9d06 Fix: ASSERT in WorkQueue::Enqueue fails
Refs #4991
2013-11-03 13:57:18 +01:00
Gunnar Beutner
f2307c4242 Add cmake build files.
Refs #4962
2013-11-03 13:45:26 +01:00
Gunnar Beutner
2c143fbdf8 Remove unused files.
Refs #4962
2013-11-03 11:12:47 +01:00
Gunnar Beutner
375c5a53c6 Don't join threads that are already dead.
Refs #4990
2013-11-03 10:58:57 +01:00
Gunnar Beutner
8279fbd633 Fix deadlock in ThreadPool::Join.
Refs #4989
2013-11-02 10:38:54 +01:00
Gunnar Beutner
fcc96cfe8f Fix compilation with Visual Studio 2013.
Refs #4987
2013-11-01 00:13:30 +01:00
Gunnar Beutner
6abf16e6ed Fix deadlock in ThreadPool::Join.
Refs #4986
2013-10-31 19:10:36 +01:00
Gunnar Beutner
7a751eb8af Fix DynamicObject::HasAuthority.
Refs #4979
2013-10-30 15:59:14 +01:00
Gunnar Beutner
4ce0f1e7bb Implement WorkQueue::GetThreadId.
Refs #4758
2013-10-30 13:13:09 +01:00
Gunnar Beutner
ef55412855 Fix libdl detection on FreeBSD.
Refs #4977
2013-10-30 13:01:50 +01:00
Gunnar Beutner
dc21088680 Fix make dist.
Refs #4976
2013-10-30 12:18:08 +01:00
Gunnar Beutner
9f1c4539dc Remove libltdl dependency.
Refs #4964
2013-10-30 12:00:55 +01:00
Gunnar Beutner
db4b3b78d6 Implement class compiler.
Refs #4963
2013-10-28 14:27:36 +01:00
Gunnar Beutner
ab402cbfaf Remove unused #includes. 2013-10-22 10:13:35 +02:00
Michael Friedrich
622e4d7f25 Start log flush timer after binding the stream.
refs #4890
2013-10-21 14:15:21 +02:00
Michael Friedrich
07d9a59fe0 Flush StreamLogger periodically.
fixes #4890
2013-10-21 14:09:14 +02:00
Gunnar Beutner
3cb6e3bf82 Make sure to #include <pthread_np.h> on FreeBSD. 2013-10-21 09:52:45 +02:00
Michael Friedrich
39f11334ab Add NOTIFICATION{AUTHOR,AUTHORNAME,COMMENT} macros.
fixes #4914
2013-10-19 00:19:16 +02:00
Gunnar Beutner
e5b3a59aa3 Set thread names for the BufferedStream thread procs. 2013-10-18 11:46:19 +02:00
Gunnar Beutner
89d313008d Fix: GraphiteWriter: reconnect on broken socket.
Fixes #4883
2013-10-18 09:11:21 +02:00
Gunnar Beutner
c824fc4f9f Fix error message. 2013-10-18 08:48:15 +02:00
Gunnar Beutner
917f288a95 Clean up socket code. 2013-10-18 08:26:48 +02:00
Gunnar Beutner
c4941bb3c5 Close all file descriptors before restarting.
Refs #4905
2013-10-17 18:24:35 +02:00
Gunnar Beutner
5647694c2a Build fix. 2013-10-17 15:52:26 +02:00
Gunnar Beutner
65f4176fa8 Fix deadlock in WorkQueue::Join(). 2013-10-17 15:49:53 +02:00
Gunnar Beutner
492aed030e Improve the error message for GetX509Certificate(). 2013-10-17 15:46:50 +02:00
Gunnar Beutner
fa845775a2 Fix crashes when restarting Icinga. 2013-10-17 10:56:42 +02:00
Gunnar Beutner
b4ab6c8253 Re-implement WorkQueue item limit. 2013-10-17 10:19:17 +02:00
Gunnar Beutner
eed901304a Fix deadlock in WorkQueue::Enqueue(). 2013-10-17 09:14:06 +02:00
Gunnar Beutner
a03c58f27e MakeSSLContext: Check if keys match. 2013-10-15 21:24:55 +02:00
Gunnar Beutner
1bce8cec97 Fix: ZlibStream doesn't work even if libssl supports zlib.
Fixes #4848
2013-10-15 12:59:49 +02:00
Gunnar Beutner
db90a785db Win64 build fix. 2013-10-10 23:30:05 +02:00
Gunnar Beutner
494fb90547 Make sure Registry<> types are unique. 2013-10-10 23:07:34 +02:00
Gunnar Beutner
1b0977a512 Windows build fix. 2013-10-10 23:07:33 +02:00
Gunnar Beutner
fdc3f32544 Make bug message somewhat more useful. 2013-10-10 14:29:23 +02:00
Gunnar Beutner
fe5c925a63 Windows build fix. 2013-10-09 15:03:24 +02:00
Gunnar Beutner
3f922e5eac Implement Application::GetVersion().
Fixes #4801
2013-10-09 08:46:31 +02:00
Gunnar Beutner
d36e2ebd1a Build fix for CentOS 5.9.
Fixes #4819
2013-10-08 15:43:36 +02:00
Gunnar Beutner
f449eb9e84 Implement Utility::Random(). 2013-10-03 22:10:46 +02:00
Michael Friedrich
e8bd81bddc db_ido: Add idoutils 1.x schema, check required 1.10.0 version.
fixes #4766
2013-09-27 15:56:22 +02:00
Gunnar Beutner
1e4d38725b Make sure WorkQueue::m_Executing is initialized. 2013-09-26 10:25:04 +02:00
Gunnar Beutner
bf1a800e39 Update copyright information. 2013-09-25 07:45:56 +02:00
Gunnar Beutner
137c726920 base: Limit work queue size. 2013-09-21 17:53:14 +02:00
Gunnar Beutner
132695a460 base: Limit buffer size for BufferedStream objects. 2013-09-20 09:45:05 +02:00
Gunnar Beutner
74a4432bad Fix: DynamicObject::HasPrivileges should always return true if privs == 0. 2013-09-19 14:47:17 +02:00
Gunnar Beutner
a10a4013c7 Change log timestamp format. 2013-09-19 00:06:14 +02:00
Gunnar Beutner
2487d7069c Fix workqueue dispatch. 2013-09-18 17:38:40 +02:00
Gunnar Beutner
3946c388c5 Fix lock contention in ThreadPool::Post. 2013-09-18 11:22:52 +02:00
Gunnar Beutner
db2f7d5bf3 Use short name for threadpool worker threads. 2013-09-18 09:32:16 +02:00
Gunnar Beutner
e7da4057f9 Implement support for work queues. 2013-09-18 09:09:16 +02:00
Gunnar Beutner
2ed8f1aaa7 Fix memory leak in NetString::ReadStringFromStream. 2013-09-18 07:47:46 +02:00
Gunnar Beutner
31a55987e5 cluster: Implement domain support. 2013-09-17 13:18:40 +02:00
Gunnar Beutner
21c35aabf4 Fix logging performance problem. 2013-09-16 08:59:28 +02:00
Gunnar Beutner
68ec21f13f cluster: Another fix for authority checks. 2013-09-13 07:50:23 +02:00
Gunnar Beutner
95909d82fe cluster: Implement authority checks. 2013-09-12 10:04:04 +02:00
Gunnar Beutner
8a1293f750 Improve error messages for socket error. 2013-09-12 07:50:09 +02:00
Gunnar Beutner
4c23245898 Re-enable TLS compression (again). 2013-09-11 17:12:28 +02:00
Gunnar Beutner
7961dc4e78 Remove DynamicObject::Start call. 2013-09-11 15:38:04 +02:00
Gunnar Beutner
3261ad7106 ThreadPool: Add missing lock. 2013-09-11 10:42:36 +02:00
Gunnar Beutner
7fcde9eca8 cluster: Fix idle timeout. 2013-09-11 09:18:15 +02:00
Gunnar Beutner
d4bb2102fb Revert "Revert "Enable TLS compression.""
This reverts commit 1a9c4b6a37.
2013-09-11 08:52:47 +02:00
Gunnar Beutner
1a9c4b6a37 Revert "Enable TLS compression."
This reverts commit b95d0d3264.
2013-09-11 07:53:41 +02:00
Gunnar Beutner
b95d0d3264 Enable TLS compression. 2013-09-11 07:48:47 +02:00
Gunnar Beutner
15fae2bf2a Refactor how Application objects work. 2013-09-10 16:03:36 +02:00
Gunnar Beutner
a14e72c292 Fix null ptr for Application::GetInstance(). 2013-09-09 14:10:04 +02:00
Gunnar Beutner
161c933edc Build fix: Check if pthread_setname_np() is available. 2013-09-08 13:13:37 +02:00
Gunnar Beutner
4bf0f6b21f Remove unused field. 2013-09-05 09:59:57 +02:00
Gunnar Beutner
7e7a565770 cluster: Send config updates. 2013-09-04 15:47:15 +02:00
Gunnar Beutner
e05f270459 base: Don't set thread name for the first thread. 2013-09-03 15:44:31 +02:00
Gunnar Beutner
fe0fb171d0 Remove debug code. 2013-09-03 14:10:57 +02:00
Gunnar Beutner
ba6be063b6 cluster: Compress log files. 2013-09-03 14:05:03 +02:00
Gunnar Beutner
ec6326b55e Fix incorrect indentation. 2013-09-02 12:02:43 +02:00
Gunnar Beutner
6ed052ce85 base: Don't throw exception for valid netstrings. 2013-09-02 11:09:29 +02:00
Gunnar Beutner
d5650c90c9 Fix grammar mistake. 2013-09-02 10:53:01 +02:00
Gunnar Beutner
2db418118b Fix build warning. 2013-09-01 06:04:23 +02:00
Gunnar Beutner
86e2f3dd81 Windows build fix. 2013-09-01 06:01:27 +02:00
Gunnar Beutner
e8c61a578f Implement restarting Icinga. 2013-08-30 14:27:24 +02:00
Gunnar Beutner
519ce78727 Implement script variables IcingaPrefixDir, IcingaLocalStateDir, IcingaPkgLibDir, IcingaPkgDataDir and IcingaStatePath. 2013-08-30 12:04:24 +02:00
Gunnar Beutner
7f52e04a01 Implement OS-specific support for thread names. 2013-08-30 10:19:32 +02:00
Gunnar Beutner
c9ec28440e Another bugfix for the event order. 2013-08-29 19:25:34 +02:00
Gunnar Beutner
a3eed67774 Fix order for startup events. 2013-08-29 19:05:06 +02:00
Gunnar Beutner
91724814d8 Fix: State file doesn't work for generated service objects. 2013-08-29 16:53:57 +02:00
Gunnar Beutner
fa9ab6c768 Build fix. 2013-08-29 16:09:11 +02:00
Gunnar Beutner
4800329410 Add log message to DynamicObject::RestoreObjects(). 2013-08-29 16:08:03 +02:00
Gunnar Beutner
52b645ed17 Increase minimum number of threads. 2013-08-29 15:49:11 +02:00
Gunnar Beutner
911f64c411 Fix state file functionality. 2013-08-29 10:40:43 +02:00
Gunnar Beutner
f134ed61bc Fix: ::Start must be called after restoring the state file.
Fixes #4654
2013-08-29 10:17:12 +02:00
Gunnar Beutner
1de88b0559 Fix the ASSERT() macro. 2013-08-29 09:04:33 +02:00
Gunnar Beutner
e0c452bb00 Build fix for --enable-debug. 2013-08-28 16:49:58 +02:00
Gunnar Beutner
58a932ab6f Add error info for ftruncate() call. 2013-08-28 10:48:19 +02:00
Gunnar Beutner
f39f69d390 Refactor ASSERT macro. 2013-08-28 08:18:58 +02:00
Gunnar Beutner
42cc9cc9b5 Bug fix for ThreadPool::KillWorker(). 2013-08-27 15:57:00 +02:00
Gunnar Beutner
f49bb3d150 Refactor JSON-RPC library and implement check-result messages. 2013-08-27 12:21:41 +02:00
Gunnar Beutner
e9e55cd8c0 Remove the replication feature and clean up the code. 2013-08-26 14:56:38 +02:00
Gunnar Beutner
82b3b81b91 Windows build fix. 2013-08-20 08:29:38 +02:00
Gunnar Beutner
74822e929a Implement missing + operator for the Value class.
Fixes #4497
2013-08-19 08:53:59 +02:00
Gunnar Beutner
7a87fc0d5e Fix INITIALIZE_ONCE(). 2013-08-01 11:15:11 +02:00
Gunnar Beutner
b9e988f309 Fix include guards for initialize.h. 2013-08-01 11:10:02 +02:00
Gunnar Beutner
bdd2adc85e Implement INITIALIZE_ONCE(). 2013-08-01 11:08:06 +02:00
Gunnar Beutner
a8f880e1b6 Fix compiler warning. 2013-07-31 08:29:45 +02:00
Gunnar Beutner
73beb278cf compat: Fix timestamps. 2013-07-25 09:45:40 +02:00
Gunnar Beutner
28726e5025 Implement status updates for services. 2013-07-24 10:55:04 +02:00
Gunnar Beutner
cab2b41e56 Implement shift operator for the Value class. 2013-07-23 09:11:53 +02:00
Gunnar Beutner
3a7bae618a Implement IDO (well, part of it anyway). 2013-07-16 10:19:13 +02:00
Michael Friedrich
36e9e9adbd custom attr: move into DynamicObject using GetCustom() 2013-07-12 15:13:05 +02:00
Michael Friedrich
a5d3b74da6 tcpsocket: fix fd on setsockopt SO_REUSEADDR 2013-07-12 11:03:36 +02:00
Gunnar Beutner
4961523e91 Add DECLARE_PTR_TYPEDEFS macro for Ptr/WeakPtr typedefs. 2013-07-09 08:43:52 +02:00
Michael Friedrich
8c3663ab0e stream: remove ReadLine maxLength
it doesn't do what its name suggests.

refs #4370
2013-07-04 09:41:51 +02:00
Michael Friedrich
80c91aa91e stream/livestatus: refactor ReadLine with context saving 2013-07-03 16:16:38 +02:00
Gunnar Beutner
d2b31f6a06 Implement notification conditions.
Fixes #2841
2013-06-26 09:08:50 +02:00
Gunnar Beutner
f3d0738e93 Implement script variables. 2013-06-25 09:21:42 +02:00
Gunnar Beutner
0d64a8fd32 Don't seal DynamicObject updates. 2013-06-19 10:37:50 +02:00
Gunnar Beutner
e30d3c5691 Implement command timeouts.
Fixes #2723
2013-06-13 12:05:24 +02:00
Gunnar Beutner
d042a181bd Refactor commands and implement event handlers.
Fixes #3877
Fixes #4001
2013-06-13 11:33:00 +02:00
Gunnar Beutner
4fadd3bfa0 Remove the ILogger interface.
Fixes #3860
2013-06-06 11:26:30 +02:00
Gunnar Beutner
b8669d67ca Fix inheritance for config types. 2013-06-06 11:26:00 +02:00
Gunnar Beutner
f4d04f8172 Fix ThreadPool exception on shutdown.
Fixes #3891
2013-05-13 09:58:24 +02:00
Gunnar Beutner
b4fa556ac6 Fix: ConfigItem types and names are not case-insensitive
Fixes #4044
2013-05-08 10:46:50 +02:00
Gunnar Beutner
10dff1d8c1 Removed dependency on boost/uuid. 2013-05-03 11:26:18 +02:00
Gunnar Beutner
4db8b09ff7 Build fix. 2013-04-22 11:39:23 +02:00
Gunnar Beutner
0fcbfdb236 Windows build fix. 2013-04-19 15:28:34 +02:00
Gunnar Beutner
d86767e8e3 Fix memory leak in the StdioStream class. 2013-04-19 15:06:45 +02:00
Gunnar Beutner
fe4fd67405 Bugfixes for the BufferedStream class. 2013-04-19 14:47:41 +02:00
Gunnar Beutner
5db55ea384 Fix 'make distcheck'. 2013-04-19 13:17:17 +02:00
Gunnar Beutner
fcdb690b48 Even more unit tests. 2013-04-19 12:58:16 +02:00
Gunnar Beutner
d0113e33da Add more unit tests. 2013-04-19 11:27:18 +02:00
Gunnar Beutner
8a1d24042d Implement complex 1.x timeperiod definitions. 2013-04-17 14:26:04 +02:00
Gunnar Beutner
2e600a7810 More bugfixes for timeperiods. 2013-04-16 10:55:23 +02:00
Gunnar Beutner
23b75fd30d Fix crash when application config item is missing. 2013-04-08 10:02:06 +02:00
Gunnar Beutner
4e5e488b17 Remove unused #include. 2013-04-08 09:49:53 +02:00
Gunnar Beutner
6ef5d2deba Fix FIFO bug. 2013-04-08 09:44:12 +02:00
Gunnar Beutner
06839ba4b0 Fix case where all threadpool threads are killed. 2013-04-05 14:32:16 +02:00
Gunnar Beutner
1682ff2839 Optimize replication messages. 2013-04-05 14:05:00 +02:00
Gunnar Beutner
d9730f5b83 Bugfixes for the replication component. 2013-04-05 12:09:26 +02:00
Gunnar Beutner
09f395a7de Refactor the socket subsystem. 2013-04-04 16:08:40 +02:00
Gunnar Beutner
ca4157ea24 Fix memory leaks in the config parser. 2013-04-04 13:51:36 +02:00
Gunnar Beutner
8ac0a80101 Bugfixes for the socket subsystem. 2013-04-02 11:08:35 +02:00
Gunnar Beutner
49c6c358b1 Bugfixes for the JSON-RPC sub-system. 2013-04-01 16:25:23 +02:00
Gunnar Beutner
b0c8f3f626 Make thread pool utilization calculation more accurate. 2013-03-28 12:14:39 +00:00
Gunnar Beutner
2e051ad9e2 Minor performance tweaks. 2013-03-27 18:02:51 +00:00
Gunnar Beutner
babc948cd0 Performance improvements for Value -> double conversions. 2013-03-27 06:26:42 +00:00
Gunnar Beutner
70e96aa2f0 Refactor ScriptFunctions. 2013-03-25 19:47:02 +00:00
Gunnar Beutner
ba152d6dc4 Windows build fix. 2013-03-25 18:01:02 +00:00
Gunnar Beutner
fd3e92ea0c Refactor AsyncTasks. 2013-03-25 17:36:15 +00:00
Gunnar Beutner
e739dfd88f EventQueue: Further changes to how we determine the optimal number of threads. 2013-03-25 16:12:25 +01:00
Gunnar Beutner
167be058f0 More EventQueue tuning. 2013-03-23 20:38:41 +01:00
Gunnar Beutner
8b065b36df Process class: Pipe FD should be blocking. 2013-03-23 18:36:28 +01:00
Gunnar Beutner
6b6be8eec3 Even more tuning. 2013-03-23 15:58:21 +01:00
Gunnar Beutner
dc2efae421 More tuning. 2013-03-23 12:54:14 +01:00
Gunnar Beutner
7ac65b0a47 Tune thread spawning behavior. 2013-03-23 12:50:07 +01:00
Gunnar Beutner
d04a04d897 Make the event queue adaptive. 2013-03-23 12:23:13 +01:00
Gunnar Beutner
27ceabf3c0 Process class: Use the global EventQueue instead of a custom queue. 2013-03-23 00:26:56 +01:00
Gunnar Beutner
28335db4ba Windows build fix. 2013-03-22 16:05:48 +01:00
Gunnar Beutner
97fee26289 Remove @threadsafety doc strings
Fixes #3889
2013-03-22 12:02:20 +01:00
Gunnar Beutner
c63684a72f Shell-escape macros. 2013-03-22 10:58:47 +01:00
Gunnar Beutner
1f570ea9f7 Implement Icinga1.x-style compat log file rotation
Fixes #3874
2013-03-20 11:11:46 +01:00
Gunnar Beutner
8e4cc0de25 Reschedule timers even if the OnTimerExpired handler threw an exception. 2013-03-19 16:12:28 +01:00
Gunnar Beutner
734f76af96 Windows build fix. 2013-03-18 22:40:40 +01:00
Gunnar Beutner
5cd387016d Refactored #includes (Part 6). 2013-03-18 19:02:42 +01:00
Gunnar Beutner
2a8bc3ca0f Refactor #includes (Part 5). 2013-03-18 17:39:40 +01:00
Gunnar Beutner
6e251251f0 Fix example time period. 2013-03-18 11:59:26 +01:00
Gunnar Beutner
e6553a7140 Fix unit tests. 2013-03-18 11:15:46 +01:00
Gunnar Beutner
c3975af6ec Refactor #includes (Part 4). 2013-03-18 11:02:18 +01:00
Gunnar Beutner
19726d2429 Linux build fix. 2013-03-17 22:14:40 +01:00
Gunnar Beutner
949b4c6356 Add missing file. 2013-03-17 20:22:41 +01:00
Gunnar Beutner
0bb0711d72 Refactor #includes (Part 2). 2013-03-16 21:18:53 +01:00
Gunnar Beutner
3073200b53 Cleaned up #includes (Part 1). 2013-03-15 18:21:29 +01:00
Gunnar Beutner
4e765c58de Another windows build fix. 2013-03-15 13:53:50 +01:00
Gunnar Beutner
b404798234 Implement support for Exception::GetLastStackTrace on OS X. 2013-03-15 13:44:45 +01:00
Gunnar Beutner
8d52535fad Windows build fix. 2013-03-15 13:39:53 +01:00
Gunnar Beutner
fae83d2ef6 Fix symbol visibility issue for REGISTER_CONFIG_FRAGMENT(). 2013-03-15 12:27:03 +01:00
Gunnar Beutner
9a05e2b269 Windows build fix. 2013-03-15 11:52:10 +01:00
Gunnar Beutner
ee46731f41 Fix --disable-shared
Fixes #3852
2013-03-15 11:21:16 +01:00
Gunnar Beutner
0f9acdffbb Fix: Only take one work item from the event queue per iteration. 2013-03-15 09:10:57 +01:00
Gunnar Beutner
7c46bb4f7d Use 'explicit' for constructors. 2013-03-14 23:52:52 +01:00
Gunnar Beutner
49620ef0ed XNU build fixes. 2013-03-14 15:14:07 +01:00
Gunnar Beutner
1ef7399cea Remove support for anonymous dictionary items. 2013-03-14 12:40:02 +01:00
Gunnar Beutner
442a2dbc7d Implement timeperiods. 2013-03-13 16:04:53 +01:00
Gunnar Beutner
98ab009b91 Cleaned up VS project files. 2013-03-12 19:49:24 +01:00
Gunnar Beutner
c594ee7c30 Fix compiler warnings on Windows. 2013-03-12 18:56:13 +01:00
Gunnar Beutner
98f7515eee Fix writing the PID file if there is no previous PID file. 2013-03-12 16:02:35 +01:00
Gunnar Beutner
5fcdc51e3c Windows build fix. 2013-03-12 15:35:51 +01:00
Gunnar Beutner
62cb4e14a6 Make mode variable const. 2013-03-12 14:50:40 +01:00
Gunnar Beutner
9ea0cb4353 Truncate the PID file before writing the new PID. 2013-03-12 14:06:59 +01:00
Gunnar Beutner
fc337a51e7 Add missing default implementation for DynamicObject::Stop(). 2013-03-12 14:01:11 +01:00
Gunnar Beutner
d7492ab823 Remove libpopen_noshell. 2013-03-12 14:01:01 +01:00
Gunnar Beutner
69a2842d4e Implement DynamicObject::Stop(). 2013-03-12 13:48:37 +01:00
Gunnar Beutner
3c363499bb Eliminate the Component class.
Fixes #3832
Fixes #3840
2013-03-12 13:45:54 +01:00
Gunnar Beutner
91c82263a5 Fix some deadlocks in the TlsStream class. 2013-03-12 11:56:14 +01:00
Gunnar Beutner
4b2d828b99 Refactor the init script and remove the -d option.
Fixes #3666
2013-03-12 11:48:45 +01:00
Gunnar Beutner
412a44e697 Windows build fix. 2013-03-11 14:08:55 +01:00
Gunnar Beutner
d8edd98e41 Add more information to exceptions. 2013-03-11 13:47:17 +01:00
Gunnar Beutner
6f51230a79 Don't instantiate abstract objects.
Fixes #3669
2013-03-11 12:04:10 +01:00
Gunnar Beutner
c728e85c8c Implement attribute filters. 2013-03-10 15:11:32 +01:00
Gunnar Beutner
98ba1424b5 Implement proper support for JSON arrays. 2013-03-10 09:08:59 +01:00
Gunnar Beutner
a38263b3c8 Implement livestatus commands. 2013-03-10 05:10:51 +01:00
Gunnar Beutner
27505536f9 Add livestatus component. 2013-03-10 03:09:01 +01:00
Gunnar Beutner
375746d710 Fix deadlocks in the Socket/Stream classes. 2013-03-09 15:56:56 +01:00
Gunnar Beutner
5a861b0de0 Fix race condition in Process::WorkerThreadProc. 2013-03-09 15:41:07 +01:00
Gunnar Beutner
bac7495f49 Check for invalid value type. 2013-03-09 12:57:26 +01:00
Gunnar Beutner
84fcf24fa3 Add missing return value. 2013-03-09 12:57:07 +01:00
Gunnar Beutner
56dc7c4e0a Add missing "*/". 2013-03-09 12:56:40 +01:00
Gunnar Beutner
9b44a5c35d Fixed incorrect macro name. 2013-03-09 12:53:04 +01:00
Gunnar Beutner
16b0722cbc Added more templates. 2013-03-08 16:02:33 +01:00
Gunnar Beutner
13436cb536 Catch exceptions in EventQueue::QueueThreadProc. 2013-03-08 14:43:07 +01:00
Gunnar Beutner
756d465ca9 Use TLS for last exception stack trace. 2013-03-08 14:42:41 +01:00
Gunnar Beutner
cada2abeb3 Implement automated stacktraces for exceptions. 2013-03-07 19:44:39 +01:00
Gunnar Beutner
e2416b5b54 Check return values of SymGetLineFromAddr64 and SymFromAddr. 2013-03-07 16:00:10 +01:00
Gunnar Beutner
e54604c0e3 *NIX build fix. 2013-03-07 15:16:01 +01:00
Gunnar Beutner
fa3f01667f Implemented stacktrace support for Windows. 2013-03-07 15:00:26 +01:00
Gunnar Beutner
97dd87ab96 Fixed compiler warnings. 2013-03-07 08:14:55 +01:00
Gunnar Beutner
659fcf8fa3 Fix cppcheck warnings. 2013-03-06 15:41:13 +01:00
Gunnar Beutner
6f7b553acd Bugfixes for the *:Invalidate*Cache() calls. 2013-03-06 13:01:51 +01:00
Gunnar Beutner
70fa21dfbc Various bugfixes. 2013-03-06 11:04:20 +01:00
Gunnar Beutner
be95f3171d Even more code refactoring. 2013-03-04 15:52:42 +01:00
Gunnar Beutner
a6d26a2dc1 Windows build fix. 2013-03-02 14:21:13 +01:00
Gunnar Beutner
48485c5f26 More lock refactoring. Yay. 2013-03-02 09:07:47 +01:00
Gunnar Beutner
572a477da3 Refactored object locking code. 2013-03-01 12:07:52 +01:00
Gunnar Beutner
959b7fa16a Implement support for deserializing JSON arrays. 2013-02-28 14:06:30 +01:00
Gunnar Beutner
b674d46557 Implemented the LONGDATETIME, SHORTDATETIME, DATE and TIME macros. 2013-02-28 10:27:33 +01:00
Gunnar Beutner
e9d32eeada Implemented user groups. 2013-02-27 21:49:03 +01:00
Gunnar Beutner
e9648f35bc Make the services/notifications caches thread safe.
Send notifications based on the notification_interval setting.
2013-02-27 12:44:51 +01:00
Gunnar Beutner
45f8bfb730 Checker: Use Ptrs rather than WeakPtrs.
Fixes #3732
2013-02-26 10:58:32 +01:00
Gunnar Beutner
f027f1681b Windows build fix. 2013-02-26 10:57:44 +01:00
Gunnar Beutner
35c79a76c1 Make attribute lookups O(1). 2013-02-26 10:13:54 +01:00
Gunnar Beutner
d011f09f32 Windows build fixes. 2013-02-24 08:52:09 +01:00
Gunnar Beutner
022be22fa2 Added some missing files. 2013-02-24 08:27:00 +01:00
Gunnar Beutner
2ef255b9f6 Fine-grained locks (WIP, Part 9). 2013-02-24 01:10:34 +01:00
Gunnar Beutner
404b1807e6 Removed PCH support (as it's clearly not working properly). 2013-02-22 08:12:43 +01:00
Gunnar Beutner
4306c6c07a Fine-grained locks (WIP, Part 8). 2013-02-21 16:12:50 +01:00
Gunnar Beutner
5e91f6c54d Fine-grained locks (WIP, Part 7). 2013-02-20 19:52:25 +01:00
Gunnar Beutner
997ca3a77a Fine-grained locks (WIP, Part 6). 2013-02-19 23:02:08 +01:00
Gunnar Beutner
1daeb8c010 Fine-grained locks (WIP, Part 5). 2013-02-19 12:17:31 +01:00
Gunnar Beutner
ecc95b3dc0 Fine-grained locks (WIP, Part 4). 2013-02-19 07:26:52 +01:00
Gunnar Beutner
3dace35cf1 Fine-grained locks (WIP, Part 3). 2013-02-18 23:44:24 +01:00
Gunnar Beutner
a4c7052a6e Fine-grained locks (WIP, Part 2). 2013-02-18 14:40:24 +01:00
Gunnar Beutner
c63c28dd9c Fine-grained locks (WIP, Part 1). 2013-02-17 19:14:34 +01:00
Gunnar Beutner
79bf945868 Implement calling Python functions. 2013-02-16 07:49:36 +01:00
Gunnar Beutner
172938b19d Bugfix: Unlock thread mutex while waiting for events. 2013-02-16 07:27:45 +01:00
Gunnar Beutner
d0481ea578 Remove support for type hints. 2013-02-15 18:35:40 +01:00
Gunnar Beutner
4998563a74 Implemented calling ScriptFunctions from Python. 2013-02-15 16:34:33 +01:00
Gunnar Beutner
a022be9de2 Implemented Value::GetType(). 2013-02-15 14:39:26 +01:00
Gunnar Beutner
3ee1dbc94c Implement event for registering/unregistering script functions.
Fixes #3704
2013-02-15 10:10:41 +01:00
Gunnar Beutner
2e7e0c6473 Make ScriptFunction::GetFunctions() public. 2013-02-15 09:59:04 +01:00
Gunnar Beutner
4e03b916ff Bugfix: Set main EventQueue's owner as early as possible. 2013-02-15 09:58:38 +01:00
Gunnar Beutner
023d17c675 Implement per-thread event queues. 2013-02-15 06:48:30 +01:00
Gunnar Beutner
2faca52744 Bug fixes for script function calls. 2013-02-15 05:04:38 +01:00
Gunnar Beutner
2485a04694 Properly shut down the interpreter when the Script object is being destroyed. 2013-02-14 19:00:46 +01:00
Gunnar Beutner
8e672167dc Added missing lock() call. 2013-02-14 18:48:31 +01:00
Gunnar Beutner
8f2ce8e703 Implemented rudimentary function call forwarding for ScriptInterpreter objects. 2013-02-14 16:47:36 +01:00
Gunnar Beutner
d3928a7e69 Pass argc and argv to the Python interpreter. 2013-02-14 16:18:58 +01:00
Gunnar Beutner
d4afb4087d Properly shut down instances of the ScriptInterpreter class. 2013-02-14 15:39:53 +01:00
Gunnar Beutner
74b122d430 Implemented the 'Script' type. 2013-02-14 14:58:26 +01:00
Gunnar Beutner
7fac5b454e Basic support for other scripting languages. 2013-02-14 12:02:02 +01:00
Gunnar Beutner
099821ce07 Windows build fix. 2013-02-14 10:59:01 +01:00
Gunnar Beutner
c91191e701 Implement global mutex (for use by scripting languages). 2013-02-14 10:55:47 +01:00
Gunnar Beutner
49576d3a82 Use #if rather than #ifdef to check HAVE_* macros. 2013-02-14 10:55:15 +01:00
Gunnar Beutner
9412b2be35 Use -fvisibility=hidden when it's available. 2013-02-14 10:53:34 +01:00
Gunnar Beutner
f4d8791424 Fixed parameters for pipe2() call. 2013-02-13 21:05:58 +01:00
Gunnar Beutner
1d807d91bc Implemented dictionary support for commands. 2013-02-13 20:08:09 +01:00
Gunnar Beutner
cf094fe4b3 Bugfix: the main task fd must not be non-blocking. 2013-02-13 15:41:14 +01:00
Gunnar Beutner
26e2da7a7d Refactor the FD_CLOEXEC/O_NONBLOCK code. 2013-02-13 13:03:21 +01:00
Gunnar Beutner
fac2304ae5 Fixed incorrect use of F_SETFL. 2013-02-13 12:47:51 +01:00
Gunnar Beutner
4f2021633b Fixed incorrect use of O_CLOEXEC. 2013-02-13 12:39:47 +01:00
Gunnar Beutner
d076bb0a93 Fixed another file descriptor leak. 2013-02-13 12:34:25 +01:00
Gunnar Beutner
d2650df8b6 Cleaned up the Process class. 2013-02-13 11:48:19 +01:00
Gunnar Beutner
d6fcc33be4 Refactor the Process class. Remove the Windows implementation for now. 2013-02-13 11:39:24 +01:00
Gunnar Beutner
800750c415 Build fix. 2013-02-13 07:48:08 +01:00
Gunnar Beutner
b0d8c40d20 Process: repeat read() until we get EAGAIN. 2013-02-13 07:39:26 +01:00
Gunnar Beutner
a80872b314 Use pipe2() instead of pipe() when possible. 2013-02-13 07:33:14 +01:00
Gunnar Beutner
2893134940 Make Application::ProcessEvents() static. 2013-02-13 07:25:36 +01:00
Gunnar Beutner
cf920cd0f2 Wait for child processes before getting new tasks from the list. 2013-02-11 23:18:26 +01:00
Gunnar Beutner
2501ff805a Remove Host::OnInitCompleted and clean up the classes' constructors.
Fixes #3678
2013-02-11 14:01:52 +01:00
Gunnar Beutner
f6f771a3f6 Remove support for _DEBUG env var.
Fixes #3688
2013-02-11 13:46:02 +01:00
Gunnar Beutner
5fab16a223 Fixed uninitialized variable bug. 2013-02-11 06:38:30 +01:00
Gunnar Beutner
a3f03928d7 Process: use read() on *NIX. 2013-02-11 00:05:11 +01:00
Gunnar Beutner
bddd9ebf0b Implemented poll() support for Process tasks.
Fixes #3035
2013-02-10 23:31:11 +01:00
Gunnar Beutner
7ce98ed374 Use multiple worker threads for Process tasks. 2013-02-10 22:29:42 +01:00
Gunnar Beutner
aa2322abbb Fixed deadlock in Process::WorkerThreadProc. 2013-02-10 21:53:08 +01:00
Gunnar Beutner
67aef452e5 Windows build fix. 2013-02-10 19:09:35 +01:00
Gunnar Beutner
bd80f4597e Windows build fix. 2013-02-10 18:57:23 +01:00
Gunnar Beutner
4e9afd7c2c Build fix V2. 2013-02-10 17:44:03 +01:00
Gunnar Beutner
8667bba7e0 Build fix for *NIX systems with a non-GNU libc. 2013-02-10 17:15:18 +01:00
Gunnar Beutner
0e7a3c67ec Bugfixes for the Process class. 2013-02-10 12:45:39 +01:00
Gunnar Beutner
fc6df0ecbd Fixed 1 second delay for child processes. 2013-02-10 01:35:40 +01:00
Gunnar Beutner
ee37e0cace Implemented environment-based macros. 2013-02-09 23:02:33 +01:00
Gunnar Beutner
686191103f Fixed spelling mistake. 2013-02-09 18:43:11 +01:00
Gunnar Beutner
cf92cd83b3 Implement some dynamic macros.
Move check-specific code to service-check.cpp
2013-02-09 18:39:43 +01:00
Gunnar Beutner
3ab071fbcb Made the debug log level slightly less spammy. 2013-02-09 10:55:54 +01:00
Gunnar Beutner
85e469019f Windows bugfixes for Utility::DirName and Utility::Glob. 2013-02-09 10:43:11 +01:00
Gunnar Beutner
6c23481a55 Bugfix: Local events for changed attributes aren't processed at transaction commit time.
Fixes #3605
2013-02-08 23:40:28 +01:00
Gunnar Beutner
580f2e1fcc Use Host constructor/destructor/OnAttributeChange instead of OnCommitted/OnRemoved for Host->services
Fixes #3612
2013-02-08 21:05:08 +01:00
Gunnar Beutner
7526ee3a9e Bugfix: assert in Timer::ProcessTimers. 2013-02-08 10:39:54 +01:00
Gunnar Beutner
ad04a02153 Bugfix: Fixed incorrect variable name. 2013-02-08 10:30:32 +01:00
Gunnar Beutner
513b3d6820 Bugfix: Don't leak lock file's fd into child processes. 2013-02-08 10:23:01 +01:00
Gunnar Beutner
601c7d25d1 Implement sub-second check intervals.
Fixes #3656
2013-02-08 10:17:41 +01:00
Gunnar Beutner
dd9c7b9846 Flush logger stream after writing 'clear color' ANSI code. 2013-02-08 09:40:19 +01:00
Gunnar Beutner
607915c49a Windows: Fixed crash in Object::~Object(). 2013-02-07 22:13:34 +01:00
Gunnar Beutner
c04cfb9dac Make sure that unnamed items in a dictionary are always in the order they were inserted in. 2013-02-07 09:36:17 +01:00
Gunnar Beutner
f64bdc8788 Removed obsolete timeperiod code. 2013-02-06 12:59:56 +01:00
Gunnar Beutner
b887f14d96 Use BOOST_THROW_EXCEPTION instead of boost::throw_exception()
Fixes #3636
2013-02-06 12:51:12 +01:00
Gunnar Beutner
e047e06fc8 Finish implementing %validator.
Fixes #3634
2013-02-06 12:09:50 +01:00
Gunnar Beutner
eadb309dab Bugfix: Add missing parenthesis in function call. 2013-02-06 11:39:32 +01:00
Gunnar Beutner
53705d16dc Implement AsyncTask::Wait() and make completion callbacks optional. 2013-02-06 10:56:06 +01:00
Gunnar Beutner
7a150d2c29 Validate config objects before trying to activate them.
Fixes #3619
2013-02-05 13:06:42 +01:00
Gunnar Beutner
383d2369b1 Bugfix: Make sure Utility::Glob return false if no matching files were found. 2013-02-03 01:30:19 +01:00
Gunnar Beutner
5774792a23 Implemented --version and made --help output prettier. 2013-02-03 01:21:11 +01:00
Gunnar Beutner
dbf762e771 Use boost::program_options to parse arguments.
Fixes #3536
Fixes #3184
2013-02-02 23:22:27 +01:00
Gunnar Beutner
f2e17bdd09 Fixed compiler warnings (-Wextra). 2013-02-02 22:13:54 +01:00
Gunnar Beutner
5438c86e76 Throw exception in Utility::ToDouble/Utility::ToLong
Fixes #3617
2013-02-02 20:19:00 +01:00
Gunnar Beutner
b74c2c8a68 Removed the old-style validation code. 2013-02-02 20:03:30 +01:00
Gunnar Beutner
33aba14197 Implement type keyword in the config compiler
Fixes #3616
2013-02-02 14:28:11 +01:00
Gunnar Beutner
18f935cfa2 Added missing const qualifiers. 2013-02-02 09:19:49 +01:00
Gunnar Beutner
11cf07fa9c Config: implement support for wildcard includes
Fixes #2771
2013-02-02 00:32:18 +01:00
Gunnar Beutner
04fd703e6a Windows build fix. 2013-02-01 23:10:48 +01:00
Gunnar Beutner
00b827d5cf Implement search dirs for #include.
Fixes #3599
2013-02-01 22:44:58 +01:00
Gunnar Beutner
66f28ae02b Build fix for Windows. 2013-02-01 19:36:47 +01:00
Gunnar Beutner
05d0dc5683 Display "debug message" for exceptions (in addition to SIGABRT). 2013-02-01 19:11:15 +01:00
Gunnar Beutner
8a469e190f Fixed some more compiler warnings (when using -Wall). 2013-02-01 19:02:07 +01:00
Gunnar Beutner
ee6ba4e5e9 Bug: clearing attributes should only reset their value and tx rather than deleting them entirely
Fixes #3604
2013-02-01 19:01:51 +01:00
Gunnar Beutner
7835563e03 Fixed some compiler warnings. 2013-02-01 15:44:03 +01:00
Gunnar Beutner
df1199f206 Updated messages in the SIGABRT handler. 2013-02-01 14:46:06 +01:00
Gunnar Beutner
0ca8012079 Made warning and critical messages bold. 2013-02-01 14:21:11 +01:00
Gunnar Beutner
886fd3a5b8 Implemented colored log messages. 2013-02-01 14:12:24 +01:00
Gunnar Beutner
f5a3dc4d84 Config: Warn about unknown attributes. 2013-02-01 14:11:22 +01:00
Gunnar Beutner
e928b1fabf Bugfix: Missing parent object causes assert in ReplicationComponent::Stop
Fixes #3601
2013-02-01 11:46:52 +01:00
Gunnar Beutner
24e2d1d3f2 Use boost::lexical_cast instead of stringstreams. 2013-01-31 10:10:51 +01:00
Gunnar Beutner
e967d931fd Fixed building with --disable-shared. 2013-01-30 23:52:11 +01:00
Gunnar Beutner
b27465feae Fixed incorrect parameters for memset(). 2013-01-30 20:49:25 +01:00
Gunnar Beutner
ff0e6d91d2 Move exception_handler into libbase. Add handler for SIGABRT.
Fixes #3590
2013-01-30 11:51:15 +01:00
Gunnar Beutner
c9bcc5c8bd Bugfix: Loading state files was broken.
Fixes #3562
2013-01-30 10:53:06 +01:00
Gunnar Beutner
7c65757219 Implement Utility::NewUUID().
Fixes #3589
2013-01-30 09:08:48 +01:00
Gunnar Beutner
08bb9470b3 Updated VS project files. 2013-01-29 15:47:38 +01:00
Gunnar Beutner
07a1249a97 Add some more missing files. 2013-01-29 15:47:38 +01:00
Gunnar Beutner
8e8e607b2e Implement downtimes.
Fixes #2833
2013-01-29 14:19:54 +01:00
Gunnar Beutner
76f37c1d71 Implement Convert class, move existing type conversion functionality there
Fixes #3580
2013-01-29 12:05:46 +01:00
Gunnar Beutner
3ffe8707ab Fix string_iless performance issue. 2013-01-28 09:43:54 +01:00
Gunnar Beutner
2e78899347 Implement statistics for passive service checks. 2013-01-28 09:01:47 +01:00
Gunnar Beutner
9413466cef Disallow DynamicObject::Set() for config variables.
Fixes #3573
2013-01-25 10:12:55 +01:00
Gunnar Beutner
02de634c12 Implement REGISTER_SCRIPTFUNCTION() and clean up how check types are registered. 2013-01-22 09:21:50 +01:00
Gunnar Beutner
7dc761236d Remove InitializeLibrary TODO.
Closes #3538
2013-01-22 09:04:36 +01:00
Gunnar Beutner
54ce8d51d8 Implement support for time periods. 2013-01-21 13:47:36 +01:00
Gunnar Beutner
9c74bfd5be Implement String::ToDouble().
Fixes #3544.
2013-01-21 13:44:17 +01:00
Gunnar Beutner
8f2aea6958 Made String::Split() const. 2013-01-21 13:29:00 +01:00
Gunnar Beutner
5b4712c55b Fixed incorrect argument name. 2013-01-21 13:21:10 +01:00
Gunnar Beutner
853dbfa82e Implemented command pipe (sort of). 2013-01-21 13:08:08 +01:00
Gunnar Beutner
51bad2d2a6 Fix: DynamicObject::Unregister() failed to unregister objects. 2013-01-18 09:55:05 +01:00
Gunnar Beutner
70c66fa542 Implemented the #library directive and fixed loading icinga.dll on Windows. 2013-01-17 15:05:34 +01:00
Gunnar Beutner
747e3e7de8 Fixed bug with invalid type in state files. 2013-01-17 15:03:44 +01:00
Gunnar Beutner
ea115a2c8c Fixed DynamicObject::DumpObjects(). 2012-12-04 15:41:07 +01:00
Gunnar Beutner
28e58df3aa Removed obsolete comment. 2012-12-04 15:37:41 +01:00
Gunnar Beutner
83772d4386 Implemented DynamicType support.
Fixes #3477
2012-12-04 08:42:24 +01:00
Gunnar Beutner
8e687ea7fe Added some more code documentation. 2012-11-26 08:29:26 +01:00
Gunnar Beutner
d26af07e48 Build fix for *NIX. 2012-11-23 12:34:06 +01:00
Gunnar Beutner
0785a082e9 Minor cleanups. 2012-11-23 11:04:08 +01:00
Gunnar Beutner
334bfe388a Implemented the StdioStream and UnixSocket classes. 2012-11-23 11:03:33 +01:00
Gunnar Beutner
1055a306c9 Build fix for *NIX. 2012-11-22 12:12:24 +01:00
Gunnar Beutner
321d66023f Refactored the socket classes. 2012-11-22 12:04:32 +01:00
Gunnar Beutner
482742f00e Fixed incorrect use of boost::algorithm::is_iless. 2012-10-31 12:06:21 +01:00
Gunnar Beutner
a5f361b7b6 Made type and attribute names case-insensitive.
Fixes #3223
2012-10-23 15:57:45 +02:00
Gunnar Beutner
98f1244271 Fix: Added missing DLL exports for Windows. 2012-10-17 12:03:07 +02:00
Gunnar Beutner
e57bf22d82 Fix: Renaming temp files didn't work on Windows.
Fixes #3216
2012-10-17 11:35:06 +02:00
Gunnar Beutner
69bf01155d Added missing GPL headers. 2012-10-16 10:41:54 +02:00
Gunnar Beutner
ec0e319d8a Don't write local-only objects to the state file. 2012-10-12 10:16:03 +02:00
Gunnar Beutner
115489a531 Fixed loading components when using a custom --libdir. 2012-10-02 09:26:17 +02:00
Gunnar Beutner
47fa56a805 Added methods for retrieving the installation prefix and local state dir. 2012-09-28 13:16:08 +02:00
Gunnar Beutner
e55aa712b5 Made IComponent::GetConfig() usable in IComponent::Start().
Fixes #3200
2012-09-28 10:40:12 +02:00
Gunnar Beutner
5ff640fd14 Fixed Utility::Sleep on Windows. 2012-09-27 10:05:54 +02:00
Gunnar Beutner
0cb232f494 Handle some exceptions that previously caused crashes. 2012-09-27 09:58:16 +02:00
Gunnar Beutner
c5479057f7 Make exception messages more verbose. 2012-09-27 09:38:28 +02:00
Gunnar Beutner
74a3bca0f6 Fixed crash in Utility::Daemonize().
Fixes #3194
2012-09-27 08:21:07 +02:00
Gunnar Beutner
426ff0b706 Added missing GPL header in scripttask.cpp. 2012-09-25 15:46:24 +02:00
Gunnar Beutner
2f0f1dcd64 Removed win32.cpp / unix.cpp files as they were no longer needed. 2012-09-25 15:45:19 +02:00
Gunnar Beutner
edf812b6b5 Removed ::Sleep and implemented Utility::Sleep. 2012-09-25 15:41:43 +02:00
Gunnar Beutner
e1fc41e735 Sleep for 5 seconds rather than 5 milliseconds. 2012-09-25 15:35:46 +02:00
Gunnar Beutner
f8aa5f67a2 Fixed grammar mistakes. 2012-09-25 15:33:51 +02:00
Gunnar Beutner
980913d980 Properly deal with time changes (2nd attempt). 2012-09-25 15:24:14 +02:00
Gunnar Beutner
c81fd071e6 Detect local time changes. 2012-09-25 14:03:41 +02:00
Gunnar Beutner
345ebe8061 Changed timestamp format (again).
Fixes #3153
2012-09-25 09:02:28 +02:00
Gunnar Beutner
b9b009b6da Build fix for Windows. 2012-09-21 16:28:14 +02:00
Gunnar Beutner
bb8935fe9b Added Win64 build support. 2012-09-21 16:15:36 +02:00
Gunnar Beutner
5921337b46 Merged convenience component into libicinga. 2012-09-21 13:49:14 +02:00
Gunnar Beutner
97829fbfcd Cleaned up the code a bit. 2012-09-21 09:43:06 +02:00
Gunnar Beutner
852ad5d964 Added Utility::GetPid() helper function. 2012-09-19 13:00:48 +02:00
Gunnar Beutner
8e2801e062 Updated documentation. 2012-09-19 12:32:39 +02:00
Gunnar Beutner
ff0af9d65e Fixed more doxygen warnings. 2012-09-17 14:47:43 +02:00
Gunnar Beutner
fee4246f55 Updated doxygen documentation. 2012-09-17 13:35:55 +02:00
Gunnar Beutner
86c0aff719 Build fix for Windows. 2012-09-17 11:13:35 +02:00
Gunnar Beutner
d79a7fca0d Removed unused ThreadPool class. 2012-09-14 14:44:54 +02:00
Gunnar Beutner
063d69ed96 Added missing doc strings. 2012-09-14 14:41:17 +02:00
Gunnar Beutner
9bc93ce4a9 Renamed 'doc' to 'docs'.
Moved Doxygen files to docs/.
Removed cJSON directory.
Moved libraries into lib/.
Renamed 'config' to 'm4'.
Renamed 'dyn' library to 'config'.
2012-09-07 10:27:31 +02:00