Commit Graph

635 Commits

Author SHA1 Message Date
Michael Insel e885cf71c6 Fix program option parsing
This fixes the program option parsing.
2018-06-12 19:02:48 +02:00
Jean Flach 9a5d464448 Revert "Fix Windows reload"
This reverts commit 691e3cfd57.
2018-06-12 12:19:16 +02:00
Michael Insel d868780e6d Fix unnecessary blank in log message
This fixes an unnecessary blank in the updating configuraiton log message.

information/cli: Updating ' "conf.d"' include in '/etc/icinga2/icinga2.conf'.

Should be:

information/cli: Updating '"conf.d"' include in '/etc/icinga2/icinga2.conf'.
2018-05-24 19:35:52 +02:00
Michael Friedrich f0f0b47057 Fix style and logging from review; enhance output
refs #4508
2018-05-08 16:59:09 +02:00
Jean Flach b8fc3a3ffa Small changes to node wizard/command
refs #4508
2018-05-08 16:33:06 +02:00
Michael Insel 662d36fd16 Warn in case of failed conf.d exclusion also on master setup
refs #4508
2018-05-08 16:33:04 +02:00
Jean Flach 026359d404 Rename "dont-disable-confd"
Double negation is confusing. Also this would change the default
behaviour and could lead to problems in automated environments.

refs #4508
2018-05-08 16:32:56 +02:00
Jean Flach a43cf8e9ef Warn in case of failed conf.d exclusion
refs #4508
2018-05-08 16:32:53 +02:00
Michael Insel 58f923f5f7 Allow to disable conf.d inclusion through node wizard/setup
This implements a function to disable the conf.d directory through the node wizard/setup.

refs #4508
2018-05-08 16:31:59 +02:00
Michael Friedrich e606a443b7 Add support for config validation log timestamps
This also adds implicit support for the startup.log
generated from API config package validation, e.g. used by
the Icinga Director.

fixes #3455
2018-05-03 11:35:29 +02:00
Michael Friedrich 7c0ef80279 Implement support for connection-less node setup (no csr auto-signing connect) 2018-04-06 19:49:01 +02:00
Michael Friedrich 9f2694bdc1 Unify setting the local and parent zone names for node wizard/setup 2018-04-06 19:18:19 +02:00
Michael Friedrich abdc479d6a Unify setting the master zone name for 'node wizard|setup` in master mode 2018-04-06 17:29:37 +02:00
Jean Flach a742e64e4d Fix reload handling
Make sure we have written the new PID before letting it take over.
2018-03-14 10:43:59 +01:00
Michael Insel 592d1c7d7e Replace std::vector:push_back with initializer list
This replaces a few std::vector::push_back calls with initializer lists.
2018-03-12 20:35:49 +01:00
Gunnar Beutner a9fb714578
Merge pull request #6116 from Icinga/fix/windows-service-restart
Fix Windows reload
2018-02-28 12:23:53 +01:00
Gunnar Beutner 5dd0bc8f97 Use std::vector<std::string> for command-line arguments 2018-02-26 08:36:11 +01:00
Michael a0aa781417 Implement ability to make global zones configurable
This adds the ability to make global zones configurable during the node
wizard/setup. The implementation will add the given global zones to the default
included global zones.
2018-02-26 08:36:11 +01:00
Jean Flach 691e3cfd57 Fix Windows reload 2018-02-23 17:01:46 +01:00
Jean Flach 6bb2ed4258 Merge branch 'feature/security-features' 2018-02-21 16:19:54 +01:00
Jean Flach 6ae376b7fd Add cli tool to send signals as Icinga user
fixes #5991
2018-02-20 14:16:43 +01:00
Jean Flach 54384528ed Fix crash in api user command 2018-02-20 09:45:55 +01:00
Jean Flach 0a0795f09d Code style 2018-02-16 11:47:13 +01:00
Gunnar Beutner 6e3347b5bf Remove debug output in ApiUserCommand::Run 2018-02-16 11:46:43 +01:00
Gunnar Beutner f4403daef8 Properly escape strings in ApiUserCommand::Run 2018-02-16 11:46:43 +01:00
Jean Flach 2bd35aa357 Improve api user command
--oneline can now be used to print out only the password hash string.
This can be used to update ApiUser passwords through the API. There is
also now a validation to make use salt does not contain a '$' which
would break verification.
2018-02-15 13:09:22 +01:00
Jean Flach 65a806f5dc Move new password functions into tlsutility 2018-02-15 13:09:22 +01:00
Jean Flach 92e2faaa08 Hash API password and comparison
fixes #4920
2018-02-15 13:09:22 +01:00
Gunnar Beutner b88149c455
Merge pull request #5979 from Icinga/feature/enhance-console-5595
Add quit, exit and help
2018-01-29 16:41:10 +01:00
Noah Hilverling 9cb7c9d7f7
Merge pull request #6020 from Icinga/fix/console-home-env
Fix crash when running 'icinga2 console' without HOME environment variable
2018-01-29 16:37:24 +01:00
Michael Insel 12c4a1be1f Fix build error on Windows
The `kill` and `SIGUSR2` statements are not available on Windows.
2018-01-28 22:00:36 +01:00
Gunnar Beutner 94e6be1a65 Remove unused includes 2018-01-22 09:52:29 +01:00
Gunnar Beutner 3e3658b7a5 Fix crash when running 'icinga2 console' without HOME environment variable
fixes #6019
2018-01-20 07:46:19 +01:00
Jean Flach c418a9611e Add systemd watchdog and adjust reload behaviour 2018-01-19 16:52:36 +01:00
Jean Flach 1da6b2c883 Fix whitespaces in CMakeLists files
Uses 2 space indentation as standard
2018-01-19 09:19:40 +01:00
Gunnar Beutner 2a9dceb367 Use CMake object libraries for our libs 2018-01-17 04:28:21 +01:00
Gunnar Beutner c2fb9fe226 Use initializer lists for arrays and dictionaries 2018-01-16 12:27:44 +01:00
Jean Flach e6412bf741
Improve console help text
Split continue and quit/exit commands
2018-01-15 15:31:53 +01:00
Jean Flach 74ae67d3b6
Update consolecommand.cpp
Rename to debug console in help
2018-01-15 14:40:31 +01:00
Jean Flach 0f6dc1289b Add quit, exit and help 2018-01-15 14:12:22 +01:00
Gunnar Beutner a36e847c6c Allocate ConfigItemBuilder objects on the stack 2018-01-11 10:52:26 +01:00
Gunnar Beutner e3ad0be769 Apply clang-tidy fix 'modernize-use-auto' 2018-01-04 12:24:57 +01:00
Gunnar Beutner 621eed3f13 Apply clang-tidy fix 'modernize-pass-by-value' 2018-01-04 12:24:57 +01:00
Gunnar Beutner 9ca682496c Apply clang-tidy fix 'modernize-use-override' 2018-01-04 12:24:57 +01:00
Gunnar Beutner ac155d1dda Apply clang-tidy fix 'modernize-redundant-void-arg' 2018-01-04 12:24:57 +01:00
Gunnar Beutner efe99a3e5e Add the final keyword to classes 2018-01-04 05:20:20 +00:00
Michael Friedrich cd33b8b508
Merge pull request #5936 from Icinga/feature/source-lists
Clean up source lists in the CMakeLists.txt files
2018-01-03 11:59:35 +01:00
Gunnar Beutner 75e2473616 Clean up source lists in the CMakeLists.txt files 2018-01-03 11:47:46 +01:00
Michael Friedrich 0e6f4b1966
Merge pull request #5939 from Icinga/fix/build-fix-wheezy
Build fix for Debian wheezy
2018-01-03 11:28:57 +01:00
Michael Friedrich 27a2d95338
Merge pull request #5932 from Icinga/feature/copyright-header
Fix copyright header in cli/troubleshootcommand.hpp
2018-01-03 10:56:07 +01:00
Gunnar Beutner abe3f8a959 Build fix for Debian wheezy 2018-01-03 10:32:33 +01:00
Gunnar Beutner 803dc0c05d Fix copyright header in cli/troubleshootcommand.hpp 2018-01-03 01:19:02 +01:00
Gunnar Beutner 90496b5456 Build libraries as static libraries 2018-01-02 23:29:48 +01:00
Michael Insel 158ae2188e Change copyright header for 2018 2018-01-02 12:08:55 +01:00
Jean Flach 2636e6a77a Whitespace fix
What does this change?
* Remove use of spaces for formatting
These could be found by using `grep -r -l -P '^\t+ +[^*]'
* Removal of training whitespaces
* A few lines longer than 120 chars
2017-12-20 14:53:52 +01:00
Michael Friedrich 5b44bfb125
Merge pull request #5868 from Icinga/feature/expression-ptr
Use std::unique_ptr for Expression objects
2017-12-18 09:54:30 +01:00
Gunnar Beutner 5d96196f08 Replace incorrect fclose() call with pclose() 2017-12-15 22:25:08 +01:00
Gunnar Beutner ab8386cf5c Use std::unique_ptr for Expression objects 2017-12-15 10:44:54 +01:00
Gunnar Beutner 1ad83886ac Replace a few more NULLs with nullptr 2017-12-14 15:37:20 +01:00
Gunnar Beutner 96e214221d Remove unused variables 2017-12-14 08:50:09 +01:00
Gunnar Beutner 3ce68b49c7 Fix compiler warning introduced by #5811 2017-12-12 11:54:47 +01:00
Michael Friedrich aec231b119
Merge pull request #5811 from Icinga/feature/update-constants-conf-api-setup
Update NodeName/ZoneName constants with 'api setup'
2017-12-07 17:35:46 +01:00
Gunnar Beutner 325e4a2fb9 Use nullptr instead of <Type>::Ptr() 2017-11-30 17:47:09 +01:00
Gunnar Beutner 3c60fbf75d Use std::vector::emplace_back instead of std::vector::push_back 2017-11-30 17:47:09 +01:00
Gunnar Beutner 2e87c280ed Use initializer lists instead of std::vector::push_back 2017-11-30 17:47:09 +01:00
Gunnar Beutner 9ce950b0f1 Replace boost::ref/boost::cref with std::ref/std::cref 2017-11-30 17:47:09 +01:00
Gunnar Beutner 6d09efc907 Use std::shared_ptr instead of boost::shared_ptr 2017-11-30 17:41:00 +01:00
Michael Friedrich f267135711 Update NodeName/ZoneName constants with 'api setup'
This commit also moves the constants.conf backup logic
into NodeUtility::UpdateConstant() where it belongs.

Logging has been slightly adopted too.

fixes #5763
2017-11-28 13:38:53 +01:00
Gunnar Beutner 858873b940 Replace boost::bind/boost::function with std::bind/std::function 2017-11-27 15:15:11 +01:00
Gunnar Beutner 81ae14cd17
Merge pull request #5729 from Icinga/fix/correct-node-wizard-output-formatting
Correct node wizard output formatting
2017-11-27 10:19:12 +01:00
Gunnar Beutner 65bc62266d Fix error reporting for 'icinga2 console -r' 2017-11-24 12:56:42 +01:00
Noah Hilverling e6f94ff203 Correct node wizard output formatting 2017-11-08 09:04:25 +01:00
Michael Friedrich 260c6d7438 Node setup: ticket parameter is now optional
refs #5681
2017-11-03 14:10:45 +01:00
Michael 86cdc5bc53 Include default global zones during node wizard/setup
This changes the GenerateNodeMasterIcingaConfig and GenerateNodeIcingaConfig
functions inside the nodeutillity class to the effect, that the default global
zones global-templates and director-global will be written to the generated
zones.conf that is created during the node wizard/setup.

refs #5707

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-10-31 12:07:12 +01:00
Gunnar Beutner f2d437e96c Implement support for migrating certificates to /var/lib/icinga2/certs
This commit includes documentation too.

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-10-20 14:06:02 +02:00
Michael Friedrich 9d68ae9f1f Merge pull request #5602 from Icinga/fix/config-validation-fails-on-windows-with-unprivileged-account-5515
Add windows process elevation and log message if user does not have privileges to read/write files
2017-10-13 16:31:12 +02:00
Michael Friedrich a521f49803 Fix debug builds on Apple Clang 9.0.0 (macOS High Sierra) 2017-10-02 13:49:42 +02:00
Michael Friedrich 11c41cd747 Drop unused code from NodeUtility class
refs #4799
2017-09-22 14:05:08 +02:00
Michael Friedrich 601c10b997 Remove bottom-up CLI commands
refs #4799
2017-09-22 14:04:43 +02:00
Noah Hilverling aab50f669c Add process elevation & log message if user does not have enough privileges
refs #5515
2017-09-22 10:25:17 +02:00
Gunnar Beutner 80421e4619 Build fix for OpenSSL < 1.0.2
refs #5450
2017-09-12 13:09:16 +02:00
Michael Friedrich 0a85977831 Node Wizard: Tell the user to put ca.crt if no connection to parent is selected
This also fixes the choice tree for connection-less questions
and prevents empty tickets being stored on disk.

refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner f43516a097 Implement the --verbose option for "node wizard"
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich e424017c15 Refactor the node wizard/setup CLI commands
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich ce88e89cc0 Fix wrong cert path for CLI commands
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner a7fe6467ba Improve log messages for the 'pki save-cert' command
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich 8040bda2e1 Change directory layout to /var/lib/icinga2/{ca,certs,certificate_requests}
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner c02742925e Refactor PkiUtility class
refs #5450
2017-09-12 12:52:49 +02:00
Michael Friedrich 1e7860f2b1 Implement ApiListener::Get*Dir() functions
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 6a533796e5 Update output format for the new CLI commands
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 774936bfe8 Implement support for pki::UpdateCertificate messages
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 439251532e Implement support for saving client tickets
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner cdff792c11 Make the ticket optional in 'icinga2 node wizard'
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 8d05fc99c9 Improve message formatting for the 'icinga2 node wizard' command
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner a4684d1bfd Implement support for sending pki::RequestCertificate messages in the cluster
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner b08f5477dc Change PKI path from /etc/icinga2/pki to /var/lib/icinga2/pki
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner abdd4b307b Implement the 'ca list' and 'ca sign' CLI commands
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 510e2d622a Implement support for ticket-less certificate requests
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner 4d943c7f5c Implement additional functions for printing values with LLDB/GDB 2017-08-10 08:26:22 +02:00
Michael I 3e54e34147 Update featurelistcommand.cpp
refs #5431
2017-07-25 13:35:20 +02:00
mcktr 53908b7080 Fixed missing closing bracket in CLI command pki new-cert. 2017-06-18 15:13:16 +02:00
Gunnar Beutner d05b7c4178 Allow expressions for the type in object/template declarations 2017-05-11 14:21:30 +02:00
Gunnar Beutner 4134f7fe42 Make sure modified attributes are applied before calling the objects' Start method
refs #4696
2017-05-03 12:02:19 +02:00
Benedikt Heine 9337135249 Give only CLI warnings if feature is already disabled
refs #121
refs #4909

Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-02-02 14:17:47 +01:00
Michael Friedrich 763fb64fff Update issue tracker to GitHub
fixes #4923
2017-01-17 16:50:22 +01:00
Michael Friedrich b7caf0820d Ensure that *.icinga.com is used everywhere
fixes #13897
fixes #13277
2017-01-10 17:19:12 +01:00
Michael Friedrich c036bfaa94 Fix wrong help string in node setup CLI command
fixes #13419
2016-12-06 11:22:24 +01:00
Michael Friedrich dc2992443f Deprecate the client 'bottom up' mode w/ node update-config
This includes deprecation warnings and migration documentation.

fixes #13255
2016-11-23 15:33:28 +01:00
Konstantin Kelemen a2a6ee82d7 Fix some spelling mistakes
fixes #12822

Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2016-09-29 08:27:38 +02:00
Gunnar Beutner fa1fa23c55 Fix crash in NodeUtility::CollectNodes
fixes #12741
2016-09-19 06:34:37 +02:00
Gunnar Beutner a2e70955e1 Fix command line parser for "icinga2 --version"
fixes #12632
2016-09-04 17:01:46 +02:00
Gunnar Beutner 5304b08c2d Improve error handling for invalid CLI commands
fixes #12596
2016-09-01 07:41:23 +02:00
Gunnar Beutner 06cb3cf875 Another build fix for Windows
refs #9182
2016-08-31 13:43:50 +02:00
Gunnar Beutner 68dceaab06 Replace boost::exception_ptr with std::exception_ptr
refs #9182
2016-08-30 20:46:23 +02:00
Gunnar Beutner 69bb90403d Add missing default import AST node for the application object
refs #12575
2016-08-28 11:00:27 +02:00
Gunnar Beutner e8b0797ec4 Use 'auto' keyword for iterator declarations (part 2)
refs #12561
2016-08-27 19:56:12 +02:00
Gunnar Beutner b5b09216c6 Use lambda functions for INITIALIZE_ONCE
fixes #12562
2016-08-27 09:48:36 +02:00
Gunnar Beutner 5058c5d75b Use 'auto' for iterator declarations
fixes #12561
2016-08-27 08:37:19 +02:00
Gunnar Beutner 1236495dd3 Implement the --file and --syntax-only options for "icinga2 console"
fixes #12554
fixes #10675
2016-08-25 19:14:54 +02:00
Gunnar Beutner 30762e5330 Set versions for all internal libraries
fixes #12552
2016-08-25 17:56:18 +02:00
Gunnar Beutner 8ed21fcdad Fix compiler warning in dbg_eval
refs #12534
2016-08-25 06:46:24 +02:00
Gunnar Beutner 288413f046 Replace BOOST_FOREACH with range-based for loops
fixes #12538
2016-08-25 06:46:17 +02:00
Gunnar Beutner 429d11daa8 Fix compiler warnings
fixes #12534
2016-08-24 20:33:34 +02:00
Gunnar Beutner ae1ab5f865 Implement unit tests for state changes
fixes #12530
2016-08-24 19:45:52 +02:00
Rune Darrud d1dc1188e1 Remove obsolete reference to serial.txt
fixes #12467

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-08-17 16:19:24 +02:00
Gunnar Beutner ec87b9e795 Use hash-based serial numbers for new certificates
fixes #12453
2016-08-16 15:03:01 +02:00
Michael Friedrich 186fcb3724 Fix log message for WriteCert()
refs #12422
2016-08-14 09:28:55 +02:00
Michael Friedrich a83d81a71d Fix that pki sign-csr is not logging the certificate file location
fixes #12422
2016-08-14 09:22:18 +02:00
Gunnar Beutner 76ed38fbfe Implement support for inspecting variables with LLDB/GDB
fixes #12407
2016-08-12 11:00:19 +02:00
Gunnar Beutner f3bb628d6e Improve logging for the WorkQueue class
fixes #12336
2016-08-09 12:39:07 +02:00
Gunnar Beutner 26821d1a79 Don't add empty lines to libedit's history
refs #12234
2016-08-08 08:01:52 +02:00
Gunnar Beutner 46f8c7eb59 Remove temporary icinga2.debug file in case the config validation fails
fixes #12318
2016-08-05 09:15:17 +02:00
Markus Frosch d0183edc51 Fix build with OpenSSL 1.1
error: cannot convert ‘const boost::shared_ptr<x509_st>’ to ‘X509* {aka
x509_st*}’ for argument ‘1’ to ‘ASN1_TIME* X509_get_notBefore(X509*)’

refs #12044
2016-08-01 09:54:51 +02:00
Gunnar Beutner aaa4878017 Don't write empty lines to the history file
refs #12234
2016-07-29 13:55:07 +02:00
Gunnar Beutner a02d7d7502 Implement history support for 'icinga2 console'
fixes #12234
2016-07-29 13:45:16 +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 8b742e841f Ensure that obsolete comment/downtime objects are deleted after activating objects
Config validation shouldn't be able to purge the files, only on
restart.

fixes #11890
2016-06-06 13:07:49 +02:00
Gunnar Beutner 0bc139af93 Improve timing behavior for UpdateObjectAuthority calls
refs #11765
2016-05-11 13:04:39 +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
Michael Friedrich 2faf121ff4 Remove commentsand downtimes with reference to deleted checkable objects
Silence the warning message and change the log level to notice as well.

fixes #10717
2016-05-03 11:30:02 +02:00
Gunnar Beutner c54de4b615 Implement SNI support for the CLI commands
fixes #11651
2016-04-21 15:44:51 +02:00
Gunnar Beutner 112f024810 Build fix for GCC
refs #9839
2016-03-29 14:52:48 +02:00
Gunnar Beutner 0e18acbf9d Don't use semi-colons in auto-generated config files
fixes #11438
2016-03-23 09:29:27 +01:00
Gunnar Beutner 4066ab730a Fix error handling for FeatureUtility::GetFeatures
fixes #11349
2016-03-14 08:45:12 +01:00
Michael Friedrich 4746b214d6 Fix: Common name in node wizard isn't case sensitive
fixes #11159
2016-03-11 14:22:24 +01:00
Michael Friedrich 894aaaecb1 Ensure that config files are readable by the daemon
refs #11212
refs #11211
2016-02-24 14:24:08 +01:00
Michael Friedrich 47c5425137 Fix permissions for temporary files
fixes #11212
fixes #11211
2016-02-24 11:00:44 +01:00
Michael Friedrich 272d9541be Fix wrong log message in 'node setup' cli command
fixes #11209
2016-02-23 16:55:45 +01:00
Michael Friedrich 4cb5b97e52 Fix unique creation of temp files
fixes #10948
2016-02-23 12:30:59 +01:00
Gunnar Beutner 74d1d68893 Fix: "node setup" tries to chown() files before they're created
fixes #11204
2016-02-23 08:42:05 +01:00