From: Mathias Kresin Date: Wed, 15 Feb 2017 07:39:05 +0000 (+0100) Subject: base-files: always set proto passed to _ucidef_set_interface() X-Git-Tag: v17.01.2~9 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=524ed5088e900821307694180d77038df5a3ea9a base-files: always set proto passed to _ucidef_set_interface() Overwrite an already set proto if a new one is passed to _ucidef_set_interface() similar to what is done for the interface. It is required when using ""ucidef_set_interface_wan 'ptm0' 'pppoe'" after some initial wan interface configuration is already done by ucidef_add_switch. The "json_is_a protocol string" guard is meant to not reset an earlier set interface proto in case something like "ucidef_set_interface_lan 'eth0'" is used afterwards. Signed-off-by: Mathias Kresin --- diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh index 06004c3bb5..7cc63ffc80 100755 --- a/package/base-files/files/lib/functions/uci-defaults.sh +++ b/package/base-files/files/lib/functions/uci-defaults.sh @@ -35,7 +35,7 @@ _ucidef_set_interface() { json_select_object "$name" json_add_string ifname "$iface" - if ! json_is_a protocol string; then + if ! json_is_a protocol string || [ -n "$proto" ]; then case "$proto" in static|dhcp|none|pppoe) : ;; *)