summaryrefslogtreecommitdiff
path: root/Common/Password.h
diff options
context:
space:
mode:
authorJedidiah Barber <contact@jedbarber.id.au>2021-07-14 11:27:03 +1200
committerJedidiah Barber <contact@jedbarber.id.au>2021-07-14 11:27:03 +1200
commit3cb7fdea950dd2d0377f0d9ad8a88fcb7c48b842 (patch)
treecedbfc08a6bf0bd8cb6ec6c8d8dd94a4e715439b /Common/Password.h
Initial mirror commitHEADmaster
Diffstat (limited to 'Common/Password.h')
-rw-r--r--Common/Password.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/Common/Password.h b/Common/Password.h
new file mode 100644
index 0000000..2e7960b
--- /dev/null
+++ b/Common/Password.h
@@ -0,0 +1,46 @@
+/*
+ Legal Notice: Some portions of the source code contained in this file were
+ derived 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) 2003-2008 TrueCrypt Developers Association
+ and are governed by the TrueCrypt License 3.0 the full text of which is
+ contained in the file License.txt included in TrueCrypt binary and source
+ code distribution packages. */
+
+#ifndef PASSWORD_H
+#define PASSWORD_H
+
+// User text input limits
+#define MIN_PASSWORD 1 // Minimum possible password length
+#define MAX_PASSWORD 64 // Maximum possible password length
+
+#define PASSWORD_LEN_WARNING 20 // Display a warning when a password is shorter than this
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct
+{
+ // Modifying this structure can introduce incompatibility with previous versions
+ unsigned __int32 Length;
+ unsigned char Text[MAX_PASSWORD + 1];
+ char Pad[3]; // keep 64-bit alignment
+} Password;
+
+#if defined(_WIN32) && !defined(TC_WINDOWS_DRIVER)
+
+void VerifyPasswordAndUpdate ( HWND hwndDlg , HWND hButton , HWND hPassword , HWND hVerify , unsigned char *szPassword , char *szVerify, BOOL keyFilesEnabled );
+BOOL CheckPasswordLength (HWND hwndDlg, HWND hwndItem);
+BOOL CheckPasswordCharEncoding (HWND hPassword, Password *ptrPw);
+int ChangePwd (char *lpszVolume, Password *oldPassword, Password *newPassword, int pkcs5, HWND hwndDlg);
+
+#endif // defined(_WIN32) && !defined(TC_WINDOWS_DRIVER)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // PASSWORD_H