Revert "Allow multi-line config items in meta-section of local.conf"
This reverts commit 6ff21acf4c4d4ef08bbef419ba582cade4da8da7.
This commit has broken config options with colons in them.
The following is a sample configuration that no longer works:
[[post-config|/etc/neutron/plugins/ml2/ml2_conf.ini]]
[restproxy]
server_ssl=False
servers=10.211.1.9:80
server_ssl=False
With the above config and the code present that this reverts,
the 'servers' option will come out blank.
Change-Id: I328852d2d941605051a1bf5eaf0f7674191f8c48
diff --git a/lib/config b/lib/config
index 6e8219c..b44e79a 100644
--- a/lib/config
+++ b/lib/config
@@ -86,11 +86,7 @@
# having to do nasty quoting games
get_meta_section $file $matchgroup $configfile | \
$CONFIG_AWK_CMD -v configfile=$configfile '
- BEGIN {
- section = ""
- last_section = ""
- section_count = 0
- }
+ BEGIN { section = "" }
/^\[.+\]/ {
gsub("[][]", "", $1);
section=$1
@@ -110,48 +106,10 @@
# need to strip leading & trailing whitespace from value
sub(/^[ \t]*/, "", value)
sub(/[ \t]*$/, "", value)
-
- # cfg_attr_count: number of config lines per [section, attr]
- # cfg_attr: two dimensional array to keep all the config lines per [section, attr]
- # cfg_section: keep the section names in the same order as they appear in local.conf
- # cfg_sec_attr_name: keep the attr names in the same order as they appear in local.conf
- if (! (section, attr) in cfg_attr_count) {
- if (section != last_section) {
- cfg_section[section_count++] = section
- last_section = section
- }
- attr_count = cfg_sec_attr_count[section_count - 1]++
- cfg_sec_attr_name[section_count - 1][attr_count] = attr
-
- cfg_attr[section, attr][0] = value
- cfg_attr_count[section, attr] = 1
- } else {
- lno = cfg_attr_count[section, attr]++
- cfg_attr[section, attr][lno] = value
- }
- }
- END {
- # Process each section in order
- for (sno = 0; sno < section_count; sno++) {
- section = cfg_section[sno]
- # The ini routines simply append a config item immediately
- # after the section header. To keep the same order as defined
- # in local.conf, invoke the ini routines in the reverse order
- for (attr_no = cfg_sec_attr_count[sno] - 1; attr_no >=0; attr_no--) {
- attr = cfg_sec_attr_name[sno][attr_no]
- if (cfg_attr_count[section, attr] == 1)
- print "iniset " configfile " " section " " attr " \x27" cfg_attr[section, attr][0] "\x27"
- else {
- # For multiline, invoke the ini routines in the reverse order
- count = cfg_attr_count[section, attr]
- print "iniset " configfile " " section " " attr " \x27" cfg_attr[section, attr][count - 1] "\x27"
- for (l = count -2; l >= 0; l--)
- print "iniadd_literal " configfile " " section " " attr " \x27" cfg_attr[section, attr][l] "\x27"
- }
- }
- }
+ print "iniset " configfile " " section " " attr " \x27" value "\x27"
}
' | while read a; do eval "$a"; done
+
}