base-files: generate config files with correct permissions
[openwrt/staging/stintel.git] / package / base-files / files / bin / config_generate
index 0b26afe57f445cd2fee145166826b0a27ad0fcb0..abb1388ba15dac23800b9dbb158296a8fbabefc6 100755 (executable)
@@ -85,12 +85,16 @@ generate_network() {
                set network.$1.proto='none'
        EOF
 
-       [ -n "$macaddr" ] && uci -q batch <<-EOF
-               delete network.$1_dev
-               set network.$1_dev='device'
-               set network.$1_dev.name='$ifname'
-               set network.$1_dev.macaddr='$macaddr'
-       EOF
+       if [ -n "$macaddr" ]; then
+               for name in $ifname; do
+                       uci -q batch <<-EOF
+                               delete network.$1_${name/./_}_dev
+                               set network.$1_${name/./_}_dev='device'
+                               set network.$1_${name/./_}_dev.name='$name'
+                               set network.$1_${name/./_}_dev.macaddr='$macaddr'
+                       EOF
+               done
+       fi
 
        case "$protocol" in
                static)
@@ -260,11 +264,6 @@ generate_static_system() {
                                uci -q set "system.@system[-1].hostname=$hostname"
                        fi
 
-                       local label_macaddr
-                       if json_get_var label_macaddr label_macaddr; then
-                               uci -q set "system.@system[-1].label_macaddr=$label_macaddr"
-                       fi
-
                        if json_is_a ntpserver array; then
                                local keys key
                                json_get_keys keys ntpserver
@@ -427,6 +426,8 @@ generate_gpioswitch() {
 json_init
 json_load "$(cat ${CFG})"
 
+umask 077
+
 if [ ! -s /etc/config/network ]; then
        touch /etc/config/network
        generate_static_network