From 5e4e2e0483436031edfd525215110f6229ac406d Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Fri, 2 Jun 2023 09:39:14 +0200 Subject: Windows: Add dropdown menu to Mount button to allow mounting without cache --- Translations/Language.ar.xml | 1 + Translations/Language.be.xml | 1 + Translations/Language.bg.xml | 1 + Translations/Language.ca.xml | 1 + Translations/Language.co.xml | 1 + Translations/Language.cs.xml | 1 + Translations/Language.da.xml | 1 + Translations/Language.de.xml | 1 + Translations/Language.el.xml | 1 + Translations/Language.es.xml | 1 + Translations/Language.et.xml | 1 + Translations/Language.eu.xml | 1 + Translations/Language.fa.xml | 1 + Translations/Language.fi.xml | 1 + Translations/Language.he.xml | 1 + Translations/Language.hu.xml | 1 + Translations/Language.id.xml | 1 + Translations/Language.it.xml | 1 + Translations/Language.ja.xml | 1 + Translations/Language.ka.xml | 1 + Translations/Language.ko.xml | 1 + Translations/Language.lv.xml | 1 + Translations/Language.my.xml | 1 + Translations/Language.nl.xml | 1 + Translations/Language.nn.xml | 1 + Translations/Language.pl.xml | 1 + Translations/Language.pt-br.xml | 1 + Translations/Language.ro.xml | 1 + Translations/Language.ru.xml | 1 + Translations/Language.sk.xml | 1 + Translations/Language.sl.xml | 1 + Translations/Language.sv.xml | 1 + Translations/Language.th.xml | 1 + Translations/Language.tr.xml | 1 + Translations/Language.uk.xml | 1 + Translations/Language.uz.xml | 1 + Translations/Language.vi.xml | 1 + Translations/Language.zh-cn.xml | 1 + Translations/Language.zh-hk.xml | 1 + Translations/Language.zh-tw.xml | 1 + src/Common/Common.h | 1 + src/Common/Dlgcode.c | 2 +- src/Common/Language.xml | 1 + src/ExpandVolume/WinMain.cpp | 1 + src/Mount/Mount.c | 76 ++++++++++++++++++++++++++++++++++++++--- src/Mount/Mount.h | 2 +- src/Mount/Resource.h | 3 +- 47 files changed, 118 insertions(+), 8 deletions(-) diff --git a/Translations/Language.ar.xml b/Translations/Language.ar.xml index 046320c9..c364942e 100644 --- a/Translations/Language.ar.xml +++ b/Translations/Language.ar.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.be.xml b/Translations/Language.be.xml index f760eabe..18fd20e7 100644 --- a/Translations/Language.be.xml +++ b/Translations/Language.be.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.bg.xml b/Translations/Language.bg.xml index 70027e97..cbeba8aa 100644 --- a/Translations/Language.bg.xml +++ b/Translations/Language.bg.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.ca.xml b/Translations/Language.ca.xml index cb99a628..a30d6253 100644 --- a/Translations/Language.ca.xml +++ b/Translations/Language.ca.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.co.xml b/Translations/Language.co.xml index e68cb7d8..74dbf69a 100644 --- a/Translations/Language.co.xml +++ b/Translations/Language.co.xml @@ -1587,6 +1587,7 @@ Information about Corsican localization: Impiegà tuttu u spaziu dispunibule VeraCrypt ùn pò micca esse messu à livellu perchè a partizione o u lettore di u sistema hè statu cifratu impieghendu una cudificazione chì ùn hè più accettata.\nDicifrate u vostru sistema prima di mette VeraCrypt à livellu è cifratelu torna. Ùn si pò micca truvà l’appiecazione di terminale pigliata in carica ; ci hè bisognu, sia di xterm, di konsole o di gnome-terminal (cù dbus-x11). + Mount Without Cache diff --git a/Translations/Language.cs.xml b/Translations/Language.cs.xml index d355cf01..b170c59f 100644 --- a/Translations/Language.cs.xml +++ b/Translations/Language.cs.xml @@ -1570,6 +1570,7 @@ Využít veškeré dostupné volné místo VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.da.xml b/Translations/Language.da.xml index 3f58ee75..58899a16 100644 --- a/Translations/Language.da.xml +++ b/Translations/Language.da.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.de.xml b/Translations/Language.de.xml index fe6d1703..bf0f6e2b 100644 --- a/Translations/Language.de.xml +++ b/Translations/Language.de.xml @@ -1573,6 +1573,7 @@ Gesamten verfügbaren freien Speicherplatz nutzen VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.el.xml b/Translations/Language.el.xml index 7569f7df..52c183f6 100644 --- a/Translations/Language.el.xml +++ b/Translations/Language.el.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.es.xml b/Translations/Language.es.xml index eab23e68..245d1e08 100644 --- a/Translations/Language.es.xml +++ b/Translations/Language.es.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.et.xml b/Translations/Language.et.xml index fac86ab9..42e190a1 100644 --- a/Translations/Language.et.xml +++ b/Translations/Language.et.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.eu.xml b/Translations/Language.eu.xml index d8ccad4c..bf8e268d 100644 --- a/Translations/Language.eu.xml +++ b/Translations/Language.eu.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.fa.xml b/Translations/Language.fa.xml index 1bd421f5..c7ea32f7 100644 --- a/Translations/Language.fa.xml +++ b/Translations/Language.fa.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.fi.xml b/Translations/Language.fi.xml index 0b38fd0e..cfd70d36 100644 --- a/Translations/Language.fi.xml +++ b/Translations/Language.fi.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.he.xml b/Translations/Language.he.xml index dd0a5092..d2023a6a 100644 --- a/Translations/Language.he.xml +++ b/Translations/Language.he.xml @@ -1571,6 +1571,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.hu.xml b/Translations/Language.hu.xml index 309b2bd8..00b8c16e 100644 --- a/Translations/Language.hu.xml +++ b/Translations/Language.hu.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.id.xml b/Translations/Language.id.xml index 0e765404..7ae8cacf 100644 --- a/Translations/Language.id.xml +++ b/Translations/Language.id.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.it.xml b/Translations/Language.it.xml index a742f8bd..4bc36a8e 100644 --- a/Translations/Language.it.xml +++ b/Translations/Language.it.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.ja.xml b/Translations/Language.ja.xml index 46ee41ae..44e52d64 100644 --- a/Translations/Language.ja.xml +++ b/Translations/Language.ja.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.ka.xml b/Translations/Language.ka.xml index 05985826..743e7798 100644 --- a/Translations/Language.ka.xml +++ b/Translations/Language.ka.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.ko.xml b/Translations/Language.ko.xml index 733339f3..8da6f848 100644 --- a/Translations/Language.ko.xml +++ b/Translations/Language.ko.xml @@ -1570,6 +1570,7 @@ 사용 가능한 모든 여유 공간 사용 시스템 파티션/드라이브가 더 이상 지원되지 않는 알고리즘으로 암호화되었기 때문에 VeraCrypt를 업데이트할 수 없습니다.\nVeraCrypt를 업데이트 하기 전에 시스템 암호를 해독한 다음 다시 암호화하십시오. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.lv.xml b/Translations/Language.lv.xml index 849dd01a..abc20e74 100644 --- a/Translations/Language.lv.xml +++ b/Translations/Language.lv.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.my.xml b/Translations/Language.my.xml index 2256cb89..0fad2a5b 100644 --- a/Translations/Language.my.xml +++ b/Translations/Language.my.xml @@ -1572,6 +1572,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.nl.xml b/Translations/Language.nl.xml index cab9a42c..d5075202 100644 --- a/Translations/Language.nl.xml +++ b/Translations/Language.nl.xml @@ -1570,6 +1570,7 @@ Alle beschikbare vrije ruimte gebruiken VeraCrypt kan niet worden bijgewerkt omdat de systeempartitie/schijf is versleuteld met een algoritme dat niet meer wordt ondersteund.\nOntsleutel uw systeem voordat u VeraCrypt bijwerkt en versleutel het dan opnieuw. Er kon geen ondersteunde terminalapplicatie worden gevonden. U hebt ofwel xterm, konsole of gnome-terminal (met dbus-x11) nodig. + Mount Without Cache diff --git a/Translations/Language.nn.xml b/Translations/Language.nn.xml index 8316da7d..4c398b25 100644 --- a/Translations/Language.nn.xml +++ b/Translations/Language.nn.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.pl.xml b/Translations/Language.pl.xml index 4f910692..b05a8914 100644 --- a/Translations/Language.pl.xml +++ b/Translations/Language.pl.xml @@ -1570,6 +1570,7 @@ Wykorzystaj całą dostępną wolną przestrzeń Nie można zaktualizować VeraCrypt, ponieważ partycję/dysk systemowy zaszyfrowano przy użyciu algorytmu, który nie jest już obsługiwany.\nProszę odszyfrować system przed aktualizacją VeraCrypt, a następnie zaszyfrować go ponownie. Nie można znaleźć obsługiwanej aplikacji terminala, potrzebujesz xterm, konsole lub gnome-terminal (z dbus-x11). + Mount Without Cache diff --git a/Translations/Language.pt-br.xml b/Translations/Language.pt-br.xml index dcaf99b0..d95fe8f2 100644 --- a/Translations/Language.pt-br.xml +++ b/Translations/Language.pt-br.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.ro.xml b/Translations/Language.ro.xml index bad34340..e9a6503e 100644 --- a/Translations/Language.ro.xml +++ b/Translations/Language.ro.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.ru.xml b/Translations/Language.ru.xml index 5b46d0dd..274ec149 100644 --- a/Translations/Language.ru.xml +++ b/Translations/Language.ru.xml @@ -1570,6 +1570,7 @@ Использовать всё свободное место VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.sk.xml b/Translations/Language.sk.xml index 496fd611..4c4dfa20 100644 --- a/Translations/Language.sk.xml +++ b/Translations/Language.sk.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.sl.xml b/Translations/Language.sl.xml index a7ad9ab0..a128219f 100644 --- a/Translations/Language.sl.xml +++ b/Translations/Language.sl.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.sv.xml b/Translations/Language.sv.xml index 230d239e..8c9c7b6c 100644 --- a/Translations/Language.sv.xml +++ b/Translations/Language.sv.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.th.xml b/Translations/Language.th.xml index 6ae207c9..e288b7d8 100644 --- a/Translations/Language.th.xml +++ b/Translations/Language.th.xml @@ -1571,6 +1571,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.tr.xml b/Translations/Language.tr.xml index 4e3145e5..8583d9ca 100644 --- a/Translations/Language.tr.xml +++ b/Translations/Language.tr.xml @@ -1570,6 +1570,7 @@ Mevcut tüm boş alanı kullan VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.uk.xml b/Translations/Language.uk.xml index 941b4413..4dd79a7c 100644 --- a/Translations/Language.uk.xml +++ b/Translations/Language.uk.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.uz.xml b/Translations/Language.uz.xml index 7592f3b4..df9f7fe0 100644 --- a/Translations/Language.uz.xml +++ b/Translations/Language.uz.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.vi.xml b/Translations/Language.vi.xml index 0443aa66..8aa31d9b 100644 --- a/Translations/Language.vi.xml +++ b/Translations/Language.vi.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.zh-cn.xml b/Translations/Language.zh-cn.xml index 1dae6049..82eccfce 100644 --- a/Translations/Language.zh-cn.xml +++ b/Translations/Language.zh-cn.xml @@ -1571,6 +1571,7 @@ 使用所有空闲空间。 VeraCrypt无法升级,因为系统分区/驱动器使用了将不再支持的算法进行加密。\n请在升级VeraCrypt之前解密系统,然后再次加密。 Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.zh-hk.xml b/Translations/Language.zh-hk.xml index 39b274eb..9889320a 100644 --- a/Translations/Language.zh-hk.xml +++ b/Translations/Language.zh-hk.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/Translations/Language.zh-tw.xml b/Translations/Language.zh-tw.xml index 52145fd3..a76daf6f 100644 --- a/Translations/Language.zh-tw.xml +++ b/Translations/Language.zh-tw.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/src/Common/Common.h b/src/Common/Common.h index 02b2929a..62ee3d65 100644 --- a/src/Common/Common.h +++ b/src/Common/Common.h @@ -93,6 +93,7 @@ typedef struct int ProtectedHidVolPim; wchar_t Label[33]; /* maximum label length is 32 for NTFS and 11 for FAT32 */ BOOL DisableMountManager; + BOOL SkipCachedPasswords; } MountOptions; #endif diff --git a/src/Common/Dlgcode.c b/src/Common/Dlgcode.c index 2c707f5d..d994aaf3 100644 --- a/src/Common/Dlgcode.c +++ b/src/Common/Dlgcode.c @@ -8887,7 +8887,7 @@ int MountVolume (HWND hwndDlg, } // If using cached passwords, check cache status first - if (password == NULL && IsPasswordCacheEmpty ()) + if (password == NULL && (mountOptions->SkipCachedPasswords || IsPasswordCacheEmpty ())) return 0; ZeroMemory (&mount, sizeof (mount)); diff --git a/src/Common/Language.xml b/src/Common/Language.xml index a2615124..a2555147 100644 --- a/src/Common/Language.xml +++ b/src/Common/Language.xml @@ -1570,6 +1570,7 @@ Use all available free space VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.\nPlease decrypt your system before upgrading VeraCrypt and then encrypt it again. Supported terminal application could not be found, you need either xterm, konsole or gnome-terminal (with dbus-x11). + Mount Without Cache diff --git a/src/ExpandVolume/WinMain.cpp b/src/ExpandVolume/WinMain.cpp index 49422319..f1e7bfad 100644 --- a/src/ExpandVolume/WinMain.cpp +++ b/src/ExpandVolume/WinMain.cpp @@ -292,6 +292,7 @@ void LoadSettings (HWND hwndDlg) defaultMountOptions.PartitionInInactiveSysEncScope = FALSE; defaultMountOptions.RecoveryMode = FALSE; defaultMountOptions.UseBackupHeader = FALSE; + defaultMountOptions.SkipCachedPasswords = FALSE; mountOptions = defaultMountOptions; diff --git a/src/Mount/Mount.c b/src/Mount/Mount.c index a5798afc..5a7e40fe 100644 --- a/src/Mount/Mount.c +++ b/src/Mount/Mount.c @@ -948,6 +948,7 @@ void LoadSettingsAndCheckModified (HWND hwndDlg, BOOL bOnlyCheckModified, BOOL* defaultMountOptions.PartitionInInactiveSysEncScope = FALSE; defaultMountOptions.RecoveryMode = FALSE; defaultMountOptions.UseBackupHeader = FALSE; + defaultMountOptions.SkipCachedPasswords = FALSE; mountOptions = defaultMountOptions; } @@ -5392,6 +5393,8 @@ ret: burn (&mountOptions.ProtectedHidVolPassword, sizeof (mountOptions.ProtectedHidVolPassword)); burn (&mountOptions.ProtectedHidVolPkcs5Prf, sizeof (mountOptions.ProtectedHidVolPkcs5Prf)); + mountOptions.SkipCachedPasswords = FALSE; + RestoreDefaultKeyFilesParam (); if (UsePreferences) @@ -5674,6 +5677,7 @@ static BOOL MountAllDevicesThreadCode (HWND hwndDlg, BOOL bPasswordPrompt) VolumePassword.Length = 0; mountOptions = defaultMountOptions; + mountOptions.SkipCachedPasswords = FALSE; bPrebootPasswordDlgMode = FALSE; VolumePim = -1; @@ -6964,12 +6968,12 @@ void DisplayDriveListContextMenu (HWND hwndDlg, LPARAM lParam) { case IDPM_SELECT_FILE_AND_MOUNT: if (SelectContainer (hwndDlg)) - MountSelectedVolume (hwndDlg, FALSE); + MountSelectedVolume (hwndDlg, FALSE, FALSE); break; case IDPM_SELECT_DEVICE_AND_MOUNT: if (SelectPartition (hwndDlg)) - MountSelectedVolume (hwndDlg, FALSE); + MountSelectedVolume (hwndDlg, FALSE, FALSE); break; case IDPM_CHECK_FILESYS: @@ -7021,6 +7025,7 @@ void DisplayDriveListContextMenu (HWND hwndDlg, LPARAM lParam) else { mountOptions = defaultMountOptions; + mountOptions.SkipCachedPasswords = FALSE; bPrebootPasswordDlgMode = FALSE; if (CheckMountList (hwndDlg, FALSE)) @@ -7080,6 +7085,49 @@ static void SignalExitCode (int exitCode) } } +#ifndef BS_SPLITBUTTON +#define BS_SPLITBUTTON 0x0000000C +#endif + +#ifndef BCN_DROPDOWN +#define BCN_DROPDOWN (0U-1250U) + 2U +#endif + +static void EnableSplitButton(HWND hwndDlg, int buttonId) +{ + HWND hwndButton = GetDlgItem(hwndDlg, buttonId); + if (hwndButton != NULL) + { + // change the button style + SetWindowLongPtr(hwndButton, GWL_STYLE, GetWindowLongPtr(hwndButton, GWL_STYLE) | BS_SPLITBUTTON); + } +} + +static HMENU CreateMountNoCacheDropdownMenu() +{ + HMENU hmenu = CreatePopupMenu(); + + // add menu items + AppendMenu(hmenu, MF_STRING, IDM_MOUNIT_NO_CACHE, GetString("IDM_MOUNT_NO_CACHE")); + + return hmenu; +} + +static void HandleMountButtonDropdown(HWND hwndButton, HWND hwndOwner, HMENU hmenu) +{ + RECT rc; + POINT pt; + + if (GetClientRect(hwndButton, &rc)) + { + pt.x = rc.left; + pt.y = rc.bottom; + ClientToScreen(hwndButton, &pt); + + TrackPopupMenu(hmenu, TPM_LEFTALIGN | TPM_TOPALIGN, pt.x, pt.y, 0, hwndOwner, NULL); + } +} + /* Except in response to the WM_INITDIALOG and WM_ENDSESSION messages, the dialog box procedure should return nonzero if it processes a message, and zero if it does not. */ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) @@ -7180,6 +7228,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa mountOptions = CmdMountOptions; InitMainDialog (hwndDlg); + EnableSplitButton(hwndDlg, IDOK); try { @@ -8130,6 +8179,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa else if (LOWORD (GetSelectedLong (GetDlgItem (hwndDlg, IDC_DRIVELIST))) == TC_MLIST_ITEM_FREE) { mountOptions = defaultMountOptions; + mountOptions.SkipCachedPasswords = FALSE; bPrebootPasswordDlgMode = FALSE; if (GetAsyncKeyState (VK_CONTROL) < 0) @@ -8179,6 +8229,18 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa } } } + else + { + LPNMHDR pnmh = (LPNMHDR)lParam; + + if (pnmh->idFrom == IDOK && pnmh->code == BCN_DROPDOWN) + { + // Create a popup menu for the split button + HMENU hmenu = CreateMountNoCacheDropdownMenu(); + HandleMountButtonDropdown(pnmh->hwndFrom, hwndDlg, hmenu); + DestroyMenu(hmenu); + } + } return 0; case WM_ERASEBKGND: @@ -8225,9 +8287,9 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa return 1; } - if ((lw == IDOK || lw == IDM_MOUNT_VOLUME || lw == IDM_MOUNT_VOLUME_OPTIONS)) + if ((lw == IDOK || lw == IDM_MOUNT_VOLUME || lw == IDM_MOUNT_VOLUME_OPTIONS || lw == IDM_MOUNIT_NO_CACHE)) { - MountSelectedVolume (hwndDlg, lw == IDM_MOUNT_VOLUME_OPTIONS); + MountSelectedVolume (hwndDlg, lw == IDM_MOUNT_VOLUME_OPTIONS, lw == IDM_MOUNIT_NO_CACHE); return 1; } @@ -8300,6 +8362,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa { mountOptions = defaultMountOptions; mountOptions.PartitionInInactiveSysEncScope = TRUE; + mountOptions.SkipCachedPasswords = FALSE; bPrebootPasswordDlgMode = TRUE; if (CheckMountList (hwndDlg, FALSE)) @@ -9147,6 +9210,7 @@ void ExtractCommandLine (HWND hwndDlg, wchar_t *lpszCommandLine) /* Defaults */ mountOptions.PreserveTimestamp = TRUE; + mountOptions.SkipCachedPasswords = FALSE; if (_wcsicmp (lpszCommandLine, L"-Embedding") == 0) { @@ -10423,6 +10487,7 @@ BOOL MountFavoriteVolumes (HWND hwnd, BOOL systemFavorites, BOOL logOnMount, BOO } mountOptions = defaultMountOptions; + mountOptions.SkipCachedPasswords = FALSE; VolumePassword.Length = 0; MultipleMountOperationInProgress = (favoriteVolumeToMount.Path.empty() || FavoriteMountOnArrivalInProgress); @@ -12397,7 +12462,7 @@ static BOOL CALLBACK BootLoaderPreferencesDlgProc (HWND hwndDlg, UINT msg, WPARA } -void MountSelectedVolume (HWND hwndDlg, BOOL mountWithOptions) +void MountSelectedVolume (HWND hwndDlg, BOOL mountWithOptions, BOOL skipCachedPasswords) { if (!VolumeSelected(hwndDlg)) { @@ -12406,6 +12471,7 @@ void MountSelectedVolume (HWND hwndDlg, BOOL mountWithOptions) else if (LOWORD (GetSelectedLong (GetDlgItem (hwndDlg, IDC_DRIVELIST))) == TC_MLIST_ITEM_FREE) { mountOptions = defaultMountOptions; + mountOptions.SkipCachedPasswords = skipCachedPasswords; bPrebootPasswordDlgMode = FALSE; if (mountWithOptions || GetAsyncKeyState (VK_CONTROL) < 0) diff --git a/src/Mount/Mount.h b/src/Mount/Mount.h index bbe05c38..90e1d417 100644 --- a/src/Mount/Mount.h +++ b/src/Mount/Mount.h @@ -108,7 +108,7 @@ int RestoreVolumeHeader (HWND hwndDlg, const wchar_t *lpszVolume); void SecurityTokenPreferencesDialog (HWND hwndDlg); static BOOL CALLBACK PerformanceSettingsDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); static BOOL CALLBACK BootLoaderPreferencesDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); -void MountSelectedVolume (HWND hwndDlg, BOOL mountWithOptions); +void MountSelectedVolume (HWND hwndDlg, BOOL mountWithOptions, BOOL skipCachedPasswords); uint32 ReadDriverConfigurationFlags (); void HookMouseWheel (HWND hwndDlg, UINT ctrlId); static BOOL HandleDriveListMouseWheelEvent (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL bListMustBePointed); diff --git a/src/Mount/Resource.h b/src/Mount/Resource.h index dc73d180..f7b3ff05 100644 --- a/src/Mount/Resource.h +++ b/src/Mount/Resource.h @@ -267,6 +267,7 @@ #define IDM_DEFAULT_MOUNT_PARAMETERS 40066 #define IDM_DECRYPT_NONSYS_VOL 40067 #define IDM_VERIFY_RESCUE_DISK_ISO 40068 +#define IDM_MOUNIT_NO_CACHE 40069 // Next default values for new objects // @@ -274,7 +275,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NO_MFC 1 #define _APS_NEXT_RESOURCE_VALUE 120 -#define _APS_NEXT_COMMAND_VALUE 40069 +#define _APS_NEXT_COMMAND_VALUE 40070 #define _APS_NEXT_CONTROL_VALUE 1179 #define _APS_NEXT_SYMED_VALUE 101 #endif -- cgit v1.2.3