diff options
Diffstat (limited to 'package/base-files/files/etc/uci-defaults')
-rw-r--r-- | package/base-files/files/etc/uci-defaults/10_migrate-shadow (renamed from package/base-files/files/etc/uci-defaults/migrate-shadow) | 0 | ||||
-rw-r--r-- | package/base-files/files/etc/uci-defaults/11_migrate-sysctl | 17 | ||||
-rw-r--r-- | package/base-files/files/etc/uci-defaults/12_network-generate-ula | 18 |
3 files changed, 35 insertions, 0 deletions
diff --git a/package/base-files/files/etc/uci-defaults/migrate-shadow b/package/base-files/files/etc/uci-defaults/10_migrate-shadow index b7ea5718c..b7ea5718c 100644 --- a/package/base-files/files/etc/uci-defaults/migrate-shadow +++ b/package/base-files/files/etc/uci-defaults/10_migrate-shadow diff --git a/package/base-files/files/etc/uci-defaults/11_migrate-sysctl b/package/base-files/files/etc/uci-defaults/11_migrate-sysctl new file mode 100644 index 000000000..b3796a4d2 --- /dev/null +++ b/package/base-files/files/etc/uci-defaults/11_migrate-sysctl @@ -0,0 +1,17 @@ +#!/bin/sh + +if [ ! -f "/rom/etc/sysctl.conf" ] || cmp -s "/rom/etc/sysctl.conf" "/etc/sysctl.conf"; then + exit 0 +fi + +fingerprint="$(md5sum /etc/sysctl.conf)" +fingerprint="${fingerprint%% *}" + +if [ "$fingerprint" = "1b05ebb41f72cb84e5510573cd4aca26" ] || \ + [ "$fingerprint" = "62deb895be1a7f496040187b7c930e4e" ]; then + logger -t migrate-sysctl "Updating sysctl.conf to use current defaults" + cp "/rom/etc/sysctl.conf" "/etc/sysctl.conf" +fi + +exit 0 + diff --git a/package/base-files/files/etc/uci-defaults/12_network-generate-ula b/package/base-files/files/etc/uci-defaults/12_network-generate-ula new file mode 100644 index 000000000..f3e493145 --- /dev/null +++ b/package/base-files/files/etc/uci-defaults/12_network-generate-ula @@ -0,0 +1,18 @@ +#!/bin/sh + +[ "$(uci get network.globals.ula_prefix)" != "auto" ] && exit 0 +# Sometimes results are empty, therefore try until it works... +local r1 r2 r3 +while [ -z "$r1" -o -z "$r2" -o -z "$r3" ]; do + r1=$(printf "%02x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1) % 256))) + r2=$(printf "%01x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1) % 65536))) + r3=$(printf "%01x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1) % 65536))) +done + +uci -q batch <<-EOF >/dev/null + set network.globals.ula_prefix=fd$r1:$r2:$r3::/48 + commit network +EOF + +exit 0 + |