From 47cb6752ba4124f8ab88d18be5b562a91030901d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Wed, 18 May 2016 00:44:15 +0100 Subject: [PATCH] Use batch mode of cryptsetup to format luks volume. --- src/fs/luks.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/fs/luks.cpp b/src/fs/luks.cpp index 95d1c7a..8cf14d2 100644 --- a/src/fs/luks.cpp +++ b/src/fs/luks.cpp @@ -46,7 +46,7 @@ luks::luks(qint64 firstsector, , m_isCryptOpen(false) , m_isMounted(false) { - // m_Create = findExternal(QStringLiteral("cryptsetup")) ? cmdSupportFileSystem : cmdSupportNone; + m_Create = findExternal(QStringLiteral("cryptsetup")) ? cmdSupportFileSystem : cmdSupportNone; m_SetLabel = cmdSupportNone; m_GetLabel = cmdSupportFileSystem; m_UpdateUUID = findExternal(QStringLiteral("cryptsetup")) ? cmdSupportFileSystem : cmdSupportNone; @@ -88,10 +88,11 @@ bool luks::create(Report& report, const QString& deviceNode) const ExternalCommand createCmd(report, QStringLiteral("cryptsetup"), { QStringLiteral("-s"), QStringLiteral("512"), + QStringLiteral("--batch-mode"), QStringLiteral("luksFormat"), deviceNode }); if (!( createCmd.start(-1) && - createCmd.write(m_passphrase.toUtf8() + '\n' + m_passphrase.toUtf8() + '\n') == 2*(m_passphrase.toUtf8().length() + 1) && + createCmd.write(m_passphrase.toUtf8() + '\n') == m_passphrase.toUtf8().length() + 1 && createCmd.waitFor() && createCmd.exitCode() == 0)) { return false;