aboutsummaryrefslogtreecommitdiffstats
path: root/systemd
diff options
context:
space:
mode:
Diffstat (limited to 'systemd')
-rw-r--r--systemd/ykfde-2f18
-rw-r--r--systemd/ykfde-2f.service2
-rw-r--r--systemd/ykfde-notify.service22
3 files changed, 23 insertions, 19 deletions
diff --git a/systemd/ykfde-2f b/systemd/ykfde-2f
deleted file mode 100644
index c34bde8..0000000
--- a/systemd/ykfde-2f
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# (C) 2016 by Christian Hesse <mail@eworm.de>
-#
-# This software may be used and distributed according to the terms
-# of the GNU General Public License, incorporated herein by reference.
-
-systemd-ask-password --no-tty --keyname='ykfde-2f' 'Please enter second factor for Yubikey full disk encryption!' >/dev/null
-
-if [ -s '/run/ykfde.pid' ]; then
- kill -USR1 $(cat '/run/ykfde.pid')
- # ykfde started from udev needs a moment to set up the key
- # in store. It is out of systemd control, so wait a moment
- # here.
- sleep 0.2
-fi
-
-true
diff --git a/systemd/ykfde-2f.service b/systemd/ykfde-2f.service
index cfdab43..33f034f 100644
--- a/systemd/ykfde-2f.service
+++ b/systemd/ykfde-2f.service
@@ -14,4 +14,4 @@ ConditionPathExists=/etc/ykfde.d/
Type=oneshot
RemainAfterExit=yes
TimeoutSec=0
-ExecStart=/usr/lib/systemd/scripts/ykfde-2f
+ExecStart=/usr/bin/systemd-ask-password --no-tty --no-output --keyname='ykfde-2f' 'Please enter second factor for Yubikey full disk encryption!'
diff --git a/systemd/ykfde-notify.service b/systemd/ykfde-notify.service
new file mode 100644
index 0000000..04a4d46
--- /dev/null
+++ b/systemd/ykfde-notify.service
@@ -0,0 +1,22 @@
+# (C) 2016 by Christian Hesse <mail@eworm.de>
+#
+# This software may be used and distributed according to the terms
+# of the GNU General Public License, incorporated herein by reference.
+
+[Unit]
+Description=Notify ykfde about key
+DefaultDependencies=no
+Before=cryptsetup-pre.target
+Wants=cryptsetup-pre.target
+Requires=ykfde-2f.service
+After=ykfde-2f.service
+ConditionPathExists=/run/ykfde.pid
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/pkill -USR1 --pidfile /run/ykfde.pid
+# ykfde started from udev needs a moment to set up the key
+# in store. It is out of systemd control, so wait a moment
+# here.
+ExecStart=/usr/bin/sleep 0.2