aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/files/etc/uci-defaults
diff options
context:
space:
mode:
Diffstat (limited to 'package/base-files/files/etc/uci-defaults')
-rw-r--r--package/base-files/files/etc/uci-defaults/migrate-shadow12
-rw-r--r--package/base-files/files/etc/uci-defaults/migrate-sysctl17
2 files changed, 29 insertions, 0 deletions
diff --git a/package/base-files/files/etc/uci-defaults/migrate-shadow b/package/base-files/files/etc/uci-defaults/migrate-shadow
new file mode 100644
index 000000000..b7ea5718c
--- /dev/null
+++ b/package/base-files/files/etc/uci-defaults/migrate-shadow
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+local ppwd="$(sed -ne '/^root:/s/^root:\([^:]*\):.*$/\1/p' /etc/passwd)"
+local spwd="$(sed -ne '/^root:/s/^root:\([^:]*\):.*$/\1/p' /etc/shadow)"
+
+if [ -n "${ppwd#[\!x]}" ] && [ -z "${spwd#[\!x]}" ]; then
+ logger -t migrate-shadow "Moving root password hash into shadow database"
+ sed -i -e "s:^root\:[^\:]*\::root\:x\::" /etc/passwd
+ sed -i -e "s:^root\:[^\:]*\::root\:$ppwd\::" /etc/shadow
+fi
+
+exit 0
diff --git a/package/base-files/files/etc/uci-defaults/migrate-sysctl b/package/base-files/files/etc/uci-defaults/migrate-sysctl
new file mode 100644
index 000000000..b3796a4d2
--- /dev/null
+++ b/package/base-files/files/etc/uci-defaults/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
+