From 3e1c3f64901124e323813dbdb708202815167a60 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Tue, 13 Oct 2026 14:31:33 +0900 Subject: [PATCH] Linux: warn when a mounted volume depends on the requester's session A volume file opened with the credentials of the requesting user is served by a file system that belongs to that user's session. Ejecting the share or logging out while the volume is mounted can lose data, and GVfs does not refuse to eject a share whose file is in use. Warn after each such mount that the share must stay mounted and the session active until the volume is unmounted. Append the English message to all language files as a fallback. The indicator reaches the UI with the mount result, through a new MountVolumeRequestV2/ResponseV2 pair: a service that predates it rejects the new request before mounting, and legacy requests keep their legacy response, so that an older UI still works with a newer service. The control file format is unchanged. --- 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.fr.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.nb.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/Language.xml | 1 + src/Core/Unix/CoreService.cpp | 15 ++++++++++++--- src/Core/Unix/CoreServiceRequest.cpp | 3 +++ src/Core/Unix/CoreServiceRequest.h | 11 +++++++++++ src/Core/Unix/CoreServiceResponse.cpp | 22 ++++++++++++++++++++-- src/Core/Unix/CoreServiceResponse.h | 9 +++++++++ src/Core/Unix/CoreUnix.cpp | 4 ++++ src/Main/UserInterface.cpp | 6 ++++++ src/Volume/VolumeInfo.h | 7 ++++++- 51 files changed, 114 insertions(+), 6 deletions(-) diff --git a/Translations/Language.ar.xml b/Translations/Language.ar.xml index d6307e7e..15d47606 100644 --- a/Translations/Language.ar.xml +++ b/Translations/Language.ar.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.be.xml b/Translations/Language.be.xml index 43bcb89e..dab9aeb9 100644 --- a/Translations/Language.be.xml +++ b/Translations/Language.be.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.bg.xml b/Translations/Language.bg.xml index ace5e5b1..25d7580c 100644 --- a/Translations/Language.bg.xml +++ b/Translations/Language.bg.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.ca.xml b/Translations/Language.ca.xml index 1e717e3d..4494b76b 100644 --- a/Translations/Language.ca.xml +++ b/Translations/Language.ca.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.co.xml b/Translations/Language.co.xml index f2348c2a..c367f8aa 100644 --- a/Translations/Language.co.xml +++ b/Translations/Language.co.xml @@ -1726,6 +1726,7 @@ Information about Corsican localization: Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.cs.xml b/Translations/Language.cs.xml index 286417e6..30eca788 100644 --- a/Translations/Language.cs.xml +++ b/Translations/Language.cs.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.da.xml b/Translations/Language.da.xml index fef27cd4..399b10a2 100644 --- a/Translations/Language.da.xml +++ b/Translations/Language.da.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.de.xml b/Translations/Language.de.xml index 2b1beecc..b2c06bd4 100644 --- a/Translations/Language.de.xml +++ b/Translations/Language.de.xml @@ -1707,6 +1707,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.el.xml b/Translations/Language.el.xml index 605ba759..27a184bd 100644 --- a/Translations/Language.el.xml +++ b/Translations/Language.el.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.es.xml b/Translations/Language.es.xml index c2bede3a..8de61357 100644 --- a/Translations/Language.es.xml +++ b/Translations/Language.es.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.et.xml b/Translations/Language.et.xml index 1fd005fe..ed6238fd 100644 --- a/Translations/Language.et.xml +++ b/Translations/Language.et.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.eu.xml b/Translations/Language.eu.xml index 2d9c3a99..293fb77f 100644 --- a/Translations/Language.eu.xml +++ b/Translations/Language.eu.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.fa.xml b/Translations/Language.fa.xml index 71ae2acc..a5c76828 100644 --- a/Translations/Language.fa.xml +++ b/Translations/Language.fa.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.fi.xml b/Translations/Language.fi.xml index 9a505562..947d8b82 100644 --- a/Translations/Language.fi.xml +++ b/Translations/Language.fi.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.fr.xml b/Translations/Language.fr.xml index 4593ee3e..407c6866 100644 --- a/Translations/Language.fr.xml +++ b/Translations/Language.fr.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.he.xml b/Translations/Language.he.xml index a11c49aa..4d074583 100644 --- a/Translations/Language.he.xml +++ b/Translations/Language.he.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.hu.xml b/Translations/Language.hu.xml index a422c4ff..1812a718 100644 --- a/Translations/Language.hu.xml +++ b/Translations/Language.hu.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.id.xml b/Translations/Language.id.xml index e4756ba9..39999d05 100644 --- a/Translations/Language.id.xml +++ b/Translations/Language.id.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.it.xml b/Translations/Language.it.xml index 41ff4bed..33ef124a 100644 --- a/Translations/Language.it.xml +++ b/Translations/Language.it.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.ja.xml b/Translations/Language.ja.xml index 0c719cff..5d500ac3 100644 --- a/Translations/Language.ja.xml +++ b/Translations/Language.ja.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.ka.xml b/Translations/Language.ka.xml index a5259d75..11b7b3cc 100644 --- a/Translations/Language.ka.xml +++ b/Translations/Language.ka.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.ko.xml b/Translations/Language.ko.xml index 185d9ab8..c819e60e 100644 --- a/Translations/Language.ko.xml +++ b/Translations/Language.ko.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.lv.xml b/Translations/Language.lv.xml index 0d417db5..23585282 100644 --- a/Translations/Language.lv.xml +++ b/Translations/Language.lv.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.my.xml b/Translations/Language.my.xml index 9c0d91eb..13a69a31 100644 --- a/Translations/Language.my.xml +++ b/Translations/Language.my.xml @@ -1706,6 +1706,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.nb.xml b/Translations/Language.nb.xml index 3801242c..705236cf 100644 --- a/Translations/Language.nb.xml +++ b/Translations/Language.nb.xml @@ -1704,6 +1704,7 @@ Volumstatus utilgjengelig; prøver igjen… Noe voluminformasjon er utilgjengelig; prøver igjen… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.nl.xml b/Translations/Language.nl.xml index 2dee8f69..2a0ebfa4 100644 --- a/Translations/Language.nl.xml +++ b/Translations/Language.nl.xml @@ -1704,6 +1704,7 @@ Volumestatus niet beschikbaar; opnieuw proberen... Sommige volumegegevens zijn niet beschikbaar; opnieuw proberen… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.nn.xml b/Translations/Language.nn.xml index 5addb006..922a72e7 100644 --- a/Translations/Language.nn.xml +++ b/Translations/Language.nn.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.pl.xml b/Translations/Language.pl.xml index 9b3c581e..8fd2307c 100644 --- a/Translations/Language.pl.xml +++ b/Translations/Language.pl.xml @@ -1704,6 +1704,7 @@ Stan wolumenu niedostępny; ponawianie próby… Niektóre informacje o wolumenie są niedostępne; ponawianie próby… Bieżący program uruchamiający lub piaskownica uniemożliwia VeraCrypt uzyskanie uprawnień administratora (Linux NoNewPrivs).\n\nZamknij VeraCrypt i uruchom go poza tym ograniczonym środowiskiem. W systemie NixOS użyj natywnego pakietu VeraCrypt zamiast appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.pt-br.xml b/Translations/Language.pt-br.xml index ed8076e8..acf4165c 100644 --- a/Translations/Language.pt-br.xml +++ b/Translations/Language.pt-br.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.ro.xml b/Translations/Language.ro.xml index e449ddc7..0140fa99 100644 --- a/Translations/Language.ro.xml +++ b/Translations/Language.ro.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.ru.xml b/Translations/Language.ru.xml index 366286f8..bb02b618 100644 --- a/Translations/Language.ru.xml +++ b/Translations/Language.ru.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.sk.xml b/Translations/Language.sk.xml index 8bee652a..428bae87 100644 --- a/Translations/Language.sk.xml +++ b/Translations/Language.sk.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.sl.xml b/Translations/Language.sl.xml index 07816b95..a3f6d83c 100644 --- a/Translations/Language.sl.xml +++ b/Translations/Language.sl.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.sv.xml b/Translations/Language.sv.xml index 1d1b51c1..f14e2b7d 100644 --- a/Translations/Language.sv.xml +++ b/Translations/Language.sv.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.th.xml b/Translations/Language.th.xml index d2810d17..0f34f4fd 100644 --- a/Translations/Language.th.xml +++ b/Translations/Language.th.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.tr.xml b/Translations/Language.tr.xml index a77745b2..12050c77 100644 --- a/Translations/Language.tr.xml +++ b/Translations/Language.tr.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.uk.xml b/Translations/Language.uk.xml index e9e33228..3b41c34c 100644 --- a/Translations/Language.uk.xml +++ b/Translations/Language.uk.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.uz.xml b/Translations/Language.uz.xml index a1f645d2..1d01a6e1 100644 --- a/Translations/Language.uz.xml +++ b/Translations/Language.uz.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.vi.xml b/Translations/Language.vi.xml index f66c3f13..d5ab4cd5 100644 --- a/Translations/Language.vi.xml +++ b/Translations/Language.vi.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.zh-cn.xml b/Translations/Language.zh-cn.xml index 16e187c0..33c90ef1 100644 --- a/Translations/Language.zh-cn.xml +++ b/Translations/Language.zh-cn.xml @@ -1705,6 +1705,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.zh-hk.xml b/Translations/Language.zh-hk.xml index f7aa04ea..472956d5 100644 --- a/Translations/Language.zh-hk.xml +++ b/Translations/Language.zh-hk.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/Translations/Language.zh-tw.xml b/Translations/Language.zh-tw.xml index 6ed25967..d75a1ce1 100644 --- a/Translations/Language.zh-tw.xml +++ b/Translations/Language.zh-tw.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/src/Common/Language.xml b/src/Common/Language.xml index 7f39ee3f..34a39a20 100644 --- a/src/Common/Language.xml +++ b/src/Common/Language.xml @@ -1704,6 +1704,7 @@ Volume status unavailable; retrying… Some volume information is unavailable; retrying… The current launcher or sandbox blocks VeraCrypt from obtaining administrator privileges (Linux NoNewPrivs).\n\nClose VeraCrypt and start it outside this restricted environment. On NixOS, use the native VeraCrypt package instead of appimage-run. + VeraCrypt could not open the volume file with administrator privileges, so it opened the file with your user account's access rights:\n{0}\n\nKeep the source share mounted and your user session active until this VeraCrypt volume is unmounted. Ejecting the share or logging out can lose data. For regular use, store the volume where VeraCrypt can open it with administrator privileges, for example on a share mounted with the kernel CIFS client. diff --git a/src/Core/Unix/CoreService.cpp b/src/Core/Unix/CoreService.cpp index 8cf2f0f5..2e71c9c2 100644 --- a/src/Core/Unix/CoreService.cpp +++ b/src/Core/Unix/CoreService.cpp @@ -1337,9 +1337,13 @@ namespace VeraCrypt MountVolumeRequest *mountRequest = dynamic_cast (request.get()); if (mountRequest) { - MountVolumeResponse ( - Core->MountVolume (*mountRequest->Options) - ).Serialize (outputStream); + shared_ptr mountedVolume = Core->MountVolume (*mountRequest->Options); +#ifdef TC_LINUX + if (dynamic_cast (mountRequest)) + MountVolumeResponseV2 (mountedVolume).Serialize (outputStream); + else +#endif + MountVolumeResponse (mountedVolume).Serialize (outputStream); continue; } @@ -1454,8 +1458,13 @@ namespace VeraCrypt shared_ptr CoreService::RequestMountVolume (MountOptions &options) { +#ifdef TC_LINUX + MountVolumeRequestV2 request (&options); + return SendRequest (request)->MountedVolumeInfo; +#else MountVolumeRequest request (&options); return SendRequest (request)->MountedVolumeInfo; +#endif } void CoreService::RequestSetFileOwner (const FilesystemPath &path, const UserId &owner) diff --git a/src/Core/Unix/CoreServiceRequest.cpp b/src/Core/Unix/CoreServiceRequest.cpp index d72f4382..5dde6ce3 100644 --- a/src/Core/Unix/CoreServiceRequest.cpp +++ b/src/Core/Unix/CoreServiceRequest.cpp @@ -355,5 +355,8 @@ namespace VeraCrypt TC_SERIALIZER_FACTORY_ADD_CLASS (GetDeviceSizeRequest); TC_SERIALIZER_FACTORY_ADD_CLASS (GetHostDevicesRequest); TC_SERIALIZER_FACTORY_ADD_CLASS (MountVolumeRequest); +#ifdef TC_LINUX + TC_SERIALIZER_FACTORY_ADD_CLASS (MountVolumeRequestV2); +#endif TC_SERIALIZER_FACTORY_ADD_CLASS (SetFileOwnerRequest); } diff --git a/src/Core/Unix/CoreServiceRequest.h b/src/Core/Unix/CoreServiceRequest.h index 10e4eeb4..4df598b3 100644 --- a/src/Core/Unix/CoreServiceRequest.h +++ b/src/Core/Unix/CoreServiceRequest.h @@ -172,6 +172,17 @@ namespace VeraCrypt shared_ptr DeserializedOptions; }; +#ifdef TC_LINUX + // A distinct request opts into the extended response. Old services reject it + // during deserialization, before mounting; legacy requests keep their old reply. + struct MountVolumeRequestV2 : MountVolumeRequest + { + MountVolumeRequestV2 () { } + MountVolumeRequestV2 (MountOptions *options) : MountVolumeRequest (options) { } + static Serializable *GetNewSerializable () { return new MountVolumeRequestV2(); } + }; +#endif + struct SetFileOwnerRequest : CoreServiceRequest { diff --git a/src/Core/Unix/CoreServiceResponse.cpp b/src/Core/Unix/CoreServiceResponse.cpp index 6e742095..b39bf601 100644 --- a/src/Core/Unix/CoreServiceResponse.cpp +++ b/src/Core/Unix/CoreServiceResponse.cpp @@ -116,16 +116,31 @@ namespace VeraCrypt // MountVolumeResponse void MountVolumeResponse::DeserializeData (shared_ptr stream) { - Serializer sr (stream); MountedVolumeInfo = Serializable::DeserializeNew (stream); } void MountVolumeResponse::SerializeData (shared_ptr stream) const { - Serializer sr (stream); MountedVolumeInfo->Serialize (stream); } +#ifdef TC_LINUX + void MountVolumeResponseV2::DeserializeData (shared_ptr stream) + { + MountVolumeResponse::DeserializeData (stream); + Serializer sr (stream); + sr.Deserialize ("RequesterBacked", MountedVolumeInfo->RequesterBacked); + } + + void MountVolumeResponseV2::SerializeData (shared_ptr stream) const + { + MountVolumeResponse::SerializeData (stream); + Serializer sr (stream); + // Neither the legacy response nor the shared control file gains a field. + sr.Serialize ("RequesterBacked", MountedVolumeInfo->RequesterBacked); + } +#endif + // SetFileOwnerResponse void SetFileOwnerResponse::DeserializeData (shared_ptr stream) { @@ -149,5 +164,8 @@ namespace VeraCrypt TC_SERIALIZER_FACTORY_ADD_CLASS (ExecuteOpenBSDFFSFormatterResponse); #endif TC_SERIALIZER_FACTORY_ADD_CLASS (MountVolumeResponse); +#ifdef TC_LINUX + TC_SERIALIZER_FACTORY_ADD_CLASS (MountVolumeResponseV2); +#endif TC_SERIALIZER_FACTORY_ADD_CLASS (SetFileOwnerResponse); } diff --git a/src/Core/Unix/CoreServiceResponse.h b/src/Core/Unix/CoreServiceResponse.h index 61c7d31f..f9f521b9 100644 --- a/src/Core/Unix/CoreServiceResponse.h +++ b/src/Core/Unix/CoreServiceResponse.h @@ -100,6 +100,15 @@ namespace VeraCrypt shared_ptr MountedVolumeInfo; }; +#ifdef TC_LINUX + struct MountVolumeResponseV2 : MountVolumeResponse + { + MountVolumeResponseV2 () { } + MountVolumeResponseV2 (shared_ptr volumeInfo) : MountVolumeResponse (volumeInfo) { } + TC_SERIALIZABLE (MountVolumeResponseV2); + }; +#endif + struct SetFileOwnerResponse : CoreServiceResponse { SetFileOwnerResponse () { } diff --git a/src/Core/Unix/CoreUnix.cpp b/src/Core/Unix/CoreUnix.cpp index 8c63176b..9e0dc9f9 100644 --- a/src/Core/Unix/CoreUnix.cpp +++ b/src/Core/Unix/CoreUnix.cpp @@ -1457,6 +1457,10 @@ namespace VeraCrypt if (!mountedVolume) throw ParameterIncorrect (SRC_POS); +#ifdef TC_LINUX + mountedVolume->RequesterBacked = volume->GetFile()->IsRequesterBacked(); +#endif + VolumeEventArgs eventArgs (mountedVolume); VolumeMountedEvent.Raise (eventArgs); diff --git a/src/Main/UserInterface.cpp b/src/Main/UserInterface.cpp index 4633bdaf..c70b1108 100644 --- a/src/Main/UserInterface.cpp +++ b/src/Main/UserInterface.cpp @@ -1022,6 +1022,12 @@ namespace VeraCrypt { shared_ptr mountedVolume = (dynamic_cast (args)).mVolume; +#ifdef TC_LINUX + // Shown for every mount, including those made to create a volume. + if (mountedVolume->RequesterBacked) + ShowWarning (StringFormatter (LangString["LINUX_REQUESTER_BACKED_VOLUME"], wstring (mountedVolume->Path))); +#endif + if (Preferences.OpenExplorerWindowAfterMount && !mountedVolume->MountPoint.IsEmpty()) OpenExplorerWindow (mountedVolume->MountPoint); } diff --git a/src/Volume/VolumeInfo.h b/src/Volume/VolumeInfo.h index 9c1cd503..64692e11 100644 --- a/src/Volume/VolumeInfo.h +++ b/src/Volume/VolumeInfo.h @@ -36,7 +36,7 @@ namespace VeraCrypt class VolumeInfo : public Serializable { public: - VolumeInfo () : Discovery (DiscoveryUnknown) { } + VolumeInfo () : Discovery (DiscoveryUnknown), RequesterBacked (false) { } virtual ~VolumeInfo () { } TC_SERIALIZABLE (VolumeInfo); @@ -50,6 +50,11 @@ namespace VeraCrypt enum DiscoveryState { DiscoveryUnknown, ImageAttached, ImageAbsent, ControlUnavailable }; DiscoveryState Discovery; + // Mount result only, not part of the control file: the volume file was opened + // with the credentials of the requesting user (Linux). Its storage may depend + // on that user's session. + bool RequesterBacked; + // Modifying this structure can introduce incompatibility with previous versions DirectoryPath AuxMountPoint; uint32 EncryptionAlgorithmBlockSize;