summaryrefslogtreecommitdiff
path: root/testing/cryptsetup
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-11-15 14:34:01 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-11-15 14:34:01 +0000
commit28b13b7e8e6e1e4fa1593f0dfb1c37569f2f90a8 (patch)
treeb5961b2312f5afe599dba0d1b9a3b6f6e3d04091 /testing/cryptsetup
parent3d151dfc8e08b65c2c1d4b5e8081562d56ee7d41 (diff)
Tue Nov 15 14:33:58 UTC 2011
Diffstat (limited to 'testing/cryptsetup')
-rw-r--r--testing/cryptsetup/PKGBUILD38
-rw-r--r--testing/cryptsetup/cryptsetup-fix-crypt_get_volume_key_size-for-plain-device.patch94
-rw-r--r--testing/cryptsetup/encrypt_hook148
-rw-r--r--testing/cryptsetup/encrypt_install26
4 files changed, 0 insertions, 306 deletions
diff --git a/testing/cryptsetup/PKGBUILD b/testing/cryptsetup/PKGBUILD
deleted file mode 100644
index e3c2872f5..000000000
--- a/testing/cryptsetup/PKGBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# $Id: PKGBUILD 141965 2011-11-03 18:49:44Z thomas $
-# Maintainer: Thomas Bächler <thomas@archlinux.org>
-pkgname=cryptsetup
-pkgver=1.4.0
-pkgrel=2
-pkgdesc="Userspace setup tool for transparent encryption of block devices using dm-crypt"
-arch=(i686 x86_64)
-license=('GPL')
-url="http://code.google.com/p/cryptsetup/"
-groups=('base')
-depends=('device-mapper>=2.02.85-2' 'libgcrypt' 'popt')
-conflicts=('mkinitcpio<0.7')
-options=('!libtool' '!emptydirs')
-source=(http://cryptsetup.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2
- encrypt_hook
- encrypt_install
- cryptsetup-fix-crypt_get_volume_key_size-for-plain-device.patch)
-sha256sums=('96d682853c8019cfeae0b21250cd2d00af42e46251807e8dbda2ff8427c2e9ed'
- '811bbea1337106ad811731c746d73ee81039bad00aef52398e3a377ad0766757'
- 'd4380195351b70abf8fcb3cd19461879c55a7a07e4915d1f0365b295b112a573'
- '6fa1d3172014ba3ba96f7a67acbcae7f26b24a61abb84b3917f526a54f81dd87')
-build() {
- cd "${srcdir}"/$pkgname-${pkgver}
- patch -p0 -i "${srcdir}"/cryptsetup-fix-crypt_get_volume_key_size-for-plain-device.patch
- ./configure --prefix=/usr --disable-static --sbindir=/sbin --libdir=/lib
- make
-}
-
-package() {
- cd "${srcdir}"/$pkgname-${pkgver}
- make DESTDIR="${pkgdir}" install
- # install hook
- install -D -m644 "${srcdir}"/encrypt_hook "${pkgdir}"/lib/initcpio/hooks/encrypt
- install -D -m644 "${srcdir}"/encrypt_install "${pkgdir}"/lib/initcpio/install/encrypt
- # Fix pkgconfig location
- install -d -m755 "${pkgdir}"/usr/lib
- mv "${pkgdir}"/lib/pkgconfig "${pkgdir}"/usr/lib/
-}
diff --git a/testing/cryptsetup/cryptsetup-fix-crypt_get_volume_key_size-for-plain-device.patch b/testing/cryptsetup/cryptsetup-fix-crypt_get_volume_key_size-for-plain-device.patch
deleted file mode 100644
index f35226122..000000000
--- a/testing/cryptsetup/cryptsetup-fix-crypt_get_volume_key_size-for-plain-device.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-Index: ChangeLog
-===================================================================
---- ChangeLog (Revision 664)
-+++ ChangeLog (Revision 665)
-@@ -1,3 +1,6 @@
-+2011-10-27 Milan Broz <mbroz@redhat.com>
-+ * Fix crypt_get_volume_key_size() for plain device.
-+
- 2011-10-25 Milan Broz <mbroz@redhat.com>
- * Print informative message in isLuks only in verbose mode.
- * Version 1.4.0.
-Index: tests/api-test.c
-===================================================================
---- tests/api-test.c (Revision 664)
-+++ tests/api-test.c (Revision 665)
-@@ -660,6 +660,11 @@
-
- FAIL_(crypt_init_by_name_and_header(&cd, CDEVICE_1, H_DEVICE),"can't init plain device by header device");
- OK_(crypt_init_by_name(&cd, CDEVICE_1));
-+ OK_(strcmp(cipher_mode,crypt_get_cipher_mode(cd)));
-+ OK_(strcmp(cipher,crypt_get_cipher(cd)));
-+ EQ_((int)key_size, crypt_get_volume_key_size(cd));
-+ EQ_(params.skip, crypt_get_iv_offset(cd));
-+ EQ_(params.offset, crypt_get_data_offset(cd));
- OK_(crypt_deactivate(cd, CDEVICE_1));
- crypt_free(cd);
-
-Index: lib/setup.c
-===================================================================
---- lib/setup.c (Revision 664)
-+++ lib/setup.c (Revision 665)
-@@ -56,6 +56,7 @@
- char *plain_cipher;
- char *plain_cipher_mode;
- char *plain_uuid;
-+ unsigned int plain_key_size;
-
- /* used in CRYPT_LOOPAES */
- struct crypt_params_loopaes loopaes_hdr;
-@@ -677,6 +678,7 @@
- (*cd)->plain_hdr.hash = NULL; /* no way to get this */
- (*cd)->plain_hdr.offset = dmd.offset;
- (*cd)->plain_hdr.skip = dmd.iv_offset;
-+ (*cd)->plain_key_size = dmd.vk->keylength;
-
- r = crypt_parse_name_and_mode(dmd.cipher, cipher, NULL, cipher_mode);
- if (!r) {
-@@ -754,6 +756,7 @@
- return -EINVAL;
- }
-
-+ cd->plain_key_size = volume_key_size;
- cd->volume_key = crypt_alloc_volume_key(volume_key_size, NULL);
- if (!cd->volume_key)
- return -ENOMEM;
-@@ -1516,7 +1519,7 @@
- }
-
- r = process_key(cd, cd->plain_hdr.hash,
-- cd->volume_key->keylength,
-+ cd->plain_key_size,
- passphrase, passphrase_size, &vk);
- if (r < 0)
- goto out;
-@@ -1586,7 +1589,7 @@
- goto out;
-
- r = process_key(cd, cd->plain_hdr.hash,
-- cd->volume_key->keylength,
-+ cd->plain_key_size,
- passphrase_read, passphrase_size_read, &vk);
- if (r < 0)
- goto out;
-@@ -1658,8 +1661,7 @@
- if (!name)
- return -EINVAL;
-
-- if (!volume_key || !volume_key_size || !cd->volume_key ||
-- volume_key_size != cd->volume_key->keylength) {
-+ if (!volume_key || !volume_key_size || volume_key_size != cd->plain_key_size) {
- log_err(cd, _("Incorrect volume key specified for plain device.\n"));
- return -EINVAL;
- }
-@@ -1976,8 +1978,8 @@
-
- int crypt_get_volume_key_size(struct crypt_device *cd)
- {
-- if (isPLAIN(cd->type) && cd->volume_key)
-- return cd->volume_key->keylength;
-+ if (isPLAIN(cd->type))
-+ return cd->plain_key_size;
-
- if (isLUKS(cd->type))
- return cd->hdr.keyBytes;
diff --git a/testing/cryptsetup/encrypt_hook b/testing/cryptsetup/encrypt_hook
deleted file mode 100644
index 956b18023..000000000
--- a/testing/cryptsetup/encrypt_hook
+++ /dev/null
@@ -1,148 +0,0 @@
-# vim: set ft=sh:
-# TODO this one needs some work to work with lots of different
-# encryption schemes
-run_hook ()
-{
- /sbin/modprobe -a -q dm-crypt >/dev/null 2>&1
- if [ -e "/sys/class/misc/device-mapper" ]; then
- if [ ! -e "/dev/mapper/control" ]; then
- mkdir /dev/mapper
- mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |')
- fi
- [ "${quiet}" = "y" ] && CSQUIET=">/dev/null"
-
- # Get keyfile if specified
- ckeyfile="/crypto_keyfile.bin"
- if [ "x${cryptkey}" != "x" ]; then
- ckdev="$(echo "${cryptkey}" | cut -d: -f1)"
- ckarg1="$(echo "${cryptkey}" | cut -d: -f2)"
- ckarg2="$(echo "${cryptkey}" | cut -d: -f3)"
- if poll_device "${ckdev}" ${rootdelay}; then
- case ${ckarg1} in
- *[!0-9]*)
- # Use a file on the device
- # ckarg1 is not numeric: ckarg1=filesystem, ckarg2=path
- mkdir /ckey
- mount -r -t ${ckarg1} ${ckdev} /ckey
- dd if=/ckey/${ckarg2} of=${ckeyfile} >/dev/null 2>&1
- umount /ckey
- ;;
- *)
- # Read raw data from the block device
- # ckarg1 is numeric: ckarg1=offset, ckarg2=length
- dd if=${ckdev} of=${ckeyfile} bs=1 skip=${ckarg1} count=${ckarg2} >/dev/null 2>&1
- ;;
- esac
- fi
- [ ! -f ${ckeyfile} ] && echo "Keyfile could not be opened. Reverting to passphrase."
- fi
-
- if [ -n "${cryptdevice}" ]; then
- DEPRECATED_CRYPT=0
- cryptdev="$(echo "${cryptdevice}" | cut -d: -f1)"
- cryptname="$(echo "${cryptdevice}" | cut -d: -f2)"
- cryptoptions="$(echo "${cryptdevice}" | cut -d: -f3)"
- else
- DEPRECATED_CRYPT=1
- cryptdev="${root}"
- cryptname="root"
- fi
-
- warn_deprecated() {
- echo "The syntax 'root=${root}' where '${root}' is an encrypted volume is deprecated"
- echo "Use 'cryptdevice=${root}:root root=/dev/mapper/root' instead."
- }
-
- OLDIFS="${IFS}"
- IFS=","
- for cryptopt in ${cryptoptions}; do
- case ${cryptopt} in
- allow-discards)
- echo "Enabling TRIM/discard support."
- cryptargs="${cryptargs} --allow-discards"
- ;;
- *)
- echo "Encryption option '${cryptopt}' not known, ignoring." >&2
- ;;
- esac
- done
- IFS="${OLDIFS}"
-
- if poll_device "${cryptdev}" ${rootdelay}; then
- if /sbin/cryptsetup isLuks ${cryptdev} >/dev/null 2>&1; then
- [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated
- dopassphrase=1
- # If keyfile exists, try to use that
- if [ -f ${ckeyfile} ]; then
- if eval /sbin/cryptsetup --key-file ${ckeyfile} luksOpen ${cryptdev} ${cryptname} ${cryptargs} ${CSQUIET}; then
- dopassphrase=0
- else
- echo "Invalid keyfile. Reverting to passphrase."
- fi
- fi
- # Ask for a passphrase
- if [ ${dopassphrase} -gt 0 ]; then
- echo ""
- echo "A password is required to access the ${cryptname} volume:"
-
- #loop until we get a real password
- while ! eval /sbin/cryptsetup luksOpen ${cryptdev} ${cryptname} ${cryptargs} ${CSQUIET}; do
- sleep 2;
- done
- fi
- if [ -e "/dev/mapper/${cryptname}" ]; then
- if [ ${DEPRECATED_CRYPT} -eq 1 ]; then
- export root="/dev/mapper/root"
- fi
- else
- err "Password succeeded, but ${cryptname} creation failed, aborting..."
- exit 1
- fi
- elif [ -n "${crypto}" ]; then
- [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated
- msg "Non-LUKS encrypted device found..."
- if [ $# -ne 5 ]; then
- err "Verify parameter format: crypto=hash:cipher:keysize:offset:skip"
- err "Non-LUKS decryption not attempted..."
- return 1
- fi
- exe="/sbin/cryptsetup create ${cryptname} ${cryptdev} ${cryptargs}"
- tmp=$(echo "${crypto}" | cut -d: -f1)
- [ -n "${tmp}" ] && exe="${exe} --hash \"${tmp}\""
- tmp=$(echo "${crypto}" | cut -d: -f2)
- [ -n "${tmp}" ] && exe="${exe} --cipher \"${tmp}\""
- tmp=$(echo "${crypto}" | cut -d: -f3)
- [ -n "${tmp}" ] && exe="${exe} --key-size \"${tmp}\""
- tmp=$(echo "${crypto}" | cut -d: -f4)
- [ -n "${tmp}" ] && exe="${exe} --offset \"${tmp}\""
- tmp=$(echo "${crypto}" | cut -d: -f5)
- [ -n "${tmp}" ] && exe="${exe} --skip \"${tmp}\""
- if [ -f ${ckeyfile} ]; then
- exe="${exe} --key-file ${ckeyfile}"
- else
- exe="${exe} --verify-passphrase"
- echo ""
- echo "A password is required to access the ${cryptname} volume:"
- fi
- eval "${exe} ${CSQUIET}"
-
- if [ $? -ne 0 ]; then
- err "Non-LUKS device decryption failed. verify format: "
- err " crypto=hash:cipher:keysize:offset:skip"
- exit 1
- fi
- if [ -e "/dev/mapper/${cryptname}" ]; then
- if [ ${DEPRECATED_CRYPT} -eq 1 ]; then
- export root="/dev/mapper/root"
- fi
- else
- err "Password succeeded, but ${cryptname} creation failed, aborting..."
- exit 1
- fi
- else
- err "Failed to open encryption mapping: The device ${cryptdev} is not a LUKS volume and the crypto= paramater was not specified."
- fi
- fi
- rm -f ${ckeyfile}
- fi
-}
diff --git a/testing/cryptsetup/encrypt_install b/testing/cryptsetup/encrypt_install
deleted file mode 100644
index 13174ec06..000000000
--- a/testing/cryptsetup/encrypt_install
+++ /dev/null
@@ -1,26 +0,0 @@
-# vim: set ft=sh:
-
-build()
-{
- if [ -z "${CRYPTO_MODULES}" ]; then
- MODULES=" dm-crypt $(all_modules "/crypto/") "
- else
- MODULES=" dm-crypt ${CRYPTO_MODULES} "
- fi
- FILES=""
- SCRIPT="encrypt"
- [ -f "/sbin/cryptsetup" ] && add_binary "/sbin/cryptsetup" "/sbin/cryptsetup"
- [ -f "/usr/sbin/cryptsetup" ] && add_binary "/usr/sbin/cryptsetup" "/sbin/cryptsetup"
- add_binary "/sbin/dmsetup"
- add_file "/lib/udev/rules.d/10-dm.rules"
- add_file "/lib/udev/rules.d/13-dm-disk.rules"
- add_file "/lib/udev/rules.d/95-dm-notify.rules"
- add_file "/lib/initcpio/udev/11-dm-initramfs.rules" "/lib/udev/rules.d/11-dm-initramfs.rules"
-}
-
-help ()
-{
-cat<<HELPEOF
- This hook allows for an encrypted root device.
-HELPEOF
-}