mirror of
https://github.com/veracrypt/VeraCrypt
synced 2024-11-10 13:13:34 +01:00
Linux/MacOSX: A configuration option for default hash and default TrueCrypt mode used for mounting volumes (Menu Settings -> Default Mount Parameters). Implement priority of command line arguments over default values.
This commit is contained in:
parent
6e73a8a393
commit
ba1e9c8f4d
24
src/Main/Forms/Forms.cpp
Normal file → Executable file
24
src/Main/Forms/Forms.cpp
Normal file → Executable file
@ -137,6 +137,10 @@ MainFrameBase::MainFrameBase( wxWindow* parent, wxWindowID id, const wxString& t
|
||||
DefaultKeyfilesMenuItem = new wxMenuItem( SettingsMenu, wxID_ANY, wxString( _("Default Keyfiles...") ) , wxEmptyString, wxITEM_NORMAL );
|
||||
SettingsMenu->Append( DefaultKeyfilesMenuItem );
|
||||
|
||||
wxMenuItem* DefaultMountParametersMenuItem;
|
||||
DefaultMountParametersMenuItem = new wxMenuItem( SettingsMenu, wxID_ANY, wxString( _("Default Mount Parameters...") ) , wxEmptyString, wxITEM_NORMAL );
|
||||
SettingsMenu->Append( DefaultMountParametersMenuItem );
|
||||
|
||||
wxMenuItem* SecurityTokenPreferencesMenuItem;
|
||||
SecurityTokenPreferencesMenuItem = new wxMenuItem( SettingsMenu, wxID_ANY, wxString( _("Security Tokens...") ) , wxEmptyString, wxITEM_NORMAL );
|
||||
SettingsMenu->Append( SecurityTokenPreferencesMenuItem );
|
||||
@ -428,6 +432,7 @@ MainFrameBase::MainFrameBase( wxWindow* parent, wxWindowID id, const wxString& t
|
||||
this->Connect( WipeCachedPasswordsMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnWipeCacheButtonClick ) );
|
||||
this->Connect( HotkeysMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnHotkeysMenuItemSelected ) );
|
||||
this->Connect( DefaultKeyfilesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDefaultKeyfilesMenuItemSelected ) );
|
||||
this->Connect( DefaultMountParametersMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDefaultMountParametersMenuItemSelected ) );
|
||||
this->Connect( SecurityTokenPreferencesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnSecurityTokenPreferencesMenuItemSelected ) );
|
||||
this->Connect( PreferencesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnPreferencesMenuItemSelected ) );
|
||||
this->Connect( UserGuideMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnUserGuideMenuItemSelected ) );
|
||||
@ -490,6 +495,7 @@ MainFrameBase::~MainFrameBase()
|
||||
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnWipeCacheButtonClick ) );
|
||||
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnHotkeysMenuItemSelected ) );
|
||||
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDefaultKeyfilesMenuItemSelected ) );
|
||||
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDefaultMountParametersMenuItemSelected ) );
|
||||
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnSecurityTokenPreferencesMenuItemSelected ) );
|
||||
this->Disconnect( wxID_PREFERENCES, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnPreferencesMenuItemSelected ) );
|
||||
this->Disconnect( wxID_HELP, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnUserGuideMenuItemSelected ) );
|
||||
@ -1862,6 +1868,24 @@ PreferencesDialogBase::PreferencesDialogBase( wxWindow* parent, wxWindowID id, c
|
||||
CachePasswordsCheckBox = new wxCheckBox( DefaultMountOptionsPage, wxID_ANY, _("Cache passwords in memory"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
sbSizer15->Add( CachePasswordsCheckBox, 0, wxALL, 5 );
|
||||
|
||||
TrueCryptModeCheckBox = new wxCheckBox( DefaultMountOptionsPage, wxID_ANY, _("TrueCrypt Mode"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
sbSizer15->Add( TrueCryptModeCheckBox, 0, wxALL, 5 );
|
||||
|
||||
wxBoxSizer* bSizer163;
|
||||
bSizer163 = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
Pkcs5PrfStaticText = new wxStaticText( DefaultMountOptionsPage, wxID_ANY, _("PKCS5-PRF:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
Pkcs5PrfStaticText->Wrap( -1 );
|
||||
bSizer163->Add( Pkcs5PrfStaticText, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
|
||||
|
||||
wxArrayString Pkcs5PrfChoiceChoices;
|
||||
Pkcs5PrfChoice = new wxChoice( DefaultMountOptionsPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, Pkcs5PrfChoiceChoices, 0 );
|
||||
Pkcs5PrfChoice->SetSelection( 0 );
|
||||
bSizer163->Add( Pkcs5PrfChoice, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
|
||||
|
||||
|
||||
sbSizer15->Add( bSizer163, 0, wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizer35->Add( sbSizer15, 0, wxEXPAND|wxALL, 5 );
|
||||
|
||||
|
6
src/Main/Forms/Forms.h
Normal file → Executable file
6
src/Main/Forms/Forms.h
Normal file → Executable file
@ -119,6 +119,7 @@ namespace VeraCrypt
|
||||
virtual void OnWipeCacheButtonClick( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnHotkeysMenuItemSelected( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnDefaultKeyfilesMenuItemSelected( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnDefaultMountParametersMenuItemSelected( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnSecurityTokenPreferencesMenuItemSelected( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnPreferencesMenuItemSelected( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnUserGuideMenuItemSelected( wxCommandEvent& event ) { event.Skip(); }
|
||||
@ -550,10 +551,12 @@ namespace VeraCrypt
|
||||
wxCheckBox* PreserveTimestampsCheckBox;
|
||||
wxCheckBox* WipeCacheOnCloseCheckBox;
|
||||
wxCheckBox* WipeCacheOnAutoDismountCheckBox;
|
||||
wxPanel* DefaultMountOptionsPage;
|
||||
wxCheckBox* MountReadOnlyCheckBox;
|
||||
wxCheckBox* MountRemovableCheckBox;
|
||||
wxCheckBox* CachePasswordsCheckBox;
|
||||
wxCheckBox* TrueCryptModeCheckBox;
|
||||
wxStaticText* Pkcs5PrfStaticText;
|
||||
wxChoice* Pkcs5PrfChoice;
|
||||
wxStaticBoxSizer* FilesystemSizer;
|
||||
wxTextCtrl* FilesystemOptionsTextCtrl;
|
||||
wxPanel* BackgroundTaskPanel;
|
||||
@ -613,6 +616,7 @@ namespace VeraCrypt
|
||||
|
||||
|
||||
public:
|
||||
wxPanel* DefaultMountOptionsPage;
|
||||
wxPanel* DefaultKeyfilesPage;
|
||||
wxPanel* SecurityTokensPage;
|
||||
wxPanel* HotkeysPage;
|
||||
|
37
src/Main/Forms/MainFrame.cpp
Normal file → Executable file
37
src/Main/Forms/MainFrame.cpp
Normal file → Executable file
@ -625,6 +625,14 @@ namespace VeraCrypt
|
||||
try
|
||||
{
|
||||
MountOptions mountOptions (GetPreferences().DefaultMountOptions);
|
||||
if (CmdLine->ArgTrueCryptMode)
|
||||
{
|
||||
mountOptions.TrueCryptMode = CmdLine->ArgTrueCryptMode;
|
||||
}
|
||||
if (CmdLine->ArgHash)
|
||||
{
|
||||
mountOptions.Kdf = Pkcs5Kdf::GetAlgorithm (*CmdLine->ArgHash, mountOptions.TrueCryptMode);
|
||||
}
|
||||
|
||||
if (SlotListCtrl->GetSelectedItemCount() == 1)
|
||||
mountOptions.SlotNumber = SelectedSlotNumber;
|
||||
@ -642,6 +650,14 @@ namespace VeraCrypt
|
||||
try
|
||||
{
|
||||
MountOptions mountOptions (GetPreferences().DefaultMountOptions);
|
||||
if (CmdLine->ArgTrueCryptMode)
|
||||
{
|
||||
mountOptions.TrueCryptMode = CmdLine->ArgTrueCryptMode;
|
||||
}
|
||||
if (CmdLine->ArgHash)
|
||||
{
|
||||
mountOptions.Kdf = Pkcs5Kdf::GetAlgorithm (*CmdLine->ArgHash, mountOptions.TrueCryptMode);
|
||||
}
|
||||
Gui->MountAllFavoriteVolumes (mountOptions);
|
||||
}
|
||||
catch (exception &e)
|
||||
@ -664,10 +680,13 @@ namespace VeraCrypt
|
||||
MountOptions mountOptions (GetPreferences().DefaultMountOptions);
|
||||
mountOptions.SlotNumber = SelectedSlotNumber;
|
||||
mountOptions.Path = GetSelectedVolumePath();
|
||||
mountOptions.TrueCryptMode = CmdLine->ArgTrueCryptMode;
|
||||
if (CmdLine->ArgTrueCryptMode)
|
||||
{
|
||||
mountOptions.TrueCryptMode = CmdLine->ArgTrueCryptMode;
|
||||
}
|
||||
if (CmdLine->ArgHash)
|
||||
{
|
||||
mountOptions.Kdf = Pkcs5Kdf::GetAlgorithm (*CmdLine->ArgHash, CmdLine->ArgTrueCryptMode);
|
||||
mountOptions.Kdf = Pkcs5Kdf::GetAlgorithm (*CmdLine->ArgHash, mountOptions.TrueCryptMode);
|
||||
}
|
||||
|
||||
try
|
||||
@ -837,6 +856,13 @@ namespace VeraCrypt
|
||||
dialog.ShowModal();
|
||||
}
|
||||
|
||||
void MainFrame::OnDefaultMountParametersMenuItemSelected(wxCommandEvent& event)
|
||||
{
|
||||
PreferencesDialog dialog (this);
|
||||
dialog.SelectPage (dialog.DefaultMountOptionsPage);
|
||||
dialog.ShowModal();
|
||||
}
|
||||
|
||||
void MainFrame::OnDeviceChange (const DirectoryPath &mountPoint)
|
||||
{
|
||||
// Check if any host device has been removed and force dismount of volumes accordingly
|
||||
@ -886,10 +912,13 @@ namespace VeraCrypt
|
||||
SetVolumePath (favorite.Path);
|
||||
|
||||
MountOptions mountOptions (GetPreferences().DefaultMountOptions);
|
||||
mountOptions.TrueCryptMode = CmdLine->ArgTrueCryptMode;
|
||||
if (CmdLine->ArgTrueCryptMode)
|
||||
{
|
||||
mountOptions.TrueCryptMode = CmdLine->ArgTrueCryptMode;
|
||||
}
|
||||
if (CmdLine->ArgHash)
|
||||
{
|
||||
mountOptions.Kdf = Pkcs5Kdf::GetAlgorithm (*CmdLine->ArgHash, CmdLine->ArgTrueCryptMode);
|
||||
mountOptions.Kdf = Pkcs5Kdf::GetAlgorithm (*CmdLine->ArgHash, mountOptions.TrueCryptMode);
|
||||
}
|
||||
favorite.ToMountOptions (mountOptions);
|
||||
|
||||
|
@ -85,6 +85,7 @@ namespace VeraCrypt
|
||||
void OnCreateKeyfileMenuItemSelected (wxCommandEvent& event) { Gui->CreateKeyfile(); }
|
||||
void OnCreateVolumeButtonClick (wxCommandEvent& event);
|
||||
void OnDefaultKeyfilesMenuItemSelected (wxCommandEvent& event);
|
||||
void OnDefaultMountParametersMenuItemSelected( wxCommandEvent& event );
|
||||
void OnDismountAllButtonClick (wxCommandEvent& event);
|
||||
void OnDismountVolumeMenuItemSelected (wxCommandEvent& event) { DismountVolume(); }
|
||||
void OnDownloadsMenuItemSelected (wxCommandEvent& event) { Gui->OpenHomepageLink (this, L"downloads"); }
|
||||
|
34
src/Main/Forms/PreferencesDialog.cpp
Normal file → Executable file
34
src/Main/Forms/PreferencesDialog.cpp
Normal file → Executable file
@ -48,6 +48,23 @@ namespace VeraCrypt
|
||||
MountRemovableCheckBox->SetValidator (wxGenericValidator (&Preferences.DefaultMountOptions.Removable));
|
||||
|
||||
FilesystemOptionsTextCtrl->SetValue (Preferences.DefaultMountOptions.FilesystemOptions);
|
||||
|
||||
TrueCryptModeCheckBox->SetValidator (wxGenericValidator (&Preferences.DefaultMountOptions.TrueCryptMode));
|
||||
|
||||
int index, prfInitialIndex = 0;
|
||||
Pkcs5PrfChoice->Append (LangString["AUTODETECTION"]);
|
||||
|
||||
foreach_ref (const Pkcs5Kdf &kdf, Pkcs5Kdf::GetAvailableAlgorithms(false))
|
||||
{
|
||||
index = Pkcs5PrfChoice->Append (kdf.GetName());
|
||||
if (Preferences.DefaultMountOptions.Kdf
|
||||
&& (Preferences.DefaultMountOptions.Kdf->GetName() == kdf.GetName())
|
||||
)
|
||||
{
|
||||
prfInitialIndex = index;
|
||||
}
|
||||
}
|
||||
Pkcs5PrfChoice->Select (prfInitialIndex);
|
||||
|
||||
// Keyfiles
|
||||
TC_CHECK_BOX_VALIDATOR (UseKeyfiles);
|
||||
@ -342,12 +359,29 @@ namespace VeraCrypt
|
||||
#endif
|
||||
if (!Validate())
|
||||
return;
|
||||
|
||||
shared_ptr <Pkcs5Kdf> selectedKdf;
|
||||
if (Pkcs5PrfChoice->GetSelection () != 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
selectedKdf = Pkcs5Kdf::GetAlgorithm (wstring (Pkcs5PrfChoice->GetStringSelection ()), TrueCryptModeCheckBox->IsChecked ());
|
||||
}
|
||||
catch (ParameterIncorrect&)
|
||||
{
|
||||
Gui->ShowWarning ("ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
TransferDataFromWindow();
|
||||
|
||||
Preferences.DefaultMountOptions.Protection = MountReadOnlyCheckBox->IsChecked() ? VolumeProtection::ReadOnly : VolumeProtection::None;
|
||||
Preferences.DefaultMountOptions.FilesystemOptions = FilesystemOptionsTextCtrl->GetValue();
|
||||
Preferences.DefaultKeyfiles = *DefaultKeyfilesPanel->GetKeyfiles();
|
||||
|
||||
Preferences.DefaultMountOptions.Kdf = selectedKdf;
|
||||
Preferences.DefaultMountOptions.ProtectionKdf = selectedKdf;
|
||||
|
||||
bool securityTokenModuleChanged = (Preferences.SecurityTokenModule != wstring (Pkcs11ModulePathTextCtrl->GetValue()));
|
||||
Preferences.SecurityTokenModule = wstring (Pkcs11ModulePathTextCtrl->GetValue());
|
||||
|
287
src/Main/Forms/TrueCrypt.fbp
Normal file → Executable file
287
src/Main/Forms/TrueCrypt.fbp
Normal file → Executable file
@ -568,6 +568,21 @@
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="1">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="help"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="kind">wxITEM_NORMAL</property>
|
||||
<property name="label">Default Mount Parameters...</property>
|
||||
<property name="name">DefaultMountParametersMenuItem</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="shortcut"></property>
|
||||
<property name="unchecked_bitmap"></property>
|
||||
<event name="OnMenuSelection">OnDefaultMountParametersMenuItemSelected</event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
<object class="wxMenuItem" expanded="0">
|
||||
<property name="bitmap"></property>
|
||||
<property name="checked">0</property>
|
||||
<property name="enabled">1</property>
|
||||
@ -14204,7 +14219,7 @@
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="permission">public</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
@ -14529,6 +14544,276 @@
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxCheckBox" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="checked">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">TrueCrypt Mode</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">TrueCryptModeCheckBox</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnCheckBox"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer163</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">PKCS5-PRF:</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">Pkcs5PrfStaticText</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxChoice" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices"></property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">Pkcs5PrfChoice</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnChoice"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
|
2
src/Main/Forms/VolumeCreationWizard.cpp
Normal file → Executable file
2
src/Main/Forms/VolumeCreationWizard.cpp
Normal file → Executable file
@ -437,6 +437,8 @@ namespace VeraCrypt
|
||||
mountOptions.Protection = VolumeProtection::None;
|
||||
mountOptions.Password = Password;
|
||||
mountOptions.Keyfiles = Keyfiles;
|
||||
mountOptions.Kdf = Kdf;
|
||||
mountOptions.TrueCryptMode = false;
|
||||
|
||||
shared_ptr <VolumeInfo> volume = Core->MountVolume (mountOptions);
|
||||
finally_do_arg (shared_ptr <VolumeInfo>, volume, { Core->DismountVolume (finally_arg, true); });
|
||||
|
25
src/Main/UserPreferences.cpp
Normal file → Executable file
25
src/Main/UserPreferences.cpp
Normal file → Executable file
@ -104,6 +104,24 @@ namespace VeraCrypt
|
||||
TC_CONFIG_SET (UseKeyfiles);
|
||||
TC_CONFIG_SET (WipeCacheOnAutoDismount);
|
||||
TC_CONFIG_SET (WipeCacheOnClose);
|
||||
|
||||
SetValue (configMap[L"DefaultTrueCryptMode"], DefaultMountOptions.TrueCryptMode);
|
||||
|
||||
wstring defaultPrf;
|
||||
SetValue (configMap[L"DefaultPRF"], defaultPrf);
|
||||
|
||||
shared_ptr <Pkcs5Kdf> savedKdf;
|
||||
try
|
||||
{
|
||||
if (defaultPrf != L"autodetection")
|
||||
savedKdf = Pkcs5Kdf::GetAlgorithm (defaultPrf, DefaultMountOptions.TrueCryptMode);
|
||||
}
|
||||
catch (ParameterIncorrect&)
|
||||
{
|
||||
}
|
||||
|
||||
DefaultMountOptions.Kdf = savedKdf;
|
||||
DefaultMountOptions.ProtectionKdf = savedKdf;
|
||||
}
|
||||
|
||||
// Default keyfiles
|
||||
@ -200,6 +218,13 @@ namespace VeraCrypt
|
||||
TC_CONFIG_ADD (UseKeyfiles);
|
||||
TC_CONFIG_ADD (WipeCacheOnAutoDismount);
|
||||
TC_CONFIG_ADD (WipeCacheOnClose);
|
||||
|
||||
formatter.AddEntry (L"DefaultTrueCryptMode", DefaultMountOptions.TrueCryptMode);
|
||||
|
||||
wstring defaultPrf = L"autodetection";
|
||||
if (DefaultMountOptions.Kdf)
|
||||
defaultPrf = DefaultMountOptions.Kdf->GetName ();
|
||||
formatter.AddEntry (L"DefaultPRF", defaultPrf);
|
||||
|
||||
XmlWriter writer (Application::GetConfigFilePath (GetPreferencesFileName(), true));
|
||||
writer.WriteNode (formatter.XmlConfig);
|
||||
|
Loading…
Reference in New Issue
Block a user