From 8ba7377455dfe59c58722cbae952831acf76ef42 Mon Sep 17 00:00:00 2001 From: Spencer Krum Date: Mon, 23 Nov 2020 22:56:55 +0000 Subject: [PATCH] fix(config): Error out when no config file supplied Fixes: #1406 Signed-off-by: Spencer Krum --- userspace/falco/configuration.cpp | 12 +----------- userspace/falco/falco.cpp | 9 ++------- 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/userspace/falco/configuration.cpp b/userspace/falco/configuration.cpp index c2f41ef7ba5..4b4ef1a451a 100644 --- a/userspace/falco/configuration.cpp +++ b/userspace/falco/configuration.cpp @@ -47,16 +47,6 @@ falco_configuration::~falco_configuration() } } -// If we don't have a configuration file, we just use stdout output and all other defaults -void falco_configuration::init(list &cmdline_options) -{ - init_cmdline_options(cmdline_options); - - falco::outputs::config stdout_output; - stdout_output.name = "stdout"; - m_outputs.push_back(stdout_output); -} - void falco_configuration::init(string conf_filename, list &cmdline_options) { string m_config_file = conf_filename; @@ -346,4 +336,4 @@ void falco_configuration::set_cmdline_option(const string &opt) { m_config->set_scalar(keyval.first, keyval.second); } -} \ No newline at end of file +} diff --git a/userspace/falco/falco.cpp b/userspace/falco/falco.cpp index 85b167a01a3..27a105b3c2f 100644 --- a/userspace/falco/falco.cpp +++ b/userspace/falco/falco.cpp @@ -794,7 +794,7 @@ int falco_init(int argc, char **argv) } else { - conf_filename = ""; + throw std::invalid_argument("You must create a config file at " FALCO_SOURCE_CONF_FILE ", " FALCO_INSTALL_CONF_FILE " or by passing -c\n"); } } } @@ -836,12 +836,7 @@ int falco_init(int argc, char **argv) } else { - config.init(cmdline_options); - falco_logger::set_time_format_iso_8601(config.m_time_format_iso_8601); - - // log after config init because config determines where logs go - falco_logger::log(LOG_INFO, "Falco version " + std::string(FALCO_VERSION) + " (driver version " + std::string(DRIVER_VERSION) + ")\n"); - falco_logger::log(LOG_INFO, "Falco initialized. No configuration file found, proceeding with defaults\n"); + throw std::runtime_error("Could not find configuration file at " + conf_filename); } if (rules_filenames.size())