babeld: fix parsing of list import_table
This commit is contained in:
parent
e980593ff4
commit
2a521f712d
@ -0,0 +1,44 @@
|
||||
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"
|
||||
}
|
||||
;;
|
Loading…
Reference in New Issue
Block a user