aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/naskpass.initconf7
-rwxr-xr-xscripts/naskpass.inithook8
-rwxr-xr-xscripts/naskpass.initscript4
-rwxr-xr-xscripts/naskpass.post5
-rwxr-xr-xscripts/naskpass.pre21
5 files changed, 41 insertions, 4 deletions
diff --git a/scripts/naskpass.initconf b/scripts/naskpass.initconf
new file mode 100755
index 0000000..2e16e82
--- /dev/null
+++ b/scripts/naskpass.initconf
@@ -0,0 +1,7 @@
+# initramfs naskpass config file
+
+# network device
+NETDEV=eth0
+
+# maximum ip wait time in seconds
+MAXWAIT=10
diff --git a/scripts/naskpass.inithook b/scripts/naskpass.inithook
index 074dff3..01dbf24 100755
--- a/scripts/naskpass.inithook
+++ b/scripts/naskpass.inithook
@@ -18,8 +18,12 @@ esac
. /usr/share/initramfs-tools/hook-functions
-copy_exec /lib/cryptsetup/naskpass /lib/cryptsetup
-copy_exec /lib/cryptsetup/naskpass_check /lib/cryptsetup
+copy_exec /lib/cryptsetup/naskpass /lib/cryptsetup
+copy_exec /lib/cryptsetup/naskpass_check /lib/cryptsetup
+copy_exec /usr/share/naskpass/naskpass.pre /lib/cryptsetup
+copy_exec /usr/share/naskpass/naskpass.post /lib/cryptsetup
+cp /usr/share/naskpass/naskpass.initconf /etc/naskpass.conf
+
mkdir -p ${DESTDIR}/lib/terminfo/l
cp /lib/terminfo/l/linux ${DESTDIR}/lib/terminfo/l/
diff --git a/scripts/naskpass.initscript b/scripts/naskpass.initscript
index 98fd1dc..5f2c919 100755
--- a/scripts/naskpass.initscript
+++ b/scripts/naskpass.initscript
@@ -312,14 +312,14 @@ setup_mapping()
continue
fi
else
- dmesg -n 1
+ /lib/cryptsetup/naskpass.pre
if ! $cryptkeyscript -c "/sbin/cryptsetup -T 1 open $cryptsource $crypttarget"; then
message "naskpass: failed"
continue
else
message "naskpass: success"
fi
- dmesg -n 4
+ /lib/cryptsetup/naskpass.post
fi
fi
diff --git a/scripts/naskpass.post b/scripts/naskpass.post
new file mode 100755
index 0000000..f443bea
--- /dev/null
+++ b/scripts/naskpass.post
@@ -0,0 +1,5 @@
+#!/bin/sh
+set -e
+
+. /etc/naskpass.conf
+dmesg -E
diff --git a/scripts/naskpass.pre b/scripts/naskpass.pre
new file mode 100755
index 0000000..8a2d25d
--- /dev/null
+++ b/scripts/naskpass.pre
@@ -0,0 +1,21 @@
+#!/bin/sh
+set -e
+
+. /etc/naskpass.conf
+
+
+echo -n 'waiting for ip ...'
+CURWAIT=$MAXWAIT
+
+if [ -x /sbin/dropbear ]; then
+while ! $(ifconfig -a | grep -oE 'inet addr:'); do
+ echo -n '.'
+ if [ $CURWAIT -le 0 ]; then
+ echo ' got no ip, continue anyway.'
+ break
+ fi
+ expr $CURWAIT - 1
+done
+fi
+
+dmesg -D