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

List:       kde-commits
Subject:    [kpmcore/luks-decorator] src/fs: Allow the UI to set a passphrase before creation instead of asking.
From:       Teo Mrnjavac <teo () kde ! org>
Date:       2016-04-21 15:06:08
Message-ID: E1atGBE-0000gr-90 () scm ! kde ! org
[Download RAW message or body]

Git commit 7edc601a36206f3121f5b0e1b5792433e8f89c8a by Teo Mrnjavac.
Committed on 21/04/2016 at 15:05.
Pushed by mrnjavac into branch 'luks-decorator'.

Allow the UI to set a passphrase before creation instead of asking.

M  +9    -11   src/fs/luks.cpp
M  +3    -0    src/fs/luks.h

http://commits.kde.org/kpmcore/7edc601a36206f3121f5b0e1b5792433e8f89c8a

diff --git a/src/fs/luks.cpp b/src/fs/luks.cpp
index 6f42320..54ff999 100644
--- a/src/fs/luks.cpp
+++ b/src/fs/luks.cpp
@@ -78,19 +78,13 @@ void luks::init()
 bool luks::create(Report& report, const QString& deviceNode) const
 {
     Q_ASSERT(m_innerFs);
-    QPointer<DecryptLuksDialog> dlg = new DecryptLuksDialog(0, deviceNode); //TODO: \
                parent widget instead of 0
-
-    if (dlg->exec() != QDialog::Accepted)
-    {
-        delete dlg;
-        return false;
-    }
+    Q_ASSERT(!m_passphrase.isEmpty());
 
     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({ m_passphrase });
     args.push_back({ QStringLiteral("-s"),
                      QStringLiteral("512"),
                      QStringLiteral("luksFormat"),
@@ -104,11 +98,10 @@ bool luks::create(Report& report, const QString& deviceNode) \
const  commands.push_back(QStringLiteral("echo"));
     commands.push_back(QStringLiteral("cryptsetup"));
     args.clear();
-    args.push_back({ dlg->luksPassphrase().text() });
+    args.push_back({ m_passphrase });
     args.push_back({ QStringLiteral("luksOpen"),
                      deviceNode,
-                     dlg->luksName().text() });
-    delete dlg;
+                     QStringLiteral("luks-") + readUUID(deviceNode) });
 
     ExternalCommand openCmd(commands, args);
     if (!(openCmd.run(-1) && openCmd.exitCode() == 0))
@@ -175,6 +168,11 @@ QString luks::cryptCloseTitle() const
     return i18nc("@title:menu", "Deactivate");
 }
 
+void luks::setPassphrase(const QString& passphrase)
+{
+    m_passphrase = passphrase;
+}
+
 bool luks::canMount(const QString& deviceNode) const
 {
     return m_isCryptOpen &&
diff --git a/src/fs/luks.h b/src/fs/luks.h
index 45c48c2..11eaf21 100644
--- a/src/fs/luks.h
+++ b/src/fs/luks.h
@@ -95,6 +95,8 @@ public:
     QString cryptOpenTitle() const;
     QString cryptCloseTitle() const;
 
+    void setPassphrase(const QString&);
+
     virtual bool canMount(const QString&) const;
     virtual bool canUnmount(const QString&) const;
     bool isMounted() const;
@@ -143,6 +145,7 @@ private:
     mutable FileSystem* m_innerFs;
 
     mutable bool m_isCryptOpen;
+    QString m_passphrase;
     bool m_isMounted;
 };
 }


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

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