VeraCrypt
aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)AuthorFilesLines
2015-07-19User Interface enhancements for PIMMounir IDRASSI12-54/+305
2015-07-14Windows: Don't offer "None" as wipe mode when real wipe is explicitly needed ...Mounir IDRASSI1-1/+1
2015-07-14Windows: in encryption wizard, clicking "Previous" in the "Large File Support...Mounir IDRASSI1-0/+2
2015-07-14Windows: solve issue introduced by the new "Use PIM" checkbox that caused err...Mounir IDRASSI1-2/+1
2015-07-13Windows: on 64-bit Windows, more System favorite service from SysWoW64 to Sys...Mounir IDRASSI6-37/+94
2015-07-13Windows: Fix memory access issues when processing language XML files. Avoid w...Mounir IDRASSI1-10/+53
2015-07-13Windows: workaround to solve system favorites failing to mount because underl...Mounir IDRASSI1-122/+183
2015-07-13Windows: Modify PIM parts in GUI to make it easier to use. Users must explici...Mounir IDRASSI14-58/+219
2015-07-13Windows: Solve failure to create hidden volume when PIM used for outer volume...Mounir IDRASSI1-3/+2
2015-07-13Windows: Set longer wait hint time for System Favorites Service to avoid bein...Mounir IDRASSI1-8/+81
2015-07-11Linux: Solve compilation warning (unused variables, pointer cast)Mounir IDRASSI4-10/+1
2015-07-11Linux: Solve error when building against dynamic wxWidgets library, especiall...Mounir IDRASSI2-0/+5
2015-07-11Use Pim name for internal variables instead of the old name PinMounir IDRASSI42-350/+350
2015-07-08Windows: Fix old issue inherited from TrueCrypt by initializing COM library b...Mounir IDRASSI1-0/+4
2015-07-08Windows: Disable Set Key Header Algorithm item in "Volumes" menu when the sys...Mounir IDRASSI1-0/+14
2015-07-07Windows: Disable menu item for changing system header key derivation algorith...Mounir IDRASSI1-1/+4
.highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/*
 Legal Notice: Some portions of the source code contained in this file were
 derived from the source code of TrueCrypt 7.1a, which is 
 Copyright (c) 2003-2012 TrueCrypt Developers Association and which is 
 governed by the TrueCrypt License 3.0, also from the source code of
 Encryption for the Masses 2.02a, which is Copyright (c) 1998-2000 Paul Le Roux
 and which is governed by the 'License Agreement for Encryption for the Masses' 
 Modifications and additions to the original source code (contained in this file) 
 and all other portions of this file are Copyright (c) 2013-2017 IDRIX
 and are governed by the Apache License 2.0 the full text of which is
 contained in the file License.txt included in VeraCrypt binary and source
 code distribution packages. */

#ifdef __cplusplus

#include "Favorites.h"

extern "C" {
#endif

enum mount_list_item_types
{
	TC_MLIST_ITEM_FREE = 0,
	TC_MLIST_ITEM_NONSYS_VOL,
	TC_MLIST_ITEM_SYS_PARTITION,
	TC_MLIST_ITEM_SYS_DRIVE
};

#define TC_MAIN_WINDOW_FLAG_ADMIN_PRIVILEGES	0x1

#define TRAYICON_MENU_DRIVE_OFFSET	9000
#define TC_FAVORITE_MENU_CMD_ID_OFFSET 10000
#define TC_FAVORITE_MENU_CMD_ID_OFFSET_END (TC_FAVORITE_MENU_CMD_ID_OFFSET + 1000)

#define WM_COPY_SET_VOLUME_NAME		"VNAM"

#define ENC_SYSDRIVE_PSEUDO_DRIVE_LETTER	('A' - 1)

/* Password Change dialog modes */
enum
{
	PCDM_CHANGE_PASSWORD = 0,
	PCDM_CHANGE_PKCS5_PRF,
	PCDM_ADD_REMOVE_VOL_KEYFILES,
	PCDM_REMOVE_ALL_KEYFILES_FROM_VOL
};

typedef struct
{
	BOOL bHidVolDamagePrevReported[26];
} VOLUME_NOTIFICATIONS_LIST;

typedef struct
{
	Password *password;
	int* pkcs5;
	int* pim;
} PasswordDlgParam;

extern VOLUME_NOTIFICATIONS_LIST VolumeNotificationsList;

extern BOOL bEnableBkgTask;
extern BOOL bCloseBkgTaskWhenNoVolumes;
extern BOOL 
13-49/+211
2015-05-31Windows: fix buffer overrun issue when parsing language XML fileMounir IDRASSI1-1/+3
2015-05-29Windows: reorder command line switched with alphabetical order for better hel...Mounir IDRASSI1-3/+3
2015-05-29Windows: workaround FormatEx keeping references on formatted volume by adding...Mounir IDRASSI3-7/+18
2015-05-29Windows: Display VeraCrypt version information when the command line switch /...Mounir IDRASSI2-5/+15
2015-05-27Windows: GUI modifications around PIN fieldMounir IDRASSI11-62/+63
2015-05-26Windows: first implementation of dynamic modeMounir IDRASSI46-287/+706
2015-05-26Windows: solve 64-bit compilation warnings after checking that they are harml...Mounir IDRASSI11-113/+114
2015-05-22Language files: update XML language files with new fieldsMounir IDRASSI37-96/+1095
2015-05-22Windows Setup: Integrate 64-bit builds of exe files into the installer. Only ...Mounir IDRASSI4-5/+34
2015-05-22Windows: Modifications to build 64-bit versions of VeraCrypt.exe & "VeraCrypt...Mounir IDRASSI9-20/+1292
lass="n">itemNo ); BOOL CALLBACK CommandHelpDlgProc ( HWND hwndDlg , UINT msg , WPARAM wParam , LPARAM lParam ); BOOL CALLBACK MainDialogProc ( HWND hwndDlg , UINT uMsg , WPARAM wParam , LPARAM lParam ); void ExtractCommandLine ( HWND hwndDlg , wchar_t *lpszCommandLine ); static void WipeCache (HWND hwndDlg, BOOL silent); void OpenVolumeExplorerWindow (int driveNo); BOOL TaskBarIconAdd (HWND hwnd); BOOL TaskBarIconRemove (HWND hwnd); BOOL TaskBarIconChange (HWND hwnd, int iconId); void DismountIdleVolumes (); static void SaveDefaultKeyFilesParam (HWND hwnd); static BOOL Dismount (HWND hwndDlg, int nDosDriveNo); static BOOL DismountAll (HWND hwndDlg, BOOL forceUnmount, BOOL interact, int dismountMaxRetries, int dismountAutoRetryDelay); static void KeyfileDefaultsDlg (HWND hwndDlg); static void HandleHotKey (HWND hwndDlg, WPARAM wParam); static BOOL CheckMountList (HWND hwndDlg, BOOL bForceTaskBarUpdate); int GetCipherBlockSizeByDriveNo (int nDosDriveNo); int GetModeOfOperationByDriveNo (int nDosDriveNo); void ChangeMainWindowVisibility (); BOOL WholeSysDriveEncryption (BOOL bSilent); BOOL CheckSysEncMountWithoutPBA (HWND hwndDlg, const wchar_t *devicePath, BOOL quiet); BOOL TCBootLoaderOnInactiveSysEncDrive (wchar_t *szDevicePath); void CreateRescueDisk (HWND hwndDlg); int BackupVolumeHeader (HWND hwndDlg, BOOL bRequireConfirmation, const wchar_t *lpszVolume); 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, BOOL skipCachedPasswords); uint32 ReadDriverConfigurationFlags (); void HookMouseWheel (HWND hwndDlg, UINT ctrlId); static BOOL HandleDriveListMouseWheelEvent (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL bListMustBePointed); static BOOL CALLBACK DefaultMountParametersDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); #ifdef __cplusplus } typedef struct { BOOL systemFavorites; BOOL logOnMount; BOOL hotKeyMount; VeraCrypt::FavoriteVolume* favoriteVolumeToMount; } mountFavoriteVolumeThreadParam; void SetDriverConfigurationFlag (uint32 flag, BOOL state); BOOL MountFavoriteVolumes (HWND hwnd, BOOL systemFavorites = FALSE, BOOL logOnMount = FALSE, BOOL hotKeyMount = FALSE, const VeraCrypt::FavoriteVolume &favoriteVolumeToMount = VeraCrypt::FavoriteVolume()); void __cdecl mountFavoriteVolumeThreadFunction (void *pArg); // A class that represents a device based on its device ID class CDevice { public: WCHAR m_szDeviceID[MAX_PATH]; CDevice() { ZeroMemory(m_szDeviceID, sizeof(m_szDeviceID)); } CDevice(WCHAR* szDevicePath) { StringCchCopyW(m_szDeviceID, MAX_PATH, szDevicePath); } CDevice(const CDevice& src) { StringCchCopyW(m_szDeviceID, MAX_PATH, src.m_szDeviceID); } CDevice& operator=(const CDevice& src) { StringCchCopyW(m_szDeviceID, MAX_PATH, src.m_szDeviceID); return *this; } BOOL operator==(const CDevice& src) { return wcscmp(m_szDeviceID, src.m_szDeviceID) == 0; } ~CDevice() { } }; #endif