Gunnar Beutner
c6a753b67e
Make sure base classes are registered in the right order
...
refs #12408
2016-08-12 14:18:59 +02:00
Gunnar Beutner
24431b3dab
Register deprecated methods in the 'Deprecated' namespace
...
refs #12408
2016-08-12 13:42:22 +02:00
Gunnar Beutner
2a40a71ffa
Change scoping mechanism for the __using keyword
...
refs #12408
2016-08-12 13:14:10 +02:00
Gunnar Beutner
9f67b185b8
Make sure all constructors properly initialize the ScriptFrame object
...
refs #12408
2016-08-12 11:42:59 +02:00
Gunnar Beutner
c5a170a972
Implement support for namespaces
...
fixes #12408
2016-08-12 11:32:16 +02:00
Gunnar Beutner
132ee6c558
Use InterlockedIncrement instead of a mutex in CreatePipeOverlapped
...
refs #10075
2016-08-11 09:48:01 +02:00
Gunnar Beutner
e09fb88cae
Make sure functions are registered with the correct prefix
...
refs #12393
2016-08-10 16:33:17 +02:00
Gunnar Beutner
54bbaf9f7d
Implement support for marking functions as deprecated
...
fixes #12393
2016-08-10 15:48:05 +02:00
Timo Buhrmester
148b4da285
Don't violate POSIX by ensuring that the argument to usleep(3) is less than 1000000
...
fixes #12391
Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2016-08-10 12:29:52 +02:00
Gunnar Beutner
37bd5ad800
Fix race condition in CreatePipeOverlapped
...
fixes #10075
2016-08-10 12:12:56 +02:00
Gunnar Beutner
39bde8078c
Disallow casting "" to an Object
...
fixes #12390
2016-08-10 11:14:33 +02:00
Gunnar Beutner
e8ae1dc4a6
Include compiler name/version and build host name in --version
...
fixes #12389
2016-08-10 08:09:44 +02:00
Gunnar Beutner
dc06209e4a
Move internal script functions into the 'Internal' namespace
...
fixes #12338
2016-08-10 06:55:44 +02:00
Gunnar Beutner
f3bb628d6e
Improve logging for the WorkQueue class
...
fixes #12336
2016-08-09 12:39:07 +02:00
Gunnar Beutner
4c7e2994a7
Handle I/O errors while writing the Icinga state file more gracefully
...
fixes #12334
2016-08-09 10:59:08 +02:00
Gunnar Beutner
ff293661fc
Rename/Remove experimental script functions
...
fixes #12332
2016-08-09 10:43:55 +02:00
Gunnar Beutner
9f425cdcaf
Fix building Icinga with -fvisibility=hidden
...
fixes #12331
2016-08-09 09:00:19 +02:00
Gunnar Beutner
231fd8d38b
Build fix for CentOS 5
...
refs #11292
2016-08-08 15:27:16 +02:00
Gunnar Beutner
8deeb73bb8
Register a new script frame in Function::Invoke
...
fixes #9848
2016-08-08 14:12:08 +02:00
Uwe Ebel
b2ac05ad7d
Make the minimum TLS protocol version configurable
...
The ApiListener accepts all TLS versions that the underlying
OpenSSL library supports. This patch give the ability to restrict
the connection to a minimum TLS version.
fixes #11292
Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2016-08-03 07:46:50 +02:00
Gunnar Beutner
546bdbcf6a
'Sandboxed' property isn't properly propagated to child frames
...
refs #12247
2016-07-29 14:11:52 +02:00
Gunnar Beutner
ee75094128
Change how Array#reduce works
...
refs #12247
2016-07-29 11:09:46 +02:00
Gunnar Beutner
a3815e4efd
Add map/reduce and filter functionality for the Array class
...
fixes #12247
2016-07-29 10:48:15 +02:00
Gunnar Beutner
cdda3bad8c
Include client IP address and port in HTTP requests
...
fixes #11706
2016-07-25 09:43:13 +02:00
Stephan Tesch
431c110056
Improve error reporting for the client certificate check
...
Until now, client certificates that have failed verification were reported as not being signed by the CA. That is not true for all cases. This patch adds an explanation in the debug log why verification failed.
fixes #12201
2016-07-25 09:22:35 +02:00
Gunnar Beutner
caf2812f0d
Implement the __ptr function
...
fixes #12205
2016-07-22 09:43:59 +02:00
Michael Friedrich
e712d6ffe7
Fix error message for specified ciphers
...
refs #11063
2016-07-19 20:13:34 +02:00
Uwe Ebel
1ca8b293cb
Make the cipher list configurable for TLS streams
...
fixes #11063
Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2016-07-18 13:40:00 +02:00
Gunnar Beutner
60c52f2109
Fix crash on Windows
...
fixes #11730
2016-07-12 15:33:44 +02:00
Michael Friedrich
915ebe17cd
ConfigCompiler should not log included files by default
...
fixes #11419
2016-07-05 15:43:48 +02:00
Michael Friedrich
9b873d60c2
Ensure to clear the SSL error queue before calling SSL_{read,write,do_handshake}
...
fixes #12100
2016-07-05 15:25:02 +02:00
Michael Friedrich
85afec8952
Fix setsockopt() error on Windows
...
refs #12003
2016-07-05 13:16:14 +02:00
Gunnar Beutner
6de6ea5e42
Build fix for OpenSSL 1.1.0
...
fixes #12044
2016-06-27 08:28:22 +02:00
Gunnar Beutner
428850a6b3
Fix: ConfigWriter::EmitScope incorrectly quotes dictionary keys
...
fixes #12016
2016-06-22 12:35:47 +02:00
Simon Murray
e3645aa2f7
Fix hanging API connections
...
There was a problem identified where an upstream API connection was found hanging waiting
for a TLS handshake to complete. Seeingly the TCP connection was ESTABLISHED locally but
not cleanly terminated remotely. The Socket events layer never triggered the TLS handshake
oddly. This however enables TCP keep alive packets to detect broken connections, raising
EPOLLERR and breaking the deadlock condition so that the agent will attempt to reconnect
at a later time.
fixes #12003
Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2016-06-22 09:25:00 +02:00
Gunnar Beutner
e3f1c1ec6f
Make sure timestamps are formatted as integers in macro strings
...
refs #11483
2016-06-21 11:29:12 +02:00
Gunnar Beutner
039461e218
Fix unit tests for Convert::ToString
...
refs #11483
2016-06-16 15:32:29 +02:00
Gunnar Beutner
bc6f7d7a21
Fix incorrect formatting for some macro values
...
fixes #11483
2016-06-16 15:14:35 +02:00
Gunnar Beutner
ff57b0ccd6
Add name attribute for the WorkQueue class
...
fixes #10816
2016-06-14 09:08:04 +02:00
Markus Frosch
a5abe1a972
Allow debugging of Utility::GetTime
...
So we can run unit tests that expect a certain behavior based on time.
When Icinga 2 is compiled with I2_DEBUG one can use Utility::SetTime to
override the current system time, and lock it to this value.
fixes #11875
2016-06-09 14:25:51 +02:00
Gunnar Beutner
bc12d6c0d6
Fix race condition in ConfigObject::SetAuthority
...
fixes #11784
2016-05-12 14:06:28 +02:00
Gunnar Beutner
1ad4d9cd27
Report failed reload attempts for the icinga check
...
fixes #9060
fixes #9997
fixes #11129
2016-05-11 16:07:28 +02:00
Gunnar Beutner
fc1168ed3e
Only activate HARunOnce objects once there's a cluster connection
...
fixes #11765
2016-05-11 12:50:40 +02:00
Gunnar Beutner
2adfcb56fe
Improve error handling for TlsStream::Handshake
...
fixes #11046
2016-05-11 10:09:54 +02:00
Gunnar Beutner
eab2fb79ad
Fix crash in UnameHelper()
...
fixes #11714
2016-05-10 09:46:48 +02:00
Gunnar Beutner
b8e911b0e5
Make sure the dependency graph is properly updated when adding and removing objects
...
fixes #11686
fixes #11374
2016-05-09 14:30:12 +02:00
Gunnar Beutner
8b7d59eb34
Implement support for subjectAltName in SSL certificates
...
fixes #11556
2016-04-21 15:25:57 +02:00
Gunnar Beutner
2d55cf1341
Implement validation for the Logger#severity attribute
...
fixes #11646
2016-04-21 13:50:47 +02:00
Gunnar Beutner
22cf939086
Build fix for Windows
...
refs #11612
2016-04-19 14:48:13 +02:00
Gunnar Beutner
d2cd4b6667
Improve performance for locks and value conversions
...
refs #11612
2016-04-19 09:38:22 +02:00
Gunnar Beutner
ab95670833
Build fix for older boost versions
...
refs #11612
2016-04-18 17:21:45 +02:00
Gunnar Beutner
3008d5ef31
Improve performance for field accesses
...
fixes #11612
2016-04-18 17:05:22 +02:00
Gunnar Beutner
955df528d7
Fix error message for the EventEngine variable
...
refs #11522
2016-04-18 15:02:02 +02:00
Gunnar Beutner
d8b0502d67
Make the socket event engine configurable
...
fixes #11522
2016-04-18 14:38:59 +02:00
Gunnar Beutner
327d12295c
Implement support for upgrading NSIS-based installations
...
refs #11449
2016-04-01 08:42:58 +02:00
Gunnar Beutner
6bf3225e84
Implement support for running custom install/uninstall actions
...
refs #11449
2016-03-31 14:53:54 +02:00
Gunnar Beutner
112f024810
Build fix for GCC
...
refs #9839
2016-03-29 14:52:48 +02:00
Michael Friedrich
5dd685cef9
Fix socket exceptions while querying the API
...
fixes #11224
2016-03-29 13:52:37 +02:00
Gunnar Beutner
eb0892273e
Implement the DateTime class
...
fixes #9839
2016-03-29 13:27:20 +02:00
Gunnar Beutner
016f47d6e6
Fix Utility::MkDirP on Windows
...
fixes #11455
2016-03-29 09:44:05 +02:00
Gunnar Beutner
796884343b
Another build fix for Win64
...
refs #11462
2016-03-29 08:42:02 +02:00
Gunnar Beutner
b863a84471
Build fix for Win64
...
refs #11462
2016-03-29 07:54:41 +02:00
Gunnar Beutner
6ba0c5fe01
Implement recursion limit for AST expressions which don't use a separate stack frame
...
fixes #11106
2016-03-23 09:03:49 +01:00
Gunnar Beutner
71060be89a
Follow symlinks in Utility::GlobRecursive
...
fixes #11347
2016-03-22 08:22:11 +01:00
Michael Friedrich
65cbf04454
Fix: MkDirP supports '/' and '\' on Windows
...
fixes #10231
2016-03-07 09:22:07 +01:00
Tobias von der Krone
ce3062904f
Use the server's preferred cipher for the API connection
...
When using SSL_OP_CIPHER_SERVER_PREFERENCE the server's preferred cipher
is used instead of the client preference, see
https://www.openssl.org/docs/manmaster/ssl/SSL_CTX_set_options.html
fixes #11290
2016-03-04 14:57:06 +01:00
Michael Friedrich
d14477c242
Fix MkDirP() on Windows
...
fixes #10231
2016-03-03 15:54:35 +01:00
Gunnar Beutner
47521904c1
Attempt to fix race condition problem with epoll_ctl()
...
refs #11289
2016-03-03 13:38:13 +01:00
Michael Friedrich
47c5425137
Fix permissions for temporary files
...
fixes #11212
fixes #11211
2016-02-24 11:00:44 +01:00
Michael Friedrich
4cb5b97e52
Fix unique creation of temp files
...
fixes #10948
2016-02-23 12:30:59 +01:00
Gunnar Beutner
bc6d82c560
Build fix for CentOS 5
...
fixes #11179
2016-02-22 08:12:35 +01:00
Gunnar Beutner
9a8458fd67
Rename the IOTHREADS macro
...
refs #11014
2016-02-16 13:30:55 +01:00
Jean Flach
58a31e8166
Use ConfigWriter class in repositoryutility.cpp
...
refs #10989
2016-02-09 15:59:19 +01:00
Jean Flach
fa1d633484
Rephrase some log messages
...
refs #11122
2016-02-09 15:59:19 +01:00
Gunnar Beutner
674badd3ce
Build fix
...
fixes #11096
2016-02-09 13:56:17 +01:00
Gunnar Beutner
9e7da9837e
Revert "Windows build fix"
...
This reverts commit f06f6d4d86
.
2016-02-09 13:54:19 +01:00
Jean Flach
4d87c96d06
Refactor String-Escape in repositoryutility
...
fixes #10989
2016-02-09 09:38:12 +01:00
Jean Flach
393a6bf641
Remove unused variables
...
fixes #11111
2016-02-08 17:10:12 +01:00
Michael Friedrich
f06f6d4d86
Windows build fix
...
fixes #11096
2016-02-05 10:55:16 +01:00
Gunnar Beutner
611ff869e1
Implement support for epoll
...
refs #11014
2016-02-04 16:31:59 +01:00
Gunnar Beutner
caf3380e73
Fix memory leak in Stream::Close
...
refs #10655
2016-02-03 13:02:49 +01:00
Gunnar Beutner
2dc385e31b
Fix memory/thread leak in the HttpServerConnection class
...
fixes #10655
2016-02-03 09:54:31 +01:00
Gunnar Beutner
fabf37e79c
Improve performance for TlsStream::OnEvent
...
refs #11014
2016-02-02 13:51:17 +01:00
Gunnar Beutner
532655d482
Use multiple threads for socket IO
...
refs #11014
2016-02-02 11:17:33 +01:00
Gunnar Beutner
3f95e86c73
Remove debug log message
...
refs #11014
2016-02-02 09:54:31 +01:00
Gunnar Beutner
ecfaf019fd
Avoid unnecessary pollfd updates
...
refs #11014
2016-02-02 09:52:23 +01:00
Gunnar Beutner
83889dcbb0
Increase the buffer size in TlsStream::OnEvent to avoid unnecessary poll() calls
...
refs #11014
2016-02-02 08:28:54 +01:00
Gunnar Beutner
e6a972f975
Fix incorrect memcpy() with overlapping buffers
...
refs #11014
2016-02-01 12:58:42 +01:00
Gunnar Beutner
c03e458e13
Avoid unnecessary new/deletes
...
refs #11014
2016-02-01 09:33:33 +01:00
Gunnar Beutner
6fc91a38eb
Avoid unnecessary reallocs in FIFO::Optimize
...
refs #11014
2016-01-28 13:09:17 +01:00
Gunnar Beutner
56e7c24f1f
Avoid unnecessary dictionary lookups in SocketEvents::ThreadProc
...
refs #11014
2016-01-28 13:07:09 +01:00
Gunnar Beutner
fe421d76fb
Remove debug output
...
refs #11014
2016-01-28 12:23:07 +01:00
Gunnar Beutner
4237c6eaaa
Avoid unnecessary wake-ups in SocketEvents::ChangeEvents (part 2)
...
refs #11014
2016-01-28 11:55:31 +01:00
Gunnar Beutner
75f7fe10e1
Avoid unnecessary wake-ups in SocketEvents::ChangeEvents
...
refs #11014
2016-01-28 09:05:49 +01:00
Gunnar Beutner
3c76e70fe2
Avoid updating the file descriptor list for poll() unless we really need to
...
refs #11014
2016-01-28 08:24:33 +01:00
Michael Friedrich
22c21ebd61
Implement String#trim
...
fixes #11037
2016-01-26 16:01:14 +01:00
Michael Friedrich
627814b8e7
Fix incorrect --version information
...
fixes #10784
2016-01-26 15:17:48 +01:00
Gunnar Beutner
23edd6cb8f
Add missing comment
...
refs #10988
2016-01-26 08:35:29 +01:00
Michael Friedrich
a4562fb433
Only set SSL_OP_NO_COMPRESSION if supported
...
OpenSSL 0.9.8 does not support this flag.
fixes #10988
2016-01-25 14:53:26 +01:00
Tobias von der Krone
1c67bf394c
Support TLSv1.1 and TLSv1.2 for the cluster transport encryption
...
From https://wiki.openssl.org/index.php/SSL/TLS_Client :
SSLv23_method specifies the protocols used and behavior of the handshake.
The method essentially means SSLv2 or above, and includes the TLS protocols.
The protocols are further tuned through SSL/TLS options. By using
SSLv23_method (and removing the SSL protocols with SSL_OP_NO_SSLv2 and
SSL_OP_NO_SSLv3), then you will use TLS v1.0 and above, including TLS v1.2.
You will also use a TLS handshake in the TLS Record.
If you use TLSv1_method, then you will only use TLS v1.0.
fixes #10988
2016-01-20 16:48:00 +01:00
Gunnar Beutner
db0c6ef187
Only build leak detection code when I2_LEAK_DEBUG is set
...
refs #10963
2016-01-19 16:43:46 +01:00
Gunnar Beutner
e4b7111577
Check the certificate name when reconnecting to an instance
...
refs #10963
2016-01-19 16:24:12 +01:00
Gunnar Beutner
b1aa6cc98a
Decrease memory usage for the Object class
...
refs #10963
2016-01-19 16:24:07 +01:00
Gunnar Beutner
d50c8e1085
Improve debug support for analyzing memory leaks
...
refs #10963
2016-01-19 15:24:17 +01:00
Jean Flach
cb70d97dcf
Plug two memory leaks
...
refs #10963
2016-01-15 10:11:52 +01:00
Gunnar Beutner
7f4af89a56
Ensure that HttpServerConnections are properly closed
...
fixes #10655
2016-01-13 10:30:38 +01:00
Gunnar Beutner
599929b0f6
Update copyright headers for 2016
2016-01-12 08:29:59 +01:00
Michael Friedrich
da3d21091c
Fix priority ordering for IDO queries
...
fixes #10829
refs #8714
2015-12-15 11:58:50 +01:00
Gunnar Beutner
15ca9987fa
Implement support for priorities in the WorkQueue class
...
fixes #8714
2015-12-10 17:06:00 +01:00
Gunnar Beutner
fba0b493cd
Make sure that all strings in the IDO database are UTF8-encoded
...
fixes #10554
2015-12-10 12:26:19 +01:00
Michael Friedrich
407a7502ae
Fix crash on startup with incorrect directory permissions
...
fixes #10739
2015-12-08 15:12:13 +01:00
Michael Friedrich
2a5a9d2f4b
Fix missing path in mkdir() exception
...
fixes #10748
2015-11-30 10:37:57 +01:00
Gunnar Beutner
3916ef0904
Build fix for Windows
...
refs #10693
2015-11-26 11:18:05 +01:00
Gunnar Beutner
b76fee5b98
Use the ZoneName and NodeName constants for 'node setup' and 'node wizard'
...
refs #10716
2015-11-25 17:43:12 +01:00
Michael Friedrich
3adedcd0a5
Improve performance for Zone::CanAccessObject
...
fixes #10711
2015-11-25 12:06:20 +01:00
Gunnar Beutner
9705e08ee0
Build fix for systems where strsignal() returns a const char *
2015-11-24 14:45:30 +01:00
Gunnar Beutner
2320f7a32a
Implement Platform* global variables
...
refs #10693
2015-11-23 13:10:25 +01:00
Gunnar Beutner
af441191f3
Fix crash in Process::IOThreadProc when building Icinga 2 with GCC 4.7.2
...
fixes #10648
2015-11-17 22:07:40 +01:00
Gunnar Beutner
7d8c8aac5a
Use notify_one in WorkQueue::Enqueue
...
fixes #10639
2015-11-16 08:13:55 +01:00
Gunnar Beutner
eb67f3779f
Fix incorrect error messages on Windows
...
fixes #10637
2015-11-15 21:18:27 +01:00
Michael Friedrich
545607be9f
Fix that custom attribute with function value cannot be cloned
...
fixes #10583
2015-11-11 14:18:25 +01:00
Gunnar Beutner
e3c75faabc
Implement support for recursive object locks
...
fixes #10596
2015-11-11 10:21:30 +01:00
Gunnar Beutner
2d2e7ecdb2
Improve location information for exceptions
...
fixes #10568
2015-11-10 17:05:40 +01:00
Gunnar Beutner
1667fbaf31
Build fix for Windows
2015-11-10 13:09:34 +01:00
Gunnar Beutner
0a6505ce2d
Use poll() for the command pipe fd
...
refs #10410
2015-11-10 11:41:21 +01:00
Gunnar Beutner
2cc33b7fb3
Don't validate arguments/parameters that aren't strings
...
refs #10539
2015-11-10 07:59:10 +01:00
Gunnar Beutner
9ea51aa86e
Use non-blocking open() for the command pipe
...
fixes #10410
2015-11-09 20:39:26 +01:00
Gunnar Beutner
5a74f69819
Fix memory leak for JSON-RPC/HTTP connections
...
fixes #10517
2015-11-09 10:22:52 +01:00
Gunnar Beutner
7621870278
Implement a debugger for Icinga scripts
...
fixes #10547
2015-11-05 14:29:45 +01:00
Gunnar Beutner
645f054980
Fix invalid field IDs in Type::GetField
...
refs #10387
2015-11-05 10:58:09 +01:00
Gunnar Beutner
783b58536f
Fix 'Invalid field ID' error when serializing Type objects
...
refs #10387
2015-11-05 10:52:25 +01:00
Gunnar Beutner
701961b73b
Fix the 'type' attribute for the Object class
...
refs #10387
2015-11-05 10:29:02 +01:00
Gunnar Beutner
a3fd33f8a1
Fix race condition in ConfigWriter::EmitIdentifier
...
fixes #10538
2015-11-04 19:05:47 +01:00
Gunnar Beutner
fe1c5e9507
Improve formatting for arrays
...
refs #10527
2015-11-04 17:06:33 +01:00
Gunnar Beutner
7378964f31
Fix indentation for nested dictionaries
...
refs #10527
2015-11-04 16:42:19 +01:00
Michael Friedrich
5d46f661ea
Implement 'console' cli command using the API
...
fixes #10387
2015-11-04 16:01:06 +01:00
Gunnar Beutner
a51bc4010a
Fix indentation for Dictionary::ToString
...
fixes #10527
2015-11-04 08:44:56 +01:00
Gunnar Beutner
51f473d08a
Implement the current_filename and current_line keywords
...
fixes #10243
2015-11-03 16:34:34 +01:00
Gunnar Beutner
ae23e456a6
Fix race condition in ConfigWriter::GetKeywords
...
fixes #10518
2015-11-03 09:46:45 +01:00
Gunnar Beutner
ed90d9a847
Fix race condition in CreatePipeOverlapped
...
fixes #10510
2015-11-01 12:59:57 +01:00
Gunnar Beutner
b2829ca522
Fix plural name for the Array type
...
fixes #10501
2015-11-01 10:35:31 +01:00
Gunnar Beutner
050c520b2a
Convert Comment/Downtime to config objects
...
fixes #9777
2015-10-28 17:56:29 +01:00
Gunnar Beutner
dd77863910
Implement Array::ToString and Dictionary::ToString
...
fixes #10329
2015-10-26 11:05:24 +01:00
Gunnar Beutner
fd2cd7a3a5
Use operator[] instead of insert() for Dictionary::Set
...
refs #10428
2015-10-23 06:19:46 +02:00
Michael Friedrich
d516d16c9a
Fix restore_attribute not working in clusters
...
fixes #10386
2015-10-22 14:50:43 +02:00
Michael Friedrich
286538c17e
Implement api event streams
...
Documentation is not yet complete.
refs #9078
2015-10-21 15:34:26 +02:00
Gunnar Beutner
e93dd3cf15
Ensure that the main thread pool gets re-initialized properly after fork()
...
refs #10410
2015-10-21 09:18:52 +02:00
Gunnar Beutner
d01f09f3ef
Hide internal attributes in the API
...
fixes #10393
2015-10-20 08:25:10 +02:00
Gunnar Beutner
5aa91551a5
Improve validation for CIDR masks
...
fixes #10375
2015-10-19 10:40:48 +02:00
Michael Friedrich
ed00ab04c7
Fix OSX control sequence
...
refs #9095
2015-10-16 13:46:43 +02:00