--- 1.0.5-dm-crypt-start.sh.orig 2007-09-23 17:23:39.000000000 +0100 +++ 1.0.5-dm-crypt-start.sh.orig 2007-09-23 17:31:22.000000000 +0100 @@ -24,7 +24,17 @@ # swap contents do not need to be preserved between boots, luks not required. # suspend2 users should have initramfs's init handling their swap partition either way. : ${options:='-c aes -h sha1 -d /dev/urandom'} - : ${pre_mount:='mkswap ${dev}'} + if [ -n "$header" ]; then + options="-o 1 ${options}" + if [ "$header" == "`/bin/dd if=${source} bs=1 count=${#header} 2> /dev/null`" ]; then + : ${pre_mount:='mkswap ${dev}'} + else + ewarn "Swap header verification failed, not running mkswap on ${source}" + return + fi + else + : ${pre_mount:='mkswap ${dev}'} + fi else return fi @@ -218,7 +228,7 @@ unset gpg_options key loop_file target options pre_mount post_mount source swap remdev ;; - gpg_options=*|remdev=*|key=*|loop_file=*|options=*|pre_mount=*|post_mount=*|source=*) + gpg_options=*|remdev=*|key=*|loop_file=*|options=*|pre_mount=*|post_mount=*|source=*|header=*) if [[ -z ${target} && -z ${swap} ]] ; then ewarn "Ignoring setting outside target/swap section: ${targetline}" continue