Commit Graph

965 Commits

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