From 234c9d97a6f912825477cc266c40ed84fc5bdf09 Mon Sep 17 00:00:00 2001 From: Nils Schneider Date: Sun, 16 Aug 2015 18:50:02 +0200 Subject: [PATCH] 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 --- babeld/files/babeld.config | 2 -- 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" } ;; -- 2.30.2