summaryrefslogtreecommitdiffstats
path: root/usr/share/initramfs-tools/hooks/cryptlukssc
diff options
context:
space:
mode:
Diffstat (limited to 'usr/share/initramfs-tools/hooks/cryptlukssc')
-rwxr-xr-xusr/share/initramfs-tools/hooks/cryptlukssc95
1 files changed, 66 insertions, 29 deletions
diff --git a/usr/share/initramfs-tools/hooks/cryptlukssc b/usr/share/initramfs-tools/hooks/cryptlukssc
index 577fc96..ea1048d 100755
--- a/usr/share/initramfs-tools/hooks/cryptlukssc
+++ b/usr/share/initramfs-tools/hooks/cryptlukssc
@@ -6,14 +6,14 @@ PREREQ="cryptroot"
prereqs()
{
- echo "$PREREQ"
+ echo "$PREREQ"
}
case $1 in
- prereqs)
- prereqs
- exit 0
- ;;
+ prereqs)
+ prereqs
+ exit 0
+ ;;
esac
. /usr/share/initramfs-tools/hook-functions
@@ -22,45 +22,77 @@ esac
# Install directories needed by smartcard reading daemon, command, and
# key-script
-for dir in etc/opensc usr/lib/pcsc var/run tmp ; do
- if [ ! -d ${DESTDIR}/${dir} ] ; then mkdir -p ${DESTDIR}/${dir} ; fi
+for dir in etc/opensc usr/lib var/run tmp ; do
+ if [ ! -d ${DESTDIR}/${dir} ] ;
+ then
+ mkdir -p ${DESTDIR}/${dir}
+ fi
done
# Install pcscd daemon, drivers, conf file, and include libgcc as well since
# pcscd utilizes pthread_cancel
mkdir -p ${DESTDIR}/lib
copy_exec /usr/sbin/pcscd /sbin
-if [ -e /lib/*`uname -i`*/libgcc_s.so.1 ]
+
+ARCHDIR=$(uname -i)
+if [ "$ARCHDIR" = "unknown" ]; then
+ ARCHDIR=$(uname -m)
+fi
+
+if [ -e /lib/*${ARCHDIR}*/libgcc_s.so.1 ]
then
- copy_exec /lib/*`uname -i`*/libgcc_s.so.1 /lib
+ cp -L /lib/*${ARCHDIR}*/libgcc_s.so.1 ${DESTDIR}/lib
else
- copy_exec /lib/libgcc_s.so.1 /lib
+ cp -L /lib/libgcc_s.so.1 ${DESTDIR}/lib
fi
-if [ -e /lib/*`uname -i`*/libpcsclite.so.1 ]
+
+if [ -e /lib/*${ARCHDIR}*/libpcsclite.so.1 ]
then
- copy_exec /lib/*`uname -i`*/libpcsclite.so.1 /lib
+ cp -L /lib/*${ARCHDIR}*/libpcsclite.so.1 ${DESTDIR}/lib
+elif [ -e /usr/lib/*${ARCHDIR}*/libpcsclite.so.1 ]
+then
+ cp -L /usr/lib/*${ARCHDIR}*/libpcsclite.so.1 ${DESTDIR}/lib
else
- copy_exec /lib/libpcsclite.so.1 /lib
+ cp -L /lib/libpcsclite.so.1 ${DESTDIR}/lib
fi
-if [ -e /usr/lib/*`uname -i`*/libusb-1.0.so.0 ]
+
+if [ -e /usr/lib/*${ARCHDIR}*/libusb-1.0.so.0 ]
then
- copy_exec /usr/lib/*`uname -i`*/libusb-1.0.so.0 /usr/lib
-else if [ -e /usr/lib/libusb-1.0.so.0 ]
+ cp -L /usr/lib/*${ARCHDIR}*/libusb-1.0.so.0 ${DESTDIR}/usr/lib
+elif [ -e /lib/*${ARCHDIR}*/libusb-1.0.so.0 ]
then
- copy_exec /usr/lib/libusb-1.0.so.0 /usr/lib
+ cp -L /lib/*${ARCHDIR}*/libusb-1.0.so.0 ${DESTDIR}/usr/lib
+elif [ -e /usr/lib/libusb-1.0.so.0 ]
+then
+ cp -L /usr/lib/libusb-1.0.so.0 ${DESTDIR}/usr/lib
+else
+ echo "Unable to locate libusb-1.0"
+ exit 1
fi
-cp -r /usr/lib/pcsc ${DESTDIR}/usr/lib
+
+cp -LRp /usr/lib/pcsc ${DESTDIR}/usr/lib/
+
if [ -e /etc/reader.conf.d ]
then
- cp -Rp /etc/reader.conf.d ${DESTDIR}/etc/
+ cp -L -Rp /etc/reader.conf.d ${DESTDIR}/etc/
else
- cp /etc/reader.conf ${DESTDIR}/etc
+ cp -L /etc/reader.conf ${DESTDIR}/etc/
fi
# Install opensc commands and conf file
-copy_exec /usr/bin/opensc-tool /bin
-copy_exec /usr/bin/pkcs15-crypt /bin
-cp /etc/opensc/opensc.conf ${DESTDIR}/etc/opensc
+copy_exec /usr/bin/opensc-tool /bin/
+copy_exec /usr/bin/pkcs15-crypt /bin/
+copy_exec /usr/bin/pkcs15-tool /bin/
+cp -L /etc/opensc/opensc.conf ${DESTDIR}/etc/opensc/
+
+# Install opensc interface library
+if [ -e /usr/lib/*${ARCHDIR}*/opensc-pkcs11.so ]
+then
+ cp -L /usr/lib/*${ARCHDIR}*/opensc-pkcs11.so ${DESTDIR}/usr/lib
+elif [ -e /usr/lib/opensc-pkcs11.so ]
+then
+ cp -L /usr/lib/opensc-pkcs11.so ${DESTDIR}/usr/lib
+fi
# Install other required utilities
copy_exec /bin/grep /bin
@@ -78,15 +110,20 @@ copy_exec /usr/bin/tr /bin
copy_exec /bin/bash /bin
# Main scripts
-copy_exec /usr/bin/scriptor_standalone /bin
copy_exec /usr/bin/smartauth.sh /bin
+copy_exec /usr/bin/cardpincheck /bin
# Libraries
-# cp /usr/lib/libltdl.so* ${DESTDIR}/usr/lib
-# cp /lib/libncurses.so.5 ${DESTDIR}/lib
-if [ -e /lib/*`uname -i`*/libncursesw.so.5 ]
+# cp -L /usr/lib/libltdl.so* ${DESTDIR}/usr/lib
+# cp -L /lib/libncurses.so.5 ${DESTDIR}/lib
+if [ -e /lib/*${ARCHDIR}*/libncursesw.so.5 ]
then
- cp /lib/*`uname -i`*/libncursesw.so.5 ${DESTDIR}/lib
+ cp -L /lib/*${ARCHDIR}*/libncursesw.so.5 ${DESTDIR}/lib
else
- cp /lib/libncursesw.so.5 ${DESTDIR}/lib
+ cp -L /lib/libncursesw.so.5 ${DESTDIR}/lib
fi
+
+# LUKS keys
+cp -LRp /etc/trinity/luks/card ${DESTDIR}/tde_luks_keys
+
+exit 0