From d2ff867c6bb2f60217e937029ce06559e7aba8e6 Mon Sep 17 00:00:00 2001
From: vincent PENVERN <vincent.penvern@orange.com>
Date: Mon, 27 Jan 2025 14:49:40 +0100
Subject: [PATCH] Save obfuscated luks passphrase in calamares globals
 variables

---
 src/modules/partition/gui/ChoicePage.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/modules/partition/gui/ChoicePage.cpp b/src/modules/partition/gui/ChoicePage.cpp
index a7665bbbc0..02e04345d4 100644
--- a/src/modules/partition/gui/ChoicePage.cpp
+++ b/src/modules/partition/gui/ChoicePage.cpp
@@ -41,6 +41,7 @@
 #include "utils/Logger.h"
 #include "utils/Retranslator.h"
 #include "utils/Units.h"
+#include "utils/String.h"
 #include "widgets/PrettyRadioButton.h"
 
 #include <kpmcore/core/device.h>
@@ -689,6 +690,13 @@ ChoicePage::onHomeCheckBoxStateChanged()
 void
 ChoicePage::onLeave()
 {
+    Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage();
+    if ( m_encryptWidget->state() == EncryptWidget::Encryption::Confirmed ) {
+        gs->insert( "passphrase", Calamares::String::obscure( m_encryptWidget->passphrase() ) );
+    }else{
+        gs->insert( "passphrase", "" );
+    }
+
     if ( m_config->installChoice() == InstallChoice::Alongside )
     {
         if ( m_afterPartitionSplitterWidget->splitPartitionSize() >= 0
-- 
GitLab