Commit graph

2125 commits

Author SHA1 Message Date
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