[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kpmcore/luks-decorator] src/fs: Cache the passphrase in a LUKS open session.
From:       Teo Mrnjavac <teo () kde ! org>
Date:       2016-04-21 16:36:40
Message-ID: E1atHaq-0008OS-T4 () scm ! kde ! org
[Download RAW message or body]

Git commit 27d5ff82e61ee87a5073f62044d43b499f6e3232 by Teo Mrnjavac.
Committed on 21/04/2016 at 16:36.
Pushed by mrnjavac into branch 'luks-decorator'.

Cache the passphrase in a LUKS open session.

M  +7    -1    src/fs/luks.cpp

http://commits.kde.org/kpmcore/27d5ff82e61ee87a5073f62044d43b499f6e3232

diff --git a/src/fs/luks.cpp b/src/fs/luks.cpp
index ae5864d..c9daa08 100644
--- a/src/fs/luks.cpp
+++ b/src/fs/luks.cpp
@@ -250,11 +250,12 @@ bool luks::cryptOpen(const QString& deviceNode)
         return false;
     }
 
+    QString passphrase = dlg->luksPassphrase().text();
     std::vector<QString> commands;
     commands.push_back(QStringLiteral("echo"));
     commands.push_back(QStringLiteral("cryptsetup"));
     std::vector<QStringList> args;
-    args.push_back({ dlg->luksPassphrase().text() });
+    args.push_back({ passphrase });
     args.push_back({ QStringLiteral("luksOpen"),
                      deviceNode,
                      QStringLiteral("luks-") + readUUID(deviceNode) });
@@ -278,7 +279,10 @@ bool luks::cryptOpen(const QString& deviceNode)
     m_isCryptOpen = (m_innerFs != nullptr);
 
     if (m_isCryptOpen)
+    {
+        m_passphrase = passphrase;
         return true;
+    }
     return false;
 }
 
@@ -306,6 +310,8 @@ bool luks::cryptClose(const QString& deviceNode)
     delete m_innerFs;
     m_innerFs = nullptr;
 
+    m_passphrase.clear();
+
     m_isCryptOpen = (m_innerFs != nullptr);
 
     if (!m_isCryptOpen)
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic