From 802504e529d5ec18cc1c49a6921dea051c99017e Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Sat, 24 Feb 2018 02:05:20 +0000 Subject: cryptsetup: updat to 2.0.1 --- abs/core/cryptsetup/PKGBUILD | 50 ++++++------ abs/core/cryptsetup/encrypt_hook | 139 ------------------------------- abs/core/cryptsetup/encrypt_install | 44 ---------- abs/core/cryptsetup/hooks-encrypt | 144 +++++++++++++++++++++++++++++++++ abs/core/cryptsetup/install-encrypt | 47 +++++++++++ abs/core/cryptsetup/install-sd-encrypt | 45 +++++++++++ abs/core/cryptsetup/sd-encrypt | 42 ---------- 7 files changed, 263 insertions(+), 248 deletions(-) delete mode 100644 abs/core/cryptsetup/encrypt_hook delete mode 100644 abs/core/cryptsetup/encrypt_install create mode 100644 abs/core/cryptsetup/hooks-encrypt create mode 100644 abs/core/cryptsetup/install-encrypt create mode 100644 abs/core/cryptsetup/install-sd-encrypt delete mode 100644 abs/core/cryptsetup/sd-encrypt diff --git a/abs/core/cryptsetup/PKGBUILD b/abs/core/cryptsetup/PKGBUILD index 238fff9..0e4fbb6 100644 --- a/abs/core/cryptsetup/PKGBUILD +++ b/abs/core/cryptsetup/PKGBUILD @@ -1,43 +1,47 @@ # $Id$ -# Maintainer: Thomas Bächler +# Maintainer: Bartłomiej Piotrowski +# Contributor: Thomas Bächler + pkgname=cryptsetup -pkgver=1.7.0 +pkgver=2.0.1 pkgrel=1 -pkgdesc="Userspace setup tool for transparent encryption of block devices using dm-crypt" -arch=(i686 x86_64) +pkgdesc='Userspace setup tool for transparent encryption of block devices using dm-crypt' +arch=(x86_64) license=('GPL') -url="http://code.google.com/p/cryptsetup/" +url='https://gitlab.com/cryptsetup/cryptsetup/' groups=('base') -depends=('device-mapper' 'libgcrypt' 'popt' 'libutil-linux') +depends=('device-mapper' 'libgcrypt' 'popt' 'libutil-linux' 'json-c' 'argon2') makedepends=('util-linux') options=('!emptydirs') -source=(https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/${pkgname}-${pkgver}.tar.xz - https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/${pkgname}-${pkgver}.tar.sign - encrypt_hook - encrypt_install - sd-encrypt) validpgpkeys=('2A2918243FDE46648D0686F9D9B0577BD93E98FC') # Milan Broz -sha256sums=('075524a7cc0db36d12119fa79116750accb1c6c8825d5faa2534b74b8ce3d148' +source=("https://www.kernel.org/pub/linux/utils/cryptsetup/v2.0/${pkgname}-${pkgver}.tar."{xz,sign} + 'hooks-encrypt' + 'install-encrypt' + 'install-sd-encrypt') +sha256sums=('41d188092c52e23d576af41cf0cfe0555d8f7efa21598d4c57c56ea1b6d9c975' 'SKIP' - '4406f8dc83f4f1b408e49d557515f721d91b358355c71fbe51f74ab27e5c84ff' - 'cfe465bdad3d958bb2332a05e04f2e1e884422a5714dfd1a0a3b9b74bf7dc6ae' - 'd442304e6a78b3513ebc53be3fe2f1276a7df470c8da701b3ece971d59979bdd') - -#prepare() { -# cd "${srcdir}"/$pkgname-${pkgver} -#} + '416aa179ce3c6a7a5eee0861f1f0a4fafac91b69e84a2aae82b6e5a6140e31e2' + '7b8c8a189f1b63cb4a0c0dd93d3452615bdc05f0e33570c78b338446a59ca750' + '7891087a588ede7a5b885c439217af325c994471e821fbfbf4f4ccce47679261') build() { cd "${srcdir}"/$pkgname-${pkgver} - ./configure --prefix=/usr --sbindir=/usr/bin --disable-static --enable-cryptsetup-reencrypt + + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --enable-libargon2 \ + --disable-static make } package() { cd "${srcdir}"/$pkgname-${pkgver} + make DESTDIR="${pkgdir}" install + # install hook - install -D -m644 "${srcdir}"/encrypt_hook "${pkgdir}"/usr/lib/initcpio/hooks/encrypt - install -D -m644 "${srcdir}"/encrypt_install "${pkgdir}"/usr/lib/initcpio/install/encrypt - install -D -m644 "${srcdir}"/sd-encrypt "${pkgdir}"/usr/lib/initcpio/install/sd-encrypt + install -D -m0644 "${srcdir}"/hooks-encrypt "${pkgdir}"/usr/lib/initcpio/hooks/encrypt + install -D -m0644 "${srcdir}"/install-encrypt "${pkgdir}"/usr/lib/initcpio/install/encrypt + install -D -m0644 "${srcdir}"/install-sd-encrypt "${pkgdir}"/usr/lib/initcpio/install/sd-encrypt } diff --git a/abs/core/cryptsetup/encrypt_hook b/abs/core/cryptsetup/encrypt_hook deleted file mode 100644 index 819c4cf..0000000 --- a/abs/core/cryptsetup/encrypt_hook +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/ash - -run_hook() { - modprobe -a -q dm-crypt >/dev/null 2>&1 - [ "${quiet}" = "y" ] && CSQUIET=">/dev/null" - - # Get keyfile if specified - ckeyfile="/crypto_keyfile.bin" - if [ -n "$cryptkey" ]; then - IFS=: read ckdev ckarg1 ckarg2 </dev/null 2>&1 - umount /ckey - ;; - *) - # Read raw data from the block device - # ckarg1 is numeric: ckarg1=offset, ckarg2=length - dd if="$resolved" 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 - IFS=: read cryptdev cryptname cryptoptions <&2 - ;; - esac - done - - if resolved=$(resolve_device "${cryptdev}" ${rootdelay}); then - if cryptsetup isLuks ${resolved} >/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 cryptsetup --key-file ${ckeyfile} open --type luks ${resolved} ${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 cryptsetup open --type luks ${resolved} ${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 echo "$crypto" | awk -F: '{ exit(NF == 5) }'; then - err "Verify parameter format: crypto=hash:cipher:keysize:offset:skip" - err "Non-LUKS decryption not attempted..." - return 1 - fi - exe="cryptsetup open --type plain $resolved $cryptname $cryptargs" - IFS=: read c_hash c_cipher c_keysize c_offset c_skip </dev/null 2>&1 + [ "${quiet}" = "y" ] && CSQUIET=">/dev/null" + + # Get keyfile if specified + ckeyfile="/crypto_keyfile.bin" + if [ -n "$cryptkey" ]; then + IFS=: read ckdev ckarg1 ckarg2 </dev/null 2>&1 + umount /ckey + ;; + *) + # Read raw data from the block device + # ckarg1 is numeric: ckarg1=offset, ckarg2=length + dd if="$resolved" 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 + IFS=: read cryptdev cryptname cryptoptions <&2 + ;; + esac + done + + if resolved=$(resolve_device "${cryptdev}" ${rootdelay}); then + if cryptsetup isLuks ${resolved} >/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 cryptsetup --key-file ${ckeyfile} open --type luks ${resolved} ${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 cryptsetup open --type luks ${resolved} ${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..." + return 1 + fi + elif [ -n "${crypto}" ]; then + [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated + msg "Non-LUKS encrypted device found..." + if echo "$crypto" | awk -F: '{ exit(NF == 5) }'; then + err "Verify parameter format: crypto=hash:cipher:keysize:offset:skip" + err "Non-LUKS decryption not attempted..." + return 1 + fi + exe="cryptsetup open --type plain $resolved $cryptname $cryptargs" + IFS=: read c_hash c_cipher c_keysize c_offset c_skip <