45 lines
1.6 KiB
Diff
45 lines
1.6 KiB
Diff
From: Nils Schneider <nils@nilsschneider.net>
|
|
Date: Sun, 16 Aug 2015 18:50:02 +0200
|
|
Subject: babeld: fix parsing of list import_table
|
|
|
|
When parsing list options using config_load option_cb will be called
|
|
with additional options ending in _ITEM$x and _LENGTH. This ignores any
|
|
option containing _LENGTH or _ITEM as they can't possible be a valid
|
|
babeld option making a config like
|
|
|
|
config general
|
|
list import_table 23
|
|
list import_table 42
|
|
|
|
work.
|
|
|
|
Signed-off-by: Nils Schneider <nils@nilsschneider.net>
|
|
|
|
diff --git a/babeld/files/babeld.config b/babeld/files/babeld.config
|
|
index cb2a131..0073f73 100644
|
|
--- a/babeld/files/babeld.config
|
|
+++ b/babeld/files/babeld.config
|
|
@@ -16,8 +16,6 @@ config general
|
|
## Enable ipv6-subtrees by default since OpenWrt should ship with a
|
|
## recent enough kernel for it to work.
|
|
option 'ipv6_subtrees' 'true'
|
|
- ## This seems somewhat buggy on BB. If you need only one
|
|
- ## import-table statement, "option import_table 42" should work.
|
|
# list 'import_table' '42'
|
|
# list 'import_table' '100'
|
|
## Alternative configuration file and directory.
|
|
diff --git a/babeld/files/babeld.init b/babeld/files/babeld.init
|
|
index 6796a34..21ae4be 100755
|
|
--- a/babeld/files/babeld.init
|
|
+++ b/babeld/files/babeld.init
|
|
@@ -166,6 +166,9 @@ babel_config_cb() {
|
|
local value="$2"
|
|
# Ignore old options
|
|
list_contains ignored_options "$option" && return
|
|
+ # Skip lists. They will be taken care of by list_cb
|
|
+ test "${option#*_ITEM}" != "$option" && return
|
|
+ test "${option#*_LENGTH}" != "$option" && return
|
|
cfg_append "${option//_/-} $value"
|
|
}
|
|
;;
|