diff options
author | sje <sje@4f64403b-2f21-0410-a795-97e2b3489a10> | 2007-07-01 14:11:53 +0000 |
---|---|---|
committer | sje <sje@4f64403b-2f21-0410-a795-97e2b3489a10> | 2007-07-01 14:11:53 +0000 |
commit | a6b1490e1d663fe72c0315a058451fe5c4f125d0 (patch) | |
tree | 9dfcf7b29d85b8f3f6245ef5f0859ec8fcacaecc | |
parent | 9304aa5c02c56df157e1474d6e14e682b511b25f (diff) |
encode password in db
git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@232 4f64403b-2f21-0410-a795-97e2b3489a10
-rw-r--r-- | MySpace/options.cpp | 36 | ||||
-rw-r--r-- | MySpace/version.h | 2 |
2 files changed, 29 insertions, 9 deletions
diff --git a/MySpace/options.cpp b/MySpace/options.cpp index e8ee938..5257798 100644 --- a/MySpace/options.cpp +++ b/MySpace/options.cpp @@ -10,13 +10,29 @@ void LoadOptions() { _tcsncpy(options.email, dbv.ptszVal, 256);
DBFreeVariant(&dbv);
}
- if(!DBGetContactSettingTString(0, MODULE, "password", &dbv)) {
- _tcsncpy(options.pw, dbv.ptszVal, 256);
- CallService(MS_DB_CRYPT_DECODESTRING, (WPARAM)(256 * sizeof(TCHAR)), (LPARAM)options.pw);
+ if(!DBGetContactSettingStringUtf(0, MODULE, "password", &dbv)) {
+ CallService(MS_DB_CRYPT_DECODESTRING, (WPARAM)strlen(dbv.pszVal), (LPARAM)dbv.pszVal);
+#ifdef _UNICODE
+ MultiByteToWideChar(CP_UTF8, 0, dbv.pszVal, -1, options.pw, 256);
+#else
+ _tcsncpy(options.pw, dbv.pszVal, 256);
+#endif
} else
- if(!DBGetContactSettingTString(0, MODULE, "pw", &dbv)) {
+ if(!DBGetContactSettingTString(0, MODULE, "pw", &dbv)) {
+ // remove old cleartext password and convert to encrypted form
_tcsncpy(options.pw, dbv.ptszVal, 256);
DBFreeVariant(&dbv);
+
+ char buff[256];
+#ifdef _UNICODE
+ WideCharToMultiByte(CP_UTF8, 0, options.pw, -1, buff, 256, 0, 0);
+#else
+ _tcsncpy(buff, options.pw, 256);
+#endif
+ CallService(MS_DB_CRYPT_ENCODESTRING, (WPARAM)256, (LPARAM)buff);
+ DBWriteContactSettingStringUtf(0, MODULE, "password", buff);
+
+ DBDeleteContactSetting(0, MODULE, "pw");
}
options.sound = (DBGetContactSettingByte(0, MODULE, "sound", 0) != 0);
@@ -34,10 +50,14 @@ void SaveOptions() { DBWriteContactSettingTString(0, MODULE, "email", options.email);
//DBWriteContactSettingTString(0, MODULE, "pw", options.pw);
- TCHAR buff[256];
- _tcsncpy(buff, options.pw, 256);
- CallService(MS_DB_CRYPT_ENCODESTRING, (WPARAM)(256 * sizeof(TCHAR)), (LPARAM)buff);
- DBWriteContactSettingTString(0, MODULE, "password", buff);
+ char buff[256];
+#ifdef _UNICODE
+ WideCharToMultiByte(CP_UTF8, 0, options.pw, -1, buff, 256, 0, 0);
+#else
+ _tcsncpy(buff, options.pw, 256);
+#endif
+ CallService(MS_DB_CRYPT_ENCODESTRING, (WPARAM)256, (LPARAM)buff);
+ DBWriteContactSettingStringUtf(0, MODULE, "password", buff);
DBWriteContactSettingByte(0, MODULE, "sound", options.sound ? 1 : 0);
DBWriteContactSettingByte(0, MODULE, "privacy_mode", (BYTE)options.privacy_mode);
diff --git a/MySpace/version.h b/MySpace/version.h index 36db18d..2372d36 100644 --- a/MySpace/version.h +++ b/MySpace/version.h @@ -5,7 +5,7 @@ #define __MAJOR_VERSION 0
#define __MINOR_VERSION 0
#define __RELEASE_NUM 1
-#define __BUILD_NUM 0
+#define __BUILD_NUM 1
#define __FILEVERSION_STRING __MAJOR_VERSION,__MINOR_VERSION,__RELEASE_NUM,__BUILD_NUM
#define __FILEVERSION_STRING_DOTS __MAJOR_VERSION.__MINOR_VERSION.__RELEASE_NUM.__BUILD_NUM
|