You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
6.0 KiB
150 lines
6.0 KiB
4 years ago
|
diff -rupN cryptsetup-2.0.3.old/src/Makemodule.am cryptsetup-2.0.3.new/src/Makemodule.am
|
||
|
--- cryptsetup-2.0.3.old/src/Makemodule.am 2019-08-27 17:37:25.043999695 +0200
|
||
|
+++ cryptsetup-2.0.3.new/src/Makemodule.am 2019-08-27 17:39:40.303336254 +0200
|
||
|
@@ -6,6 +6,7 @@ cryptsetup_SOURCES = \
|
||
|
lib/utils_loop.c \
|
||
|
lib/utils_io.c \
|
||
|
src/utils_tools.c \
|
||
|
+ lib/utils_loop.c \
|
||
|
src/utils_password.c \
|
||
|
src/cryptsetup.c \
|
||
|
src/cryptsetup.h
|
||
|
diff -rupN cryptsetup-2.0.3.old/src/utils_password.c cryptsetup-2.0.3.new/src/utils_password.c
|
||
|
--- cryptsetup-2.0.3.old/src/utils_password.c 2019-08-27 17:37:25.043999695 +0200
|
||
|
+++ cryptsetup-2.0.3.new/src/utils_password.c 2019-08-27 17:38:35.354214280 +0200
|
||
|
@@ -256,7 +256,7 @@ int tools_get_key(const char *prompt,
|
||
|
int timeout, int verify, int pwquality,
|
||
|
struct crypt_device *cd)
|
||
|
{
|
||
|
- char tmp[1024];
|
||
|
+ char tmp[1024], *backing_file;
|
||
|
int r = -EINVAL, block;
|
||
|
|
||
|
block = tools_signals_blocked();
|
||
|
@@ -270,9 +270,11 @@ int tools_get_key(const char *prompt,
|
||
|
} else {
|
||
|
if (!prompt && !crypt_get_device_name(cd))
|
||
|
snprintf(tmp, sizeof(tmp), _("Enter passphrase: "));
|
||
|
- else if (!prompt)
|
||
|
- snprintf(tmp, sizeof(tmp), _("Enter passphrase for %s: "),
|
||
|
- crypt_get_device_name(cd));
|
||
|
+ else if (!prompt) {
|
||
|
+ backing_file = crypt_loop_backing_file(crypt_get_device_name(cd));
|
||
|
+ snprintf(tmp, sizeof(tmp), _("Enter passphrase for %s: "), backing_file ?: crypt_get_device_name(cd));
|
||
|
+ free(backing_file);
|
||
|
+ }
|
||
|
r = crypt_get_key_tty(prompt ?: tmp, key, key_size, timeout, verify, cd);
|
||
|
}
|
||
|
} else {
|
||
|
diff -rupN cryptsetup-2.0.3.old/tests/compat-test cryptsetup-2.0.3.new/tests/compat-test
|
||
|
--- cryptsetup-2.0.3.old/tests/compat-test 2019-08-27 17:37:24.942997950 +0200
|
||
|
+++ cryptsetup-2.0.3.new/tests/compat-test 2019-08-27 17:41:15.868988979 +0200
|
||
|
@@ -735,15 +735,20 @@ fi
|
||
|
which expect >/dev/null 2>&1 || skip "WARNING: expect tool missing, interactive test will be skipped." 0
|
||
|
|
||
|
prepare "[32] Interactive password retry from terminal." new
|
||
|
+if [ "$(pwd)" = "/" ]; then
|
||
|
+ EXPECT_DEV=/$IMG
|
||
|
+else
|
||
|
+ EXPECT_DEV=$(pwd)/$IMG
|
||
|
+fi
|
||
|
expect - >/dev/null <<EOF
|
||
|
proc abort {} { send_error "Timeout. "; exit 2 }
|
||
|
set timeout 10
|
||
|
eval spawn $CRYPTSETUP luksOpen -v -T 2 $LOOPDEV $DEV_NAME
|
||
|
-expect timeout abort "Enter passphrase for $LOOPDEV:"
|
||
|
+expect timeout abort "Enter passphrase for $EXPECT_DEV:"
|
||
|
sleep 0.1
|
||
|
send "$PWD0 x\n"
|
||
|
expect timeout abort "No key available with this passphrase."
|
||
|
-expect timeout abort "Enter passphrase for $LOOPDEV:"
|
||
|
+expect timeout abort "Enter passphrase for $EXPECT_DEV:"
|
||
|
sleep 0.1
|
||
|
send "$PWD0\n"
|
||
|
expect timeout abort "Key slot 0 unlocked."
|
||
|
@@ -760,11 +765,11 @@ expect - >/dev/null <<EOF
|
||
|
proc abort {} { send_error "Timeout. "; exit 2 }
|
||
|
set timeout 10
|
||
|
eval spawn $CRYPTSETUP luksOpen -v -T 2 $LOOPDEV $DEV_NAME
|
||
|
-expect timeout abort "Enter passphrase for $LOOPDEV:"
|
||
|
+expect timeout abort "Enter passphrase for $EXPECT_DEV:"
|
||
|
sleep 0.1
|
||
|
send "$PWD0 x\n"
|
||
|
expect timeout abort "No key available with this passphrase."
|
||
|
-expect timeout abort "Enter passphrase for $LOOPDEV:"
|
||
|
+expect timeout abort "Enter passphrase for $EXPECT_DEV:"
|
||
|
sleep 0.1
|
||
|
send "$PWD0 y\n"
|
||
|
expect timeout abort "No key available with this passphrase."
|
||
|
@@ -799,7 +804,7 @@ set timeout 10
|
||
|
eval spawn $CRYPTSETUP luksFormat --type luks1 $FAST_PBKDF_OPT -v $LOOPDEV
|
||
|
expect timeout abort "Are you sure? (Type uppercase yes):"
|
||
|
send "YES\n"
|
||
|
-expect timeout abort "Enter passphrase for $LOOPDEV:"
|
||
|
+expect timeout abort "Enter passphrase for $EXPECT_DEV:"
|
||
|
sleep 0.1
|
||
|
send "$PWD0\n"
|
||
|
expect timeout abort "Verify passphrase:"
|
||
|
@@ -808,7 +813,7 @@ send "$PWD0\n"
|
||
|
expect timeout abort "Command successful."
|
||
|
expect timeout abort eof
|
||
|
eval spawn $CRYPTSETUP luksOpen -v $LOOPDEV --test-passphrase
|
||
|
-expect timeout abort "Enter passphrase for $LOOPDEV:"
|
||
|
+expect timeout abort "Enter passphrase for $EXPECT_DEV:"
|
||
|
sleep 0.1
|
||
|
send "$PWD0\n"
|
||
|
expect timeout abort "Command successful."
|
||
|
@@ -829,7 +834,7 @@ expect timeout abort eof
|
||
|
eval spawn $CRYPTSETUP luksFormat --type luks1 $FAST_PBKDF_OPT -v $LOOPDEV
|
||
|
expect timeout abort "Are you sure? (Type uppercase yes):"
|
||
|
send "YES\n"
|
||
|
-expect timeout abort "Enter passphrase for $LOOPDEV:"
|
||
|
+expect timeout abort "Enter passphrase for $EXPECT_DEV:"
|
||
|
sleep 0.1
|
||
|
send "$PWD0\n"
|
||
|
expect timeout abort "Verify passphrase:"
|
||
|
@@ -838,7 +843,7 @@ send "$PWD0 x\n"
|
||
|
expect timeout abort "Passphrases do not match."
|
||
|
expect timeout abort eof
|
||
|
eval spawn $CRYPTSETUP luksOpen -v $LOOPDEV -T 1 --test-passphrase
|
||
|
-expect timeout abort "Enter passphrase for $LOOPDEV:"
|
||
|
+expect timeout abort "Enter passphrase for $EXPECT_DEV:"
|
||
|
sleep 0.1
|
||
|
send "$PWD0\n"
|
||
|
expect timeout abort "No key available with this passphrase."
|
||
|
@@ -890,7 +895,7 @@ send "$PWD1\n"
|
||
|
expect timeout abort "Command successful."
|
||
|
expect timeout abort eof
|
||
|
eval spawn $CRYPTSETUP luksOpen -v $LOOPDEV --test-passphrase
|
||
|
-expect timeout abort "Enter passphrase for $LOOPDEV:"
|
||
|
+expect timeout abort "Enter passphrase for $EXPECT_DEV:"
|
||
|
sleep 0.1
|
||
|
send "$PWD1\n"
|
||
|
expect timeout abort "Command successful."
|
||
|
@@ -908,21 +913,21 @@ eval spawn $CRYPTSETUP luksSuspend -v $D
|
||
|
expect timeout abort "Command successful."
|
||
|
expect timeout abort eof
|
||
|
eval spawn $CRYPTSETUP luksResume -v -T 3 $DEV_NAME
|
||
|
-expect timeout abort "Enter passphrase for $LOOPDEV:"
|
||
|
+expect timeout abort "Enter passphrase for $EXPECT_DEV:"
|
||
|
sleep 0.1
|
||
|
send "$PWD0 x\n"
|
||
|
expect timeout abort "No key available with this passphrase."
|
||
|
-expect timeout abort "Enter passphrase for $LOOPDEV:"
|
||
|
+expect timeout abort "Enter passphrase for $EXPECT_DEV:"
|
||
|
sleep 0.1
|
||
|
send "$PWD1\n"
|
||
|
expect timeout abort "No key available with this passphrase."
|
||
|
-expect timeout abort "Enter passphrase for $LOOPDEV:"
|
||
|
+expect timeout abort "Enter passphrase for $EXPECT_DEV:"
|
||
|
sleep 0.1
|
||
|
send "$PWD0 y\n"
|
||
|
expect timeout abort "No key available with this passphrase."
|
||
|
expect timeout abort eof
|
||
|
eval spawn $CRYPTSETUP luksResume -v $DEV_NAME
|
||
|
-expect timeout abort "Enter passphrase for $LOOPDEV:"
|
||
|
+expect timeout abort "Enter passphrase for $EXPECT_DEV:"
|
||
|
sleep 0.1
|
||
|
send "$PWD0\n"
|
||
|
expect timeout abort "Command successful."
|