diff -up ./src/conf_eval.c.fix ./src/conf_eval.c --- ./src/conf_eval.c.fix 2023-12-22 12:12:22.961141634 +0100 +++ ./src/conf_eval.c 2023-12-22 14:09:21.217786675 +0100 @@ -166,6 +166,7 @@ static DB_ATTR_TYPE eval_attribute_expre static void set_database_attr_option(DB_ATTR_TYPE attr, int linenumber, char *filename, char* linebuf) { char *str; + long num; DB_ATTR_TYPE hashes = get_hashes(true); if (attr&(~hashes)) { @@ -298,8 +299,20 @@ static void eval_config_statement(config LOG_CONFIG_FORMAT_LINE(LOG_LEVEL_CONFIG, "set 'config_version' option to '%s'", str) break; case VERBOSE_OPTION: - log_msg(LOG_LEVEL_ERROR, "%s:%d: 'verbose' option is no longer supported, use 'log_level' and 'report_level' options instead (see man aide.conf for details) (line: '%s')", conf_filename, conf_linenumber, conf_linebuf); - exit(INVALID_CONFIGURELINE_ERROR); + log_msg(LOG_LEVEL_CONFIG, "%s:%d: 'verbose' option is deprecated, use 'log_level' and 'report_level' options instead (see man aide.conf for details) (line: '%s')", conf_filename, conf_linenumber, conf_linebuf); + str = eval_string_expression(statement.e, linenumber, filename, linebuf); + num = strtol(str, NULL, 10); + + if (num < 0 && num > 255) { + LOG_CONFIG_FORMAT_LINE(LOG_LEVEL_ERROR, "invalid verbose level: '%s'", str); + exit(INVALID_CONFIGURELINE_ERROR); + } + + if (num >= 10) { + set_log_level(LOG_LEVEL_DEBUG); + } + + free(str); break; case LIMIT_CMDLINE_OPTION: /* command-line options are ignored here */