From d071a97479aed0d59f2d4a8acc27cf9369c7cd61 Mon Sep 17 00:00:00 2001 From: Maciej Wycik Date: Mon, 29 Jul 2013 10:05:05 +0000 Subject: password encryption (there is no unicode support in database.h?) git-svn-id: http://svn.miranda-ng.org/main/trunk@5521 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Exchange/src/dlg_handlers.cpp | 15 +++++++++++---- plugins/Exchange/src/emails.cpp | 22 ++++++++++++++++++++-- 2 files changed, 31 insertions(+), 6 deletions(-) (limited to 'plugins/Exchange') diff --git a/plugins/Exchange/src/dlg_handlers.cpp b/plugins/Exchange/src/dlg_handlers.cpp index 1e291b9ce5..af160dac05 100644 --- a/plugins/Exchange/src/dlg_handlers.cpp +++ b/plugins/Exchange/src/dlg_handlers.cpp @@ -35,6 +35,7 @@ BOOL CALLBACK DlgProcOptions(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) case WM_INITDIALOG: { TCHAR buffer[4096]; + char apassword[1024]; long port; long interval; int bCheck; @@ -52,8 +53,9 @@ BOOL CALLBACK DlgProcOptions(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) GetStringFromDatabase("Username", _T(""), buffer, sizeof(buffer)); SetWindowText(GetDlgItem(hWnd, IDC_USER_EDIT), buffer); GetStringFromDatabase("Password", _T(""), buffer, sizeof(buffer)); - CallService(MS_DB_CRYPT_DECODESTRING, sizeof(buffer), (LPARAM) buffer); - SetWindowText(GetDlgItem(hWnd, IDC_PASSWORD_EDIT), buffer); + strcpy(apassword,mir_t2a(buffer)); + CallService(MS_DB_CRYPT_DECODESTRING, sizeof(apassword), (LPARAM) apassword); + SetWindowText(GetDlgItem(hWnd, IDC_PASSWORD_EDIT), mir_a2t(apassword)); GetStringFromDatabase("Server", _T(""), buffer, sizeof(buffer)); SetWindowText(GetDlgItem(hWnd, IDC_SERVER_EDIT), buffer); @@ -145,6 +147,7 @@ BOOL CALLBACK DlgProcOptions(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) case PSN_APPLY: { TCHAR buffer[4096]; + char apassword[1024]; long port = 0; long interval = DEFAULT_INTERVAL; int bCheck = IsDlgButtonChecked(hWnd, IDC_CHECK_EMAILS); @@ -154,8 +157,12 @@ BOOL CALLBACK DlgProcOptions(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) GetWindowText(GetDlgItem(hWnd, IDC_USER_EDIT), buffer, sizeof(buffer)); db_set_ts(NULL, ModuleName, "Username", buffer); GetWindowText(GetDlgItem(hWnd, IDC_PASSWORD_EDIT), buffer, sizeof(buffer)); - CallService(MS_DB_CRYPT_ENCODESTRING, sizeof(buffer), (LPARAM) buffer); - db_set_ts(NULL, ModuleName, "Password", buffer); + strcpy(apassword,mir_t2a(buffer)); + + CallService(MS_DB_CRYPT_ENCODESTRING, sizeof(apassword), (LPARAM) apassword); + + db_set_ts(NULL, ModuleName, "Password", mir_a2t(apassword)); + GetWindowText(GetDlgItem(hWnd, IDC_SERVER_EDIT), buffer, sizeof(buffer)); db_set_ts(NULL, ModuleName, "Server", buffer); GetWindowText(GetDlgItem(hWnd, IDC_PORT_EDIT), buffer, sizeof(buffer)); diff --git a/plugins/Exchange/src/emails.cpp b/plugins/Exchange/src/emails.cpp index 03e7d719ca..96deb1bc26 100644 --- a/plugins/Exchange/src/emails.cpp +++ b/plugins/Exchange/src/emails.cpp @@ -62,6 +62,7 @@ int CExchangeServer::Connect(int bForceConnect) { TCHAR user[1024]; //lovely TCHAR password[1024]; //i know + char apassword[1024]; TCHAR server[1024]; int port; @@ -75,7 +76,9 @@ int CExchangeServer::Connect(int bForceConnect) } GetStringFromDatabase("Password", _T(""), password, _countof(password)); - CallService(MS_DB_CRYPT_DECODESTRING, sizeof(password), (LPARAM) password); + strcpy(apassword,mir_t2a(password)); + CallService(MS_DB_CRYPT_DECODESTRING, sizeof(apassword), (LPARAM) apassword); + _tcsncpy(password,mir_a2t(apassword),_countof(password)); GetStringFromDatabase("Server", _T(""), server, _countof(server)); port = db_get_dw(NULL, ModuleName, "Port", EXCHANGE_PORT); if (_tcslen(server) > 0) //only connect if there's a server to connect to @@ -339,6 +342,21 @@ int CExchangeServer::Check(int bNoEmailsNotify) } ShowMessage(buffer, count); + /*int i; + TEmailHeader emailInfo = {0}; + char sender[1024]; + char subject[1024]; + emailInfo.cbSize = sizeof(emailInfo); + emailInfo.szSender = sender; + emailInfo.szSubject = subject; + emailInfo.cSender = sizeof(sender); + emailInfo.cSubject = sizeof(subject); + for (i = 0; i < count; i++) + { + GetEmailHeader(i, &emailInfo); + sprintf(buffer, "Unread email #%d:\nSender :%s\nSubject :%s", i + 1, sender, subject); + ShowMessage(buffer); + }*/ } if (count==-1) @@ -357,7 +375,7 @@ int ShowMessage(TCHAR *message, int cUnreadEmails) return ShowPopupMessage(TranslateT("Exchange email"), message, cUnreadEmails); } else{ - return ShowMessageBoxMessage(TranslateT("Do you want to see the email headers?"), message, cUnreadEmails); + return ShowMessageBoxMessage(TranslateT("Do you want to see the email headers ?"), message, cUnreadEmails); } return 0; -- cgit v1.2.3