Allow using passphrase provided in options struct for LuksOpen (thanks to Waldemar...
authorMilan Broz <gmazyland@gmail.com>
Mon, 17 Aug 2009 11:03:29 +0000 (11:03 +0000)
committerMilan Broz <gmazyland@gmail.com>
Mon, 17 Aug 2009 11:03:29 +0000 (11:03 +0000)
git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@85 36d66b0a-2a48-0410-832c-cd162a569da5

ChangeLog
lib/setup.c

index 5799f5f..34dedf5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
 2009-08-17  Milan Broz  <mbroz@redhat.com>
-       * Fix PBKDF2 speed calculation for large passhrases
+       * Fix PBKDF2 speed calculation for large passhrases.
+       * Allow using passphrase provided in options struct for LuksOpen.
 
 2009-07-30  Milan Broz  <mbroz@redhat.com>
        * Fix errors when compiled with LUKS_DEBUG.
index 601ddf2..12769cf 100644 (file)
@@ -555,7 +555,12 @@ static int __crypt_luks_open(int arg, struct setup_backend *backend, struct cryp
 start:
        mk=NULL;
 
-       if(get_key(prompt, &password, &passwordLen, 0, options->key_file, options->passphrase_fd, options->timeout, options->flags))
+       if(options->passphrase) {
+               passwordLen = strlen(options->passphrase);
+               password = safe_alloc(passwordLen + 1);
+               strncpy(password, options->passphrase, passwordLen + 1);
+               tries = 0;
+       } else if(get_key(prompt, &password, &passwordLen, 0, options->key_file, options->passphrase_fd, options->timeout, options->flags))
                tries--;
        else
                tries = 0;