diff options
author | Nils Schneider <nils@nilsschneider.net> | 2015-08-16 19:50:02 +0300 |
---|---|---|
committer | Nils Schneider <nils@nilsschneider.net> | 2015-08-16 19:54:32 +0300 |
commit | 234c9d97a6f912825477cc266c40ed84fc5bdf09 (patch) | |
tree | 44d894bda097ce69e30be8c82c0592158af08f85 /babeld | |
parent | de2eacac7faf3aeac7b5be84a9ff7712faffeb29 (diff) |
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>
Diffstat (limited to 'babeld')
-rw-r--r-- | babeld/files/babeld.config | 2 | ||||
-rwxr-xr-x | babeld/files/babeld.init | 3 |
2 files changed, 3 insertions, 2 deletions
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" } ;; |