tags 580636 +patch
thanks

On Fri, May 07, 2010 at 01:07:29PM +0200, Michael Schuerig wrote:
> when I log in. Apparently, the underlying mount.crypt stopped
> working with the slot 1 password, whereas it still works with the
> slot 0 one.

Yes, I too have been bitted by this bug.  Thanks for saving me some
guesswork!

Here's a patch that fixes this issue.


-- 
Congratulations!  You are the one-millionth user to log into our system.
If there's anything special we can do for you, anything at all, don't
hesitate to ask!
>From 10911692f501d2bda40456ddcbe0be826d1c091d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Bri=C3=A8re?= <[email protected]>
Date: Sat, 8 May 2010 11:57:47 -0400
Subject: [PATCH] Fix mount.crypt failure when unlocking another slot than 0

crypt_activate_by_passphrase() actually returns the unlocked slot
number, which dmc_run() eventually confused with a "0 on success" value.
This made mount.crypt mysteriously fail when unlocking another slot than
slot 0.
---
 src/crypto-dmc.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/crypto-dmc.c b/src/crypto-dmc.c
index 80eb531..6865a86 100644
--- a/src/crypto-dmc.c
+++ b/src/crypto-dmc.c
@@ -97,6 +97,8 @@ static bool dmc_run(const struct ehd_mtreq *req, struct ehd_mount *mt)
 			        strerror(-ret));
 			goto out;
 		}
+		/* crypt_activate_by_passphrase() returns the slot number */
+		ret = 0;
 	} else {
 		struct crypt_params_plain params = {.hash = req->fs_hash};
 
-- 
1.7.1

Reply via email to