diff options
author | Peter Rajnoha <prajnoha@redhat.com> | 2015-01-21 16:44:02 +0100 |
---|---|---|
committer | Peter Rajnoha <prajnoha@redhat.com> | 2015-01-21 16:44:02 +0100 |
commit | bea003e94ceec717c2c5b847a9a28ea3f8f42dad (patch) | |
tree | ce511aae93210ba970a818fbf7f02dc8c81a70fd | |
parent | 57f67ce8558d9688d1e743aba5d65d1e1545aad6 (diff) | |
download | lvm2-bea003e94ceec717c2c5b847a9a28ea3f8f42dad.tar.gz |
config: improve config validation to check if setting with string value can be empty.
For example, with dmeventd/executable set to "" which is not allowed for
this setting, the config validation now ends up with:
$ lvm dumpconfig --validate
Configuration setting "dmeventd/executable" invalid. It cannot be set to an empty value.
LVM configuration invalid.
This check for empty values for string config settings was not
done before (we only checked empty arrays, but not scalar strings).
-rw-r--r-- | WHATS_NEW | 1 | ||||
-rw-r--r-- | lib/config/config.c | 5 |
2 files changed, 6 insertions, 0 deletions
@@ -1,5 +1,6 @@ Version 2.02.116 - ==================================== + Improve config validation to check if setting with string value can be empty. Version 2.02.115 - 21st January 2015 ==================================== diff --git a/lib/config/config.c b/lib/config/config.c index 58efb3131..b47984fc7 100644 --- a/lib/config/config.c +++ b/lib/config/config.c @@ -790,6 +790,11 @@ static int _config_def_check_node_single_value(struct cft_check_handle *handle, } else if (!(def->type & CFG_TYPE_STRING)) { _log_type_error(rp, CFG_TYPE_STRING, def->type, handle->suppress_messages); return 0; + } else if (!(def->flags & CFG_ALLOW_EMPTY) && !*v->v.str) { + log_warn_suppress(handle->suppress_messages, + "Configuration setting \"%s\" invalid. " + "It cannot be set to an empty value.", rp); + return 0; } break; default: ; |