|
|
d27d41 |
From ce89ed552ff6feb1ecc1c05269022913b5a8edcc Mon Sep 17 00:00:00 2001
|
|
|
d27d41 |
From: Rob Crittenden <rcritten@redhat.com>
|
|
|
d27d41 |
Date: Thu, 28 Apr 2022 08:46:02 -0400
|
|
|
d27d41 |
Subject: [PATCH] Limit config file delimiters to =, catch empty values
|
|
|
d27d41 |
|
|
|
d27d41 |
ConfigParser allows both = and : as a delimiter. Limit to
|
|
|
d27d41 |
just = to match the configuration file man page.
|
|
|
d27d41 |
|
|
|
d27d41 |
Don't allow empty values in options in the config file.
|
|
|
d27d41 |
|
|
|
d27d41 |
https://bugzilla.redhat.com/show_bug.cgi?id=2079739
|
|
|
d27d41 |
|
|
|
d27d41 |
Signed-off-by: Rob Crittenden <rcritten@redhat.com>
|
|
|
d27d41 |
---
|
|
|
d27d41 |
src/ipahealthcheck/core/config.py | 11 +++++++++--
|
|
|
d27d41 |
1 file changed, 9 insertions(+), 2 deletions(-)
|
|
|
d27d41 |
|
|
|
d27d41 |
diff --git a/src/ipahealthcheck/core/config.py b/src/ipahealthcheck/core/config.py
|
|
|
d27d41 |
index c4322a5..01c7722 100644
|
|
|
d27d41 |
--- a/src/ipahealthcheck/core/config.py
|
|
|
d27d41 |
+++ b/src/ipahealthcheck/core/config.py
|
|
|
d27d41 |
@@ -87,7 +87,7 @@ def read_config(config_file):
|
|
|
d27d41 |
)
|
|
|
d27d41 |
return config
|
|
|
d27d41 |
|
|
|
d27d41 |
- parser = ConfigParser()
|
|
|
d27d41 |
+ parser = ConfigParser(delimiters='=')
|
|
|
d27d41 |
try:
|
|
|
d27d41 |
parser.read(config_file)
|
|
|
d27d41 |
except ParsingError as e:
|
|
|
d27d41 |
@@ -102,6 +102,13 @@ def read_config(config_file):
|
|
|
d27d41 |
items = parser.items(CONFIG_SECTION)
|
|
|
d27d41 |
|
|
|
d27d41 |
for (key, value) in items:
|
|
|
d27d41 |
- config[key] = value
|
|
|
d27d41 |
+ if len(value) == 0 or value is None:
|
|
|
d27d41 |
+ logging.error(
|
|
|
d27d41 |
+ "Empty value for %s in %s [%s]",
|
|
|
d27d41 |
+ key, config_file, CONFIG_SECTION
|
|
|
d27d41 |
+ )
|
|
|
d27d41 |
+ return None
|
|
|
d27d41 |
+ else:
|
|
|
d27d41 |
+ config[key] = value
|
|
|
d27d41 |
|
|
|
d27d41 |
return config
|
|
|
d27d41 |
--
|
|
|
d27d41 |
2.31.1
|
|
|
d27d41 |
|