From ddba4ede6b451d0cfcd0d32b5180fbd0689966bf Mon Sep 17 00:00:00 2001 From: George Hazan <george.hazan@gmail.com> Date: Mon, 10 Feb 2014 08:04:30 +0000 Subject: - HANDLE hContact => HCONTACT - GCF_* prefix was added to chat constants to avoid name conflicts git-svn-id: http://svn.miranda-ng.org/main/trunk@8078 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/New_GPG/src/clist.cpp | 3 +- plugins/New_GPG/src/globals.h | 8 ++ plugins/New_GPG/src/icons.cpp | 12 +- plugins/New_GPG/src/main.cpp | 270 +++++++++++++++-------------------- plugins/New_GPG/src/messages.cpp | 157 +++++++++----------- plugins/New_GPG/src/metacontacts.cpp | 60 ++++---- plugins/New_GPG/src/metacontacts.h | 16 +-- plugins/New_GPG/src/options.cpp | 158 ++++++++------------ plugins/New_GPG/src/srmm.cpp | 16 +-- plugins/New_GPG/src/utilities.cpp | 68 +++++---- plugins/New_GPG/src/utilities.h | 15 +- 11 files changed, 341 insertions(+), 442 deletions(-) (limited to 'plugins/New_GPG/src') diff --git a/plugins/New_GPG/src/clist.cpp b/plugins/New_GPG/src/clist.cpp index 4533a464c2..9a2322023d 100644 --- a/plugins/New_GPG/src/clist.cpp +++ b/plugins/New_GPG/src/clist.cpp @@ -17,7 +17,6 @@ #include "commonheaders.h" void RefreshContactListIcons(void); -void setClistIcon(HANDLE); int onExtraImageListRebuilding(WPARAM, LPARAM) { @@ -27,6 +26,6 @@ int onExtraImageListRebuilding(WPARAM, LPARAM) int onExtraImageApplying(WPARAM wParam, LPARAM) { - setClistIcon((HANDLE)wParam); + setClistIcon((HCONTACT)wParam); return 0; } diff --git a/plugins/New_GPG/src/globals.h b/plugins/New_GPG/src/globals.h index 9942e16e96..744bcad389 100644 --- a/plugins/New_GPG/src/globals.h +++ b/plugins/New_GPG/src/globals.h @@ -19,4 +19,12 @@ extern bool bAppendTags, bPresenceSigning, bStripTags, gpg_valid, gpg_keyexist, tabsrmm_used, bSameAction, bFileTransfers, bDebugLog; extern TCHAR *inopentag, *inclosetag, *outopentag, *outclosetag; extern logtofile debuglog; + +extern map<int, HCONTACT> user_data; +extern int item_num; + +extern bool _terminate; +extern wstring new_key; +extern HCONTACT new_key_hcnt; +extern boost::mutex new_key_hcnt_mutex; #endif diff --git a/plugins/New_GPG/src/icons.cpp b/plugins/New_GPG/src/icons.cpp index 4c7b100023..65ddc26b0a 100644 --- a/plugins/New_GPG/src/icons.cpp +++ b/plugins/New_GPG/src/icons.cpp @@ -44,11 +44,11 @@ HANDLE IconLibHookIconsChanged(MIRANDAHOOK hook) return HookEvent(ME_SKIN2_ICONSCHANGED, hook); } -void setClistIcon(HANDLE hContact) +void setClistIcon(HCONTACT hContact) { bool enabled = isContactSecured(hContact); extern HANDLE g_hCLIcon; - HANDLE hMC = hContact; + HCONTACT hMC = hContact; if(metaIsSubcontact(hContact)) hMC = metaGetContact(hContact); else if(metaIsProtoMetaContacts(hContact)) @@ -59,11 +59,11 @@ void setClistIcon(HANDLE hContact) ExtraIcon_SetIcon(g_hCLIcon, hMC, szIconId); } -void setSrmmIcon(HANDLE h) +void setSrmmIcon(HCONTACT h) { - HANDLE hContact = metaIsProtoMetaContacts(h)?metaGetMostOnline(h):h; + HCONTACT hContact = metaIsProtoMetaContacts(h) ? metaGetMostOnline(h) : h; bool enabled = isContactSecured(hContact); - HANDLE hMC = NULL; + HCONTACT hMC = NULL; if(metaIsSubcontact(hContact)) hMC = metaGetContact(hContact); else if(metaIsProtoMetaContacts(hContact)) @@ -91,7 +91,7 @@ void RefreshContactListIcons() { CallService(MS_CLUI_LISTBEGINREBUILD,0,0); - for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) + for (HCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) setClistIcon(hContact); CallService(MS_CLUI_LISTENDREBUILD,0,0); diff --git a/plugins/New_GPG/src/main.cpp b/plugins/New_GPG/src/main.cpp index 5f1b61f782..2230a26ebd 100755 --- a/plugins/New_GPG/src/main.cpp +++ b/plugins/New_GPG/src/main.cpp @@ -362,7 +362,7 @@ static INT_PTR CALLBACK DlgProcFirstRun(HWND hwndDlg,UINT msg,WPARAM wParam,LPAR } delete [] name; } - bAutoExchange = CheckStateStoreDB(hwndDlg, IDC_AUTO_EXCHANGE, "bAutoExchange"); + bAutoExchange = CheckStateStoreDB(hwndDlg, IDC_AUTO_EXCHANGE, "bAutoExchange") != 0; gpg_valid = isGPGValid(); gpg_keyexist = isGPGKeyExist(); DestroyWindow(hwndDlg); @@ -370,8 +370,6 @@ static INT_PTR CALLBACK DlgProcFirstRun(HWND hwndDlg,UINT msg,WPARAM wParam,LPAR case IDC_OTHER: { void ShowLoadPublicKeyDialog(); - extern map<int, HANDLE> user_data; - extern int item_num; item_num = 0; //black magic here user_data[1] = 0; ShowLoadPublicKeyDialog(); @@ -1247,7 +1245,7 @@ static INT_PTR CALLBACK DlgProcGpgBinOpts(HWND hwndDlg, UINT msg, WPARAM wParam, SetWindowText(hwndCurKey_p, path.c_str()); } } - bAutoExchange = CheckStateStoreDB(hwndDlg, IDC_AUTO_EXCHANGE, "bAutoExchange"); + bAutoExchange = CheckStateStoreDB(hwndDlg, IDC_AUTO_EXCHANGE, "bAutoExchange") != 0; gpg_valid = true; db_set_b(NULL, szGPGModuleName, "FirstRun", 0); DestroyWindow(hwndDlg); @@ -1283,84 +1281,68 @@ static INT_PTR CALLBACK DlgProcGpgBinOpts(HWND hwndDlg, UINT msg, WPARAM wParam, static INT_PTR CALLBACK DlgProcNewKeyDialog(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { - extern HANDLE new_key_hcnt; - extern boost::mutex new_key_hcnt_mutex; - static HANDLE hContact = INVALID_HANDLE_VALUE; + static HCONTACT hContact = (HCONTACT)INVALID_HANDLE_VALUE; void ImportKey(); TCHAR *tmp = NULL; - switch (msg) - { - case WM_INITDIALOG: - { - hContact = new_key_hcnt; - //new_key_hcnt_mutex.unlock(); - SetWindowPos(hwndDlg, 0, new_key_rect.left, new_key_rect.top, 0, 0, SWP_NOSIZE|SWP_SHOWWINDOW); - TranslateDialogDefault(hwndDlg); - TCHAR *tmp = UniGetContactSettingUtf(hContact, szGPGModuleName, "GPGPubKey", _T("")); - SetDlgItemText(hwndDlg, IDC_MESSAGE, tmp[0]?TranslateT("There is existing key for contact, would you like to replace it with new key?"):TranslateT("New public key was received, do you want to import it?")); - EnableWindow(GetDlgItem(hwndDlg, IDC_IMPORT_AND_USE), db_get_b(hContact, szGPGModuleName, "GPGEncryption", 0)?0:1); - SetDlgItemText(hwndDlg, ID_IMPORT, tmp[0]?TranslateT("Replace"):TranslateT("Accept")); - mir_free(tmp); - tmp = new TCHAR [256]; - _tcscpy(tmp, TranslateT("Received key from ")); - _tcscat(tmp, (TCHAR*)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)hContact, (LPARAM)GCDNF_TCHAR)); - SetDlgItemText(hwndDlg, IDC_KEY_FROM, tmp); - delete [] tmp; - return TRUE; - } - - - case WM_COMMAND: - { - switch (LOWORD(wParam)) - { - case ID_IMPORT: - ImportKey(); - DestroyWindow(hwndDlg); - break; - case IDC_IMPORT_AND_USE: - ImportKey(); - db_set_b(hContact, szGPGModuleName, "GPGEncryption", 1); - void setSrmmIcon(HANDLE hContact); - void setClistIcon(HANDLE hContact); - setSrmmIcon(hContact); - setClistIcon(hContact); - DestroyWindow(hwndDlg); - break; - case IDC_IGNORE_KEY: - DestroyWindow(hwndDlg); - break; - default: + switch (msg) + { + case WM_INITDIALOG: + { + hContact = new_key_hcnt; + //new_key_hcnt_mutex.unlock(); + SetWindowPos(hwndDlg, 0, new_key_rect.left, new_key_rect.top, 0, 0, SWP_NOSIZE|SWP_SHOWWINDOW); + TranslateDialogDefault(hwndDlg); + TCHAR *tmp = UniGetContactSettingUtf(hContact, szGPGModuleName, "GPGPubKey", _T("")); + SetDlgItemText(hwndDlg, IDC_MESSAGE, tmp[0]?TranslateT("There is existing key for contact, would you like to replace it with new key?"):TranslateT("New public key was received, do you want to import it?")); + EnableWindow(GetDlgItem(hwndDlg, IDC_IMPORT_AND_USE), db_get_b(hContact, szGPGModuleName, "GPGEncryption", 0)?0:1); + SetDlgItemText(hwndDlg, ID_IMPORT, tmp[0]?TranslateT("Replace"):TranslateT("Accept")); + mir_free(tmp); + tmp = new TCHAR [256]; + _tcscpy(tmp, TranslateT("Received key from ")); + _tcscat(tmp, (TCHAR*)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)hContact, (LPARAM)GCDNF_TCHAR)); + SetDlgItemText(hwndDlg, IDC_KEY_FROM, tmp); + delete [] tmp; + } + return TRUE; + + case WM_COMMAND: + switch (LOWORD(wParam)) { + case ID_IMPORT: + ImportKey(); + DestroyWindow(hwndDlg); + break; + case IDC_IMPORT_AND_USE: + ImportKey(); + db_set_b(hContact, szGPGModuleName, "GPGEncryption", 1); + void setSrmmIcon(HCONTACT hContact); + void setClistIcon(HCONTACT hContact); + setSrmmIcon(hContact); + setClistIcon(hContact); + DestroyWindow(hwndDlg); + break; + case IDC_IGNORE_KEY: + DestroyWindow(hwndDlg); + break; + } break; - } - - break; - } - - case WM_NOTIFY: - { -/* switch (((LPNMHDR)lParam)->code) - { - default: - break; - }*/ - } - break; - case WM_CLOSE: - DestroyWindow(hwndDlg); - break; - case WM_DESTROY: - { - GetWindowRect(hwndDlg, &new_key_rect); - db_set_dw(NULL, szGPGModuleName, "NewKeyWindowX", new_key_rect.left); - db_set_dw(NULL, szGPGModuleName, "NewKeyWindowY", new_key_rect.top); - } - hwndNewKey = NULL; - break; - } - return FALSE; + case WM_CLOSE: + DestroyWindow(hwndDlg); + break; + + case WM_DESTROY: + { + GetWindowRect(hwndDlg, &new_key_rect); + db_set_dw(NULL, szGPGModuleName, "NewKeyWindowX", new_key_rect.left); + db_set_dw(NULL, szGPGModuleName, "NewKeyWindowY", new_key_rect.top); + } + hwndNewKey = NULL; + break; + + } + return FALSE; } + static INT_PTR CALLBACK DlgProcKeyGenDialog(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) @@ -1914,84 +1896,61 @@ static INT_PTR CALLBACK DlgProcLoadExistingKey(HWND hwndDlg,UINT msg,WPARAM wPar return FALSE; } + static INT_PTR CALLBACK DlgProcImportKeyDialog(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { - extern HANDLE new_key_hcnt; - extern boost::mutex new_key_hcnt_mutex; - HANDLE hContact = INVALID_HANDLE_VALUE; - switch (msg) - { - case WM_INITDIALOG: - { - hContact = new_key_hcnt; - new_key_hcnt_mutex.unlock(); - SetWindowPos(hwndDlg, 0 , import_key_rect.left, import_key_rect.top, 0, 0, SWP_NOSIZE|SWP_SHOWWINDOW); - TranslateDialogDefault(hwndDlg); - ComboBoxAddStringUtf(GetDlgItem(hwndDlg, IDC_KEYSERVER), _T("subkeys.pgp.net"), 0); - ComboBoxAddStringUtf(GetDlgItem(hwndDlg, IDC_KEYSERVER), _T("keys.gnupg.net"), 0); - return TRUE; - } - - - case WM_COMMAND: - { - switch (LOWORD(wParam)) - { - case IDC_IMPORT: - { - string out; - DWORD code; - std::vector<wstring> cmd; - cmd.push_back(L"--keyserver"); - TCHAR *server= new TCHAR [128]; - GetDlgItemText(hwndDlg, IDC_KEYSERVER, server, 128); - cmd.push_back(server); - delete [] server; - cmd.push_back(L"--recv-keys"); -// char *tmp = UniGetContactSettingUtf(hContact, szGPGModuleName, "KeyID_Prescense", ""); -// TCHAR *tmp2 = mir_a2t(tmp); -// mir_free(tmp); - cmd.push_back(toUTF16(hcontact_data[hContact].key_in_prescense)); -// mir_free(tmp2); - gpg_execution_params params(cmd); - pxResult result; - params.out = &out; - params.code = &code; - params.result = &result; - gpg_launcher(params); - MessageBoxA(0, out.c_str(), "GPG output", MB_OK); - } - break; - default: + HCONTACT hContact = (HCONTACT)INVALID_HANDLE_VALUE; + + switch (msg) { + case WM_INITDIALOG: + { + hContact = new_key_hcnt; + new_key_hcnt_mutex.unlock(); + SetWindowPos(hwndDlg, 0 , import_key_rect.left, import_key_rect.top, 0, 0, SWP_NOSIZE|SWP_SHOWWINDOW); + TranslateDialogDefault(hwndDlg); + ComboBoxAddStringUtf(GetDlgItem(hwndDlg, IDC_KEYSERVER), _T("subkeys.pgp.net"), 0); + ComboBoxAddStringUtf(GetDlgItem(hwndDlg, IDC_KEYSERVER), _T("keys.gnupg.net"), 0); + } + return TRUE; + + case WM_COMMAND: + switch (LOWORD(wParam)) { + case IDC_IMPORT: + { + string out; + DWORD code; + std::vector<wstring> cmd; + cmd.push_back(L"--keyserver"); + TCHAR *server= new TCHAR [128]; + GetDlgItemText(hwndDlg, IDC_KEYSERVER, server, 128); + cmd.push_back(server); + delete [] server; + cmd.push_back(L"--recv-keys"); + cmd.push_back(toUTF16(hcontact_data[hContact].key_in_prescense)); + gpg_execution_params params(cmd); + pxResult result; + params.out = &out; + params.code = &code; + params.result = &result; + gpg_launcher(params); + MessageBoxA(0, out.c_str(), "GPG output", MB_OK); + } + break; + } break; - } - break; - } - - case WM_NOTIFY: - { -/* switch (((LPNMHDR)lParam)->code) - { - default: - break; - } */ - } - break; - case WM_CLOSE: - DestroyWindow(hwndDlg); - break; - case WM_DESTROY: - { - GetWindowRect(hwndDlg, &import_key_rect); - db_set_dw(NULL, szGPGModuleName, "ImportKeyWindowX", import_key_rect.left); - db_set_dw(NULL, szGPGModuleName, "ImportKeyWindowY", import_key_rect.top); - } - break; - } - return FALSE; -} + case WM_CLOSE: + DestroyWindow(hwndDlg); + break; + case WM_DESTROY: + GetWindowRect(hwndDlg, &import_key_rect); + db_set_dw(NULL, szGPGModuleName, "ImportKeyWindowX", import_key_rect.left); + db_set_dw(NULL, szGPGModuleName, "ImportKeyWindowY", import_key_rect.top); + break; + } + return FALSE; +} extern HINSTANCE hInst; @@ -2315,10 +2274,7 @@ void InitCheck() void ImportKey() { - extern wstring new_key; - extern HANDLE new_key_hcnt; - extern boost::mutex new_key_hcnt_mutex; - HANDLE hContact = new_key_hcnt; + HCONTACT hContact = new_key_hcnt; new_key_hcnt_mutex.unlock(); bool for_all_sub = false; if(metaIsProtoMetaContacts(hContact)) @@ -2326,13 +2282,12 @@ void ImportKey() for_all_sub = true; if(metaIsProtoMetaContacts(hContact)) { - HANDLE hcnt = NULL; if(for_all_sub) { int count = metaGetContactsNum(hContact); for(int i = 0; i < count; i++) { - hcnt = metaGetSubcontact(hContact, i); + HCONTACT hcnt = metaGetSubcontact(hContact, i); if(hcnt) db_set_ts(hcnt, szGPGModuleName, "GPGPubKey", new_key.c_str()); } @@ -2381,13 +2336,12 @@ void ImportKey() { if(metaIsProtoMetaContacts(hContact)) { - HANDLE hcnt = NULL; if(for_all_sub) { int count = metaGetContactsNum(hContact); for(int i = 0; i < count; i++) { - hcnt = metaGetSubcontact(hContact, i); + HCONTACT hcnt = metaGetSubcontact(hContact, i); if(hcnt) { char *tmp = NULL; diff --git a/plugins/New_GPG/src/messages.cpp b/plugins/New_GPG/src/messages.cpp index cff898dae5..b9deb63655 100755 --- a/plugins/New_GPG/src/messages.cpp +++ b/plugins/New_GPG/src/messages.cpp @@ -18,14 +18,14 @@ wstring new_key; -HANDLE new_key_hcnt = NULL; +HCONTACT new_key_hcnt = NULL; boost::mutex new_key_hcnt_mutex; bool _terminate = false; -int returnNoError(HANDLE hContact); +int returnNoError(HCONTACT hContact); std::list<HANDLE> sent_msgs; -void RecvMsgSvc_func(HANDLE hContact, std::wstring str, char *msg, DWORD flags, DWORD timestamp) +void RecvMsgSvc_func(HCONTACT hContact, std::wstring str, char *msg, DWORD flags, DWORD timestamp) { DWORD dbflags = DBEF_UTF; { //check for gpg related data @@ -35,9 +35,6 @@ void RecvMsgSvc_func(HANDLE hContact, std::wstring str, char *msg, DWORD flags, s2 = str.find(_T("-----END PGP MESSAGE-----")); if((s2 != wstring::npos) && (s1 != wstring::npos)) { //this is generic encrypted data block - void setSrmmIcon(HANDLE); - void setClistIcon(HANDLE); - bool isContactHaveKey(HANDLE hContact); if(!isContactSecured(hContact)) { if(bDebugLog) @@ -47,8 +44,6 @@ void RecvMsgSvc_func(HANDLE hContact, std::wstring str, char *msg, DWORD flags, if(!isContactHaveKey(hContact)) { void ShowLoadPublicKeyDialog(); - extern map<int, HANDLE> user_data; - extern int item_num; item_num = 0; //black magic here user_data[1] = hContact; ShowLoadPublicKeyDialog(); @@ -601,11 +596,11 @@ INT_PTR RecvMsgSvc(WPARAM w, LPARAM l) } if(!strstr(msg, "-----BEGIN PGP MESSAGE-----")) return CallService(MS_PROTO_CHAINRECV, w, l); - boost::thread *thr = new boost::thread(boost::bind(RecvMsgSvc_func, ccs->hContact, str, msg, ccs->wParam, pre->timestamp)); + boost::thread *thr = new boost::thread(boost::bind(RecvMsgSvc_func, ccs->hContact, str, msg, (DWORD)ccs->wParam, pre->timestamp)); return 0; } -void SendMsgSvc_func(HANDLE hContact, char *msg, DWORD flags) +void SendMsgSvc_func(HCONTACT hContact, char *msg, DWORD flags) { bool isansi = false; DWORD dbflags = 0; @@ -845,7 +840,7 @@ int HookSendMsg(WPARAM w, LPARAM l) DBEVENTINFO * dbei = (DBEVENTINFO*)l; if(dbei->eventType != EVENTTYPE_MESSAGE) return 0; - HANDLE hContact = (HANDLE)w; + HCONTACT hContact = (HCONTACT)w; if(dbei->flags & DBEF_SENT) { if(isContactSecured(hContact) && strstr((char*)dbei->pBlob, "-----BEGIN PGP MESSAGE-----")) //our service data, can be double added by metacontacts e.t.c. @@ -872,7 +867,6 @@ int HookSendMsg(WPARAM w, LPARAM l) { if(bDebugLog) debuglog<<std::string(time_str()+": info: checking for autoexchange possibility, name: "+toUTF8((TCHAR*)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)hContact, GCDNF_TCHAR))); - void send_encrypted_msgs_thread(HANDLE hContact); LPSTR proto = GetContactProto(hContact); DWORD uin = db_get_dw(hContact, proto, "UIN", 0); if(uin) @@ -994,7 +988,7 @@ int HookSendMsg(WPARAM w, LPARAM l) debuglog<<std::string(time_str()+": event message: \""+(char*)dbei->pBlob+"\" passed event filter, contact "+toUTF8((TCHAR*)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)hContact, GCDNF_TCHAR))+" is unsecured"); return 0; } - if(!(dbei->flags & DBEF_SENT) && metaIsProtoMetaContacts((HANDLE)w)) + if(!(dbei->flags & DBEF_SENT) && metaIsProtoMetaContacts((HCONTACT)w)) { char tmp[29]; strncpy(tmp, (char*)dbei->pBlob, 27); @@ -1013,94 +1007,77 @@ int HookSendMsg(WPARAM w, LPARAM l) static INT_PTR CALLBACK DlgProcKeyPassword(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { char *inkeyid = NULL; - switch (msg) - { - case WM_INITDIALOG: - { - inkeyid = UniGetContactSettingUtf(new_key_hcnt, szGPGModuleName, "InKeyID", ""); - new_key_hcnt_mutex.unlock(); - TCHAR *tmp = NULL; + switch (msg) + { + case WM_INITDIALOG: + { + inkeyid = UniGetContactSettingUtf(new_key_hcnt, szGPGModuleName, "InKeyID", ""); + new_key_hcnt_mutex.unlock(); + TCHAR *tmp = NULL; - SetWindowPos(hwndDlg, 0, key_password_rect.left, key_password_rect.top, 0, 0, SWP_NOSIZE|SWP_SHOWWINDOW); - TranslateDialogDefault(hwndDlg); - string questionstr = "Please enter password for key with ID: "; - questionstr += inkeyid; - mir_free(inkeyid); - SetDlgItemTextA(hwndDlg, IDC_KEYID, questionstr.c_str()); - EnableWindow(GetDlgItem(hwndDlg, IDC_DEFAULT_PASSWORD), 0); - return TRUE; - } - - - case WM_COMMAND: - { - switch (LOWORD(wParam)) - { - case IDOK: - { - TCHAR tmp[64]; - GetDlgItemText(hwndDlg, IDC_KEY_PASSWORD, tmp, 64); - if(tmp[0]) + SetWindowPos(hwndDlg, 0, key_password_rect.left, key_password_rect.top, 0, 0, SWP_NOSIZE|SWP_SHOWWINDOW); + TranslateDialogDefault(hwndDlg); + string questionstr = "Please enter password for key with ID: "; + questionstr += inkeyid; + mir_free(inkeyid); + SetDlgItemTextA(hwndDlg, IDC_KEYID, questionstr.c_str()); + EnableWindow(GetDlgItem(hwndDlg, IDC_DEFAULT_PASSWORD), 0); + return TRUE; + } + + + case WM_COMMAND: + switch (LOWORD(wParam)) { + case IDOK: { - extern TCHAR *password; - if(IsDlgButtonChecked(hwndDlg, IDC_SAVE_PASSWORD)) + TCHAR tmp[64]; + GetDlgItemText(hwndDlg, IDC_KEY_PASSWORD, tmp, 64); + if(tmp[0]) { - if(inkeyid && inkeyid[0] && !IsDlgButtonChecked(hwndDlg, IDC_DEFAULT_PASSWORD)) + extern TCHAR *password; + if(IsDlgButtonChecked(hwndDlg, IDC_SAVE_PASSWORD)) { - string dbsetting = "szKey_"; - dbsetting += inkeyid; - dbsetting += "_Password"; - db_set_ts(NULL, szGPGModuleName, dbsetting.c_str(), tmp); + if(inkeyid && inkeyid[0] && !IsDlgButtonChecked(hwndDlg, IDC_DEFAULT_PASSWORD)) + { + string dbsetting = "szKey_"; + dbsetting += inkeyid; + dbsetting += "_Password"; + db_set_ts(NULL, szGPGModuleName, dbsetting.c_str(), tmp); + } + else + db_set_ts(NULL, szGPGModuleName, "szKeyPassword", tmp); } - else - db_set_ts(NULL, szGPGModuleName, "szKeyPassword", tmp); + if(password) + mir_free(password); + password = (TCHAR*)mir_alloc(sizeof(TCHAR)*(_tcslen(tmp)+1)); + _tcscpy(password, tmp); } - if(password) - mir_free(password); - password = (TCHAR*)mir_alloc(sizeof(TCHAR)*(_tcslen(tmp)+1)); - _tcscpy(password, tmp); + mir_free(tmp); + mir_free(inkeyid); + DestroyWindow(hwndDlg); } - mir_free(tmp); + break; + + case IDCANCEL: mir_free(inkeyid); + _terminate = true; DestroyWindow(hwndDlg); - break; - } - case IDCANCEL: - mir_free(inkeyid); - _terminate = true; - DestroyWindow(hwndDlg); - break; - default: + break; + } break; - } - - break; - } - - case WM_NOTIFY: - { -/* switch (((LPNMHDR)lParam)->code) - { - default: - EnableWindow(GetDlgItem(hwndDlg, IDC_DEFAULT_PASSWORD), IsDlgButtonChecked(hwndDlg, IDC_SAVE_PASSWORD)?1:0); - break; - }*/ - } - break; - case WM_CLOSE: - mir_free(inkeyid); - DestroyWindow(hwndDlg); - break; - case WM_DESTROY: - { - GetWindowRect(hwndDlg, &key_password_rect); - db_set_dw(NULL, szGPGModuleName, "PasswordWindowX", key_password_rect.left); - db_set_dw(NULL, szGPGModuleName, "PasswordWindowY", key_password_rect.top); - } - break; - } - return FALSE; + case WM_CLOSE: + mir_free(inkeyid); + DestroyWindow(hwndDlg); + break; + + case WM_DESTROY: + GetWindowRect(hwndDlg, &key_password_rect); + db_set_dw(NULL, szGPGModuleName, "PasswordWindowX", key_password_rect.left); + db_set_dw(NULL, szGPGModuleName, "PasswordWindowY", key_password_rect.top); + break; + } + return FALSE; } void ShowLoadKeyPasswordWindow() diff --git a/plugins/New_GPG/src/metacontacts.cpp b/plugins/New_GPG/src/metacontacts.cpp index b466cc65f0..dcf7667f4f 100644 --- a/plugins/New_GPG/src/metacontacts.cpp +++ b/plugins/New_GPG/src/metacontacts.cpp @@ -18,69 +18,65 @@ extern bool bMetaContacts; -bool metaIsProtoMetaContacts(HANDLE hContact) +bool metaIsProtoMetaContacts(HCONTACT hContact) { - if(bMetaContacts) { - LPSTR proto = GetContactProto(hContact); - if( proto && strcmp(proto,"MetaContacts")==0 ) { - return true; - } - } - return false; + if(bMetaContacts) { + LPSTR proto = GetContactProto(hContact); + if( proto && strcmp(proto,"MetaContacts")==0 ) { + return true; + } + } + return false; } -bool metaIsDefaultSubContact(HANDLE hContact) +bool metaIsDefaultSubContact(HCONTACT hContact) { - if(bMetaContacts) + if(bMetaContacts) return (HANDLE)CallService(MS_MC_GETDEFAULTCONTACT,(WPARAM)CallService(MS_MC_GETMETACONTACT,(WPARAM)hContact,0),0)==hContact; - return false; + return false; } -HANDLE metaGetContact(HANDLE hContact) +HCONTACT metaGetContact(HCONTACT hContact) { - if(bMetaContacts) + if(bMetaContacts) if(metaIsSubcontact(hContact)) - return (HANDLE)CallService(MS_MC_GETMETACONTACT,(WPARAM)hContact,0); - return NULL; + return (HCONTACT)CallService(MS_MC_GETMETACONTACT,(WPARAM)hContact,0); + return NULL; } -bool metaIsSubcontact(HANDLE hContact) +bool metaIsSubcontact(HCONTACT hContact) { if(bMetaContacts) return CallService(MS_MC_GETMETACONTACT,(WPARAM)hContact,0) != 0; - return false; + return false; } -HANDLE metaGetMostOnline(HANDLE hContact) +HCONTACT metaGetMostOnline(HCONTACT hContact) { - - if(bMetaContacts) + if(bMetaContacts) if(metaIsProtoMetaContacts(hContact)) - return (HANDLE)CallService(MS_MC_GETMOSTONLINECONTACT,(WPARAM)hContact,0); - return NULL; + return (HCONTACT)CallService(MS_MC_GETMOSTONLINECONTACT,(WPARAM)hContact,0); + return NULL; } -HANDLE metaGetDefault(HANDLE hContact) +HCONTACT metaGetDefault(HCONTACT hContact) { - - if(bMetaContacts) + if(bMetaContacts) if(metaIsProtoMetaContacts(hContact)) - return (HANDLE)CallService(MS_MC_GETDEFAULTCONTACT,(WPARAM)hContact,0); - return NULL; + return (HCONTACT)CallService(MS_MC_GETDEFAULTCONTACT,(WPARAM)hContact,0); + return NULL; } -DWORD metaGetContactsNum(HANDLE hContact) +DWORD metaGetContactsNum(HCONTACT hContact) { if(bMetaContacts) return CallService(MS_MC_GETNUMCONTACTS, (WPARAM)hContact, 0); return 0; } -HANDLE metaGetSubcontact(HANDLE hContact, int num) +HCONTACT metaGetSubcontact(HCONTACT hContact, int num) { if(bMetaContacts) - return (HANDLE)CallService(MS_MC_GETSUBCONTACT, (WPARAM)hContact, (LPARAM)num); + return (HCONTACT)CallService(MS_MC_GETSUBCONTACT, (WPARAM)hContact, (LPARAM)num); return 0; } - - diff --git a/plugins/New_GPG/src/metacontacts.h b/plugins/New_GPG/src/metacontacts.h index 8b8873edcc..9dba2943c0 100644 --- a/plugins/New_GPG/src/metacontacts.h +++ b/plugins/New_GPG/src/metacontacts.h @@ -14,11 +14,11 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -bool metaIsProtoMetaContacts(HANDLE hContact); -bool metaIsDefaultSubContact(HANDLE hContact) ; -HANDLE metaGetContact(HANDLE hContact); -bool metaIsSubcontact(HANDLE hContact); -HANDLE metaGetMostOnline(HANDLE hContact); -HANDLE metaGetDefault(HANDLE hContact); -DWORD metaGetContactsNum(HANDLE hContact); -HANDLE metaGetSubcontact(HANDLE hContact, int num); \ No newline at end of file +bool metaIsProtoMetaContacts(HCONTACT hContact); +bool metaIsDefaultSubContact(HCONTACT hContact) ; +HCONTACT metaGetContact(HCONTACT hContact); +bool metaIsSubcontact(HCONTACT hContact); +HCONTACT metaGetMostOnline(HCONTACT hContact); +HCONTACT metaGetDefault(HCONTACT hContact); +DWORD metaGetContactsNum(HCONTACT hContact); +HCONTACT metaGetSubcontact(HCONTACT hContact, int num); diff --git a/plugins/New_GPG/src/options.cpp b/plugins/New_GPG/src/options.cpp index 8418e49bf9..75279c7e96 100755 --- a/plugins/New_GPG/src/options.cpp +++ b/plugins/New_GPG/src/options.cpp @@ -66,7 +66,7 @@ int GpgOptInit(WPARAM wParam,LPARAM lParam) return 0; } -map<int, HANDLE> user_data; +map<int, HCONTACT> user_data; int item_num = 0; HWND hwndList_p = NULL; @@ -120,8 +120,7 @@ static INT_PTR CALLBACK DlgProcGpgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LP ListView_InsertColumn(hwndList, 4, &col); ListView_SetExtendedListViewStyleEx(hwndList, 0, LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT); int i = 1, iRow = 0; - bool isContactHaveKey(HANDLE); - for(HANDLE hContact = db_find_first(); hContact != NULL; hContact = db_find_next(hContact)) { + for(HCONTACT hContact = db_find_first(); hContact != NULL; hContact = db_find_next(hContact)) { if(isContactHaveKey(hContact)) { TCHAR *name = (TCHAR*)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)hContact, GCDNF_TCHAR); item.mask = LVIF_TEXT; @@ -193,16 +192,16 @@ static INT_PTR CALLBACK DlgProcGpgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LP switch (LOWORD(wParam)) { case IDC_DELETE_KEY_BUTTON: - void setClistIcon(HANDLE hContact); - void setSrmmIcon(HANDLE hContact); + void setClistIcon(HCONTACT hContact); + void setSrmmIcon(HCONTACT hContact); { //gpg execute block TCHAR tmp2[MAX_PATH] = {0}; TCHAR *ptmp; char *tmp; bool keep = false; bool ismetacontact = false; - HANDLE meta = NULL; - HANDLE hContact = user_data[item_num+1]; + HCONTACT meta = NULL; + HCONTACT hContact = user_data[item_num+1]; if(metaIsProtoMetaContacts(hContact)) { meta = hContact; @@ -215,7 +214,7 @@ static INT_PTR CALLBACK DlgProcGpgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LP ismetacontact = true; } tmp = UniGetContactSettingUtf(hContact, szGPGModuleName, "KeyID", ""); - for(HANDLE hcnttmp = db_find_first(); hcnttmp != NULL; hcnttmp = db_find_next(hcnttmp)) { + for(HCONTACT hcnttmp = db_find_first(); hcnttmp != NULL; hcnttmp = db_find_next(hcnttmp)) { if(hcnttmp != hContact) { char *tmp2 = UniGetContactSettingUtf(hcnttmp, szGPGModuleName, "KeyID", ""); if(!strcmp(tmp, tmp2)) { @@ -263,7 +262,7 @@ static INT_PTR CALLBACK DlgProcGpgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LP { if(MessageBox(0, TranslateT("Do you want to remove key from entire metacontact (all subcontacts)?"), TranslateT("Metacontact detected"), MB_YESNO) == IDYES) { - HANDLE hcnt = NULL; + HCONTACT hcnt = NULL; int count = metaGetContactsNum(meta); for(int i = 0; i < count; i++) { @@ -408,8 +407,8 @@ static INT_PTR CALLBACK DlgProcGpgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LP } else if(hdr->hdr.code == LVN_ITEMCHANGED) { - void setClistIcon(HANDLE hContact); - void setSrmmIcon(HANDLE hContact); + void setClistIcon(HCONTACT hContact); + void setSrmmIcon(HCONTACT hContact); if(ListView_GetCheckState(hwndList, item_num)) db_set_b(user_data[item_num+1], szGPGModuleName, "GPGEncryption", 1); else @@ -424,18 +423,18 @@ static INT_PTR CALLBACK DlgProcGpgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LP case PSN_APPLY: { extern bool bJabberAPI, bFileTransfers; - bDebugLog = CheckStateStoreDB(hwndDlg, IDC_DEBUG_LOG, "bDebugLog"); + bDebugLog = CheckStateStoreDB(hwndDlg, IDC_DEBUG_LOG, "bDebugLog") != 0; if(bDebugLog) debuglog.init(); - bJabberAPI = CheckStateStoreDB(hwndDlg, IDC_JABBER_API, "bJabberAPI"); - bool old_bFileTransfers = db_get_b(NULL, szGPGModuleName, "bFileTransfers", 0); - bFileTransfers = CheckStateStoreDB(hwndDlg, IDC_FILE_TRANSFERS, "bFileTransfers"); + bJabberAPI = CheckStateStoreDB(hwndDlg, IDC_JABBER_API, "bJabberAPI") != 0; + bool old_bFileTransfers = db_get_b(NULL, szGPGModuleName, "bFileTransfers", 0) != 0; + bFileTransfers = CheckStateStoreDB(hwndDlg, IDC_FILE_TRANSFERS, "bFileTransfers") != 0; if(bFileTransfers != old_bFileTransfers) { db_set_b(NULL, szGPGModuleName, "bSameAction", 0); bSameAction = false; } - bAutoExchange = CheckStateStoreDB(hwndDlg, IDC_AUTO_EXCHANGE, "bAutoExchange"); + bAutoExchange = CheckStateStoreDB(hwndDlg, IDC_AUTO_EXCHANGE, "bAutoExchange") != 0; { TCHAR tmp[512]; GetDlgItemText(hwndDlg, IDC_LOG_FILE_EDIT, tmp, 512); @@ -630,8 +629,8 @@ static INT_PTR CALLBACK DlgProcGpgMsgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, case PSN_APPLY: { - bAppendTags = CheckStateStoreDB(hwndDlg, IDC_APPEND_TAGS, "bAppendTags"); - bStripTags = CheckStateStoreDB(hwndDlg, IDC_STRIP_TAGS, "bStripTags"); + bAppendTags = CheckStateStoreDB(hwndDlg, IDC_APPEND_TAGS, "bAppendTags") != 0; + bStripTags = CheckStateStoreDB(hwndDlg, IDC_STRIP_TAGS, "bStripTags") != 0; { TCHAR tmp[128]; GetDlgItemText(hwndDlg, IDC_IN_OPEN_TAG, tmp, 128); @@ -666,58 +665,43 @@ static INT_PTR CALLBACK DlgProcGpgMsgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, static INT_PTR CALLBACK DlgProcGpgAdvOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { - switch (msg) - { - case WM_INITDIALOG: - { + switch (msg) { + case WM_INITDIALOG: extern bool bJabberAPI; TranslateDialogDefault(hwndDlg); CheckStateLoadDB(hwndDlg, IDC_PRESCENSE_SUBSCRIPTION, "bPresenceSigning", 0); EnableWindow(GetDlgItem(hwndDlg, IDC_PRESCENSE_SUBSCRIPTION), bJabberAPI); - return TRUE; - } - - - case WM_COMMAND: - { - switch (LOWORD(wParam)) - { - case IDC_EXPORT: - { - INT_PTR ExportGpGKeys(WPARAM w, LPARAM l); - ExportGpGKeys(NULL, NULL); - } - break; - case IDC_IMPORT: - { - INT_PTR ImportGpGKeys(WPARAM w, LPARAM l); - ImportGpGKeys(NULL, NULL); - } - break; - default: + return TRUE; + + case WM_COMMAND: + switch (LOWORD(wParam)) { + case IDC_EXPORT: + { + INT_PTR ExportGpGKeys(WPARAM w, LPARAM l); + ExportGpGKeys(NULL, NULL); + } + break; + case IDC_IMPORT: + { + INT_PTR ImportGpGKeys(WPARAM w, LPARAM l); + ImportGpGKeys(NULL, NULL); + } + break; + } + + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); break; - } - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; - } - - case WM_NOTIFY: - { - switch (((LPNMHDR)lParam)->code) - { - - case PSN_APPLY: - { - bPresenceSigning = CheckStateStoreDB(hwndDlg, IDC_PRESCENSE_SUBSCRIPTION, "bPresenceSigning"); - return TRUE; - } - } + case WM_NOTIFY: + switch (((LPNMHDR)lParam)->code) { + case PSN_APPLY: + bPresenceSigning = CheckStateStoreDB(hwndDlg, IDC_PRESCENSE_SUBSCRIPTION, "bPresenceSigning") != 0; + return TRUE; + } + break; } - break; - } - return FALSE; + return FALSE; } HWND hPubKeyEdit = NULL; @@ -735,7 +719,7 @@ static LRESULT CALLBACK editctrl_ctrl_a(HWND hwndDlg,UINT msg,WPARAM wParam,LPAR static INT_PTR CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam,LPARAM lParam) { - static HANDLE hContact; + static HCONTACT hContact; TCHAR *tmp = NULL; wstring key_buf; wstring::size_type ws1 = 0, ws2 = 0; @@ -745,7 +729,7 @@ static INT_PTR CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam hContact = user_data[1]; SetWindowPos(hwndDlg, 0, load_key_rect.left, load_key_rect.top, 0, 0, SWP_NOSIZE|SWP_SHOWWINDOW); mir_subclassWindow(GetDlgItem(hwndDlg, IDC_PUBLIC_KEY_EDIT), editctrl_ctrl_a); - HANDLE hcnt = hContact; + HCONTACT hcnt = hContact; if(metaIsProtoMetaContacts(hcnt)) hcnt = metaGetMostOnline(hcnt); TranslateDialogDefault(hwndDlg); @@ -894,14 +878,13 @@ static INT_PTR CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam { if(metaIsProtoMetaContacts(hContact)) { - HANDLE hcnt = NULL; if(MessageBox(0, TranslateT("Do you want to load key for all subcontacts?"), TranslateT("Metacontact detected"), MB_YESNO) == IDYES) { allsubcontacts = true; int count = metaGetContactsNum(hContact); for(int i = 0; i < count; i++) { - hcnt = metaGetSubcontact(hContact, i); + HCONTACT hcnt = metaGetSubcontact(hContact, i); if(hcnt) db_set_ts(hcnt, szGPGModuleName, "GPGPubKey", key_buf.substr(ws1,ws2-ws1).c_str()); } @@ -921,7 +904,7 @@ static INT_PTR CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam string output; DWORD exitcode; { - HANDLE hcnt = hContact; + HCONTACT hcnt = hContact; if(metaIsProtoMetaContacts(hcnt)) hcnt = metaGetMostOnline(hcnt); ptmp = UniGetContactSettingUtf(NULL, szGPGModuleName, "szHomePath", _T("")); @@ -960,22 +943,19 @@ static INT_PTR CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam { if(metaIsProtoMetaContacts(hContact)) { - HANDLE hcnt = NULL; if(allsubcontacts) { int count = metaGetContactsNum(hContact); for(int i = 0; i < count; i++) { - hcnt = metaGetSubcontact(hContact, i); + HCONTACT hcnt = metaGetSubcontact(hContact, i); if(hcnt) db_unset(hcnt, szGPGModuleName, "bAlwatsTrust"); } } - else - db_unset(metaGetMostOnline(hContact), szGPGModuleName, "bAlwatsTrust"); + else db_unset(metaGetMostOnline(hContact), szGPGModuleName, "bAlwatsTrust"); } - else - db_unset(hContact, szGPGModuleName, "bAlwatsTrust"); + else db_unset(hContact, szGPGModuleName, "bAlwatsTrust"); } { TCHAR *tmp; @@ -994,13 +974,12 @@ static INT_PTR CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam { if(metaIsProtoMetaContacts(hContact)) { - HANDLE hcnt = NULL; if(allsubcontacts) { int count = metaGetContactsNum(hContact); for(int i = 0; i < count; i++) { - hcnt = metaGetSubcontact(hContact, i); + HCONTACT hcnt = metaGetSubcontact(hContact, i); if(hcnt) db_set_s(hcnt, szGPGModuleName, "KeyID", tmp2); } @@ -1044,13 +1023,12 @@ static INT_PTR CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam { if(metaIsProtoMetaContacts(hContact)) { - HANDLE hcnt = NULL; if(allsubcontacts) { int count = metaGetContactsNum(hContact); for(int i = 0; i < count; i++) { - hcnt = metaGetSubcontact(hContact, i); + HCONTACT hcnt = metaGetSubcontact(hContact, i); if(hcnt) db_set_s(hcnt, szGPGModuleName, "KeyMainName", output.substr(s,s2-s-1).c_str()); } @@ -1082,13 +1060,12 @@ static INT_PTR CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam { if(metaIsProtoMetaContacts(hContact)) { - HANDLE hcnt = NULL; if(allsubcontacts) { int count = metaGetContactsNum(hContact); for(int i = 0; i < count; i++) { - hcnt = metaGetSubcontact(hContact, i); + HCONTACT hcnt = metaGetSubcontact(hContact, i); if(hcnt) db_set_s(hcnt, szGPGModuleName, "KeyComment", output.substr(s2,s-s2).c_str()); } @@ -1109,22 +1086,19 @@ static INT_PTR CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam { if(metaIsProtoMetaContacts(hContact)) { - HANDLE hcnt = NULL; if(allsubcontacts) { int count = metaGetContactsNum(hContact); for(int i = 0; i < count; i++) { - hcnt = metaGetSubcontact(hContact, i); + HCONTACT hcnt = metaGetSubcontact(hContact, i); if(hcnt) db_set_s(hcnt, szGPGModuleName, "KeyMainEmail", output.substr(s,s2-s).c_str()); } } - else - db_set_s(metaGetMostOnline(hContact), szGPGModuleName, "KeyMainEmail", output.substr(s,s2-s).c_str()); + else db_set_s(metaGetMostOnline(hContact), szGPGModuleName, "KeyMainEmail", output.substr(s,s2-s).c_str()); } - else - db_set_s(hContact, szGPGModuleName, "KeyMainEmail", output.substr(s,s2-s).c_str()); + else db_set_s(hContact, szGPGModuleName, "KeyMainEmail", output.substr(s,s2-s).c_str()); } mir_free(tmp2); tmp = mir_wstrdup(toUTF16(output.substr(s,s2-s)).c_str()); @@ -1141,22 +1115,19 @@ static INT_PTR CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam { if(metaIsProtoMetaContacts(hContact)) { - HANDLE hcnt = NULL; if(allsubcontacts) { int count = metaGetContactsNum(hContact); for(int i = 0; i < count; i++) { - hcnt = metaGetSubcontact(hContact, i); + HCONTACT hcnt = metaGetSubcontact(hContact, i); if(hcnt) db_set_s(hcnt, szGPGModuleName, "KeyMainEmail", output.substr(s2,s-s2).c_str()); } } - else - db_set_s(metaGetMostOnline(hContact), szGPGModuleName, "KeyMainEmail", output.substr(s2,s-s2).c_str()); + else db_set_s(metaGetMostOnline(hContact), szGPGModuleName, "KeyMainEmail", output.substr(s2,s-s2).c_str()); } - else - db_set_s(hContact, szGPGModuleName, "KeyMainEmail", output.substr(s2,s-s2).c_str()); + else db_set_s(hContact, szGPGModuleName, "KeyMainEmail", output.substr(s2,s-s2).c_str()); } mir_free(tmp2); tmp = mir_wstrdup(toUTF16(output.substr(s2,s-s2)).c_str()); @@ -1217,13 +1188,12 @@ static INT_PTR CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam { if(metaIsProtoMetaContacts(hContact)) { - HANDLE hcnt = NULL; if(allsubcontacts) { int count = metaGetContactsNum(hContact); for(int i = 0; i < count; i++) { - hcnt = metaGetSubcontact(hContact, i); + HCONTACT hcnt = metaGetSubcontact(hContact, i); if(hcnt) { if(!isContactSecured(hcnt)) @@ -1299,8 +1269,6 @@ static INT_PTR CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam } break; case IDC_IMPORT: - extern HANDLE new_key_hcnt; - extern boost::mutex new_key_hcnt_mutex; new_key_hcnt_mutex.lock(); new_key_hcnt = hContact; void ShowImportKeyDialog(); diff --git a/plugins/New_GPG/src/srmm.cpp b/plugins/New_GPG/src/srmm.cpp index 85e149214e..542312213d 100644 --- a/plugins/New_GPG/src/srmm.cpp +++ b/plugins/New_GPG/src/srmm.cpp @@ -18,8 +18,8 @@ #include "commonheaders.h" -void ShowStatusIcon(HANDLE hContact); -void setSrmmIcon(HANDLE hContact); +void ShowStatusIcon(HCONTACT hContact); +void setSrmmIcon(HCONTACT hContact); int __cdecl onWindowEvent(WPARAM wParam, LPARAM lParam) { @@ -32,9 +32,10 @@ int __cdecl onWindowEvent(WPARAM wParam, LPARAM lParam) { } -int __cdecl onIconPressed(WPARAM wParam, LPARAM lParam) { - HANDLE hContact = (HANDLE)wParam; - HANDLE hMeta = NULL; +int __cdecl onIconPressed(WPARAM wParam, LPARAM lParam) +{ + HCONTACT hContact = (HCONTACT)wParam; + HCONTACT hMeta = NULL; if(metaIsProtoMetaContacts(hContact)) { hMeta = hContact; @@ -46,9 +47,6 @@ int __cdecl onIconPressed(WPARAM wParam, LPARAM lParam) { if(strcmp(sicd->szModule, szGPGModuleName)) return 0; // not our event - void setSrmmIcon(HANDLE); - void setClistIcon(HANDLE); - bool isContactHaveKey(HANDLE hContact); BYTE enc = db_get_b(hContact, szGPGModuleName, "GPGEncryption", 0); if(enc) { @@ -62,8 +60,6 @@ int __cdecl onIconPressed(WPARAM wParam, LPARAM lParam) { if(!isContactHaveKey(hContact)) { void ShowLoadPublicKeyDialog(); - extern map<int, HANDLE> user_data; - extern int item_num; item_num = 0; //black magic here user_data[1] = hContact; ShowLoadPublicKeyDialog(); diff --git a/plugins/New_GPG/src/utilities.cpp b/plugins/New_GPG/src/utilities.cpp index bd2e4ec45e..d1122dca94 100755 --- a/plugins/New_GPG/src/utilities.cpp +++ b/plugins/New_GPG/src/utilities.cpp @@ -18,7 +18,7 @@ #include "commonheaders.h" -TCHAR* __stdcall UniGetContactSettingUtf(HANDLE hContact, const char *szModule,const char* szSetting, TCHAR* szDef) +TCHAR* __stdcall UniGetContactSettingUtf(HCONTACT hContact, const char *szModule,const char* szSetting, TCHAR* szDef) { DBVARIANT dbv = {DBVT_DELETED}; TCHAR* szRes = NULL; @@ -33,7 +33,7 @@ TCHAR* __stdcall UniGetContactSettingUtf(HANDLE hContact, const char *szModule,c return szRes; } -char* __stdcall UniGetContactSettingUtf(HANDLE hContact, const char *szModule,const char* szSetting, char* szDef) +char* __stdcall UniGetContactSettingUtf(HCONTACT hContact, const char *szModule,const char* szSetting, char* szDef) { DBVARIANT dbv = {DBVT_DELETED}; char* szRes = NULL; @@ -138,15 +138,14 @@ void GetFolderPath(TCHAR *WindowTittle, char *szSetting) INT_PTR LoadKey(WPARAM w, LPARAM l) { void ShowLoadPublicKeyDialog(); - extern map<int, HANDLE> user_data; - user_data[1] = (HANDLE)w; + user_data[1] = (HCONTACT)w; ShowLoadPublicKeyDialog(); return 0; } INT_PTR SendKey(WPARAM w, LPARAM l) { - HANDLE hContact = (HANDLE)w; + HCONTACT hContact = (HCONTACT)w; if(metaIsProtoMetaContacts(hContact)) hContact = metaGetMostOnline(hContact); char *szMessage; @@ -202,7 +201,7 @@ extern HGENMENU hToggleEncryption, hSendKey; INT_PTR ToggleEncryption(WPARAM w, LPARAM l) { - HANDLE hContact = (HANDLE)w; + HCONTACT hContact = (HCONTACT)w; BYTE enc = 0; if(metaIsProtoMetaContacts(hContact)) enc = db_get_b(metaGetMostOnline(hContact), szGPGModuleName, "GPGEncryption", 0); @@ -210,13 +209,12 @@ INT_PTR ToggleEncryption(WPARAM w, LPARAM l) enc = db_get_b(hContact, szGPGModuleName, "GPGEncryption", 0); if(metaIsProtoMetaContacts(hContact)) { - HANDLE hcnt = NULL; if(MessageBox(0, TranslateT("Do you want to toggle encryption for all subcontacts?"), TranslateT("Metacontact detected"), MB_YESNO) == IDYES) { int count = metaGetContactsNum(hContact); for(int i = 0; i < count; i++) { - hcnt = metaGetSubcontact(hContact, i); + HCONTACT hcnt = metaGetSubcontact(hContact, i); if(hcnt) db_set_b(hcnt, szGPGModuleName, "GPGEncryption", enc?0:1); } @@ -225,8 +223,8 @@ INT_PTR ToggleEncryption(WPARAM w, LPARAM l) } else db_set_b(hContact, szGPGModuleName, "GPGEncryption", enc?0:1); - void setSrmmIcon(HANDLE hContact); - void setClistIcon(HANDLE hContact); + void setSrmmIcon(HCONTACT hContact); + void setClistIcon(HCONTACT hContact); setSrmmIcon(hContact); setClistIcon(hContact); enc = enc?0:1; @@ -239,7 +237,7 @@ INT_PTR ToggleEncryption(WPARAM w, LPARAM l) int OnPreBuildContactMenu(WPARAM w, LPARAM l) { - HANDLE hContact = (HANDLE)w; + HCONTACT hContact = (HCONTACT)w; if(metaIsProtoMetaContacts(hContact)) hContact = metaGetMostOnline(hContact); @@ -396,9 +394,6 @@ int onProtoAck(WPARAM w, LPARAM l) return 0; while(out.find("public key decryption failed: bad passphrase") != string::npos) { - extern bool _terminate; - extern HANDLE new_key_hcnt; - extern boost::mutex new_key_hcnt_mutex; if(bDebugLog) debuglog<<std::string(time_str()+": info: failed to decrypt messaage from "+toUTF8((TCHAR*)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)ack->hContact, GCDNF_TCHAR))+" password needed, trying to get one"); if(_terminate) @@ -478,12 +473,12 @@ int onProtoAck(WPARAM w, LPARAM l) return 0; } -std::wstring encrypt_file(HANDLE hContact, TCHAR *filename) +std::wstring encrypt_file(HCONTACT hContact, TCHAR *filename) { string out; DWORD code; pxResult result; - HANDLE hcnt = metaIsProtoMetaContacts(hContact)?metaGetMostOnline(hContact):hContact; + HCONTACT hcnt = metaIsProtoMetaContacts(hContact)?metaGetMostOnline(hContact):hContact; std::vector<wstring> cmd; cmd.push_back(L"--batch"); cmd.push_back(L"--tes"); @@ -643,7 +638,7 @@ INT_PTR onSendFile(WPARAM w, LPARAM l) } -void HistoryLog(HANDLE hContact, db_event evt) +void HistoryLog(HCONTACT hContact, db_event evt) { DBEVENTINFO Event = { sizeof(Event) }; Event.szModule = szGPGModuleName; @@ -724,7 +719,7 @@ static JABBER_HANDLER_FUNC SendHandler(IJabberInterface *ji, HXML node, void *pU LPCTSTR attr = xi.getAttrValue(local_node, _T("to")); if(attr) { - HANDLE hContact = ji->ContactFromJID(attr); + HCONTACT hContact = ji->ContactFromJID(attr); if(hContact) if(!isContactSecured(hContact)) return FALSE; @@ -1014,7 +1009,7 @@ static JABBER_HANDLER_FUNC PrescenseHandler(IJabberInterface *ji, HXML node, voi string::size_type p2 = out.find("\n", p1); if(p1 != string::npos && p2 != string::npos) { - HANDLE hContact = NULL; + HCONTACT hContact = NULL; { extern list <JabberAccount*> Accounts; list <JabberAccount*>::iterator p = Accounts.begin(); @@ -1075,7 +1070,7 @@ void AddHandlers() } } -bool isContactSecured(HANDLE hContact) +bool isContactSecured(HCONTACT hContact) { BYTE gpg_enc = db_get_b(hContact, szGPGModuleName, "GPGEncryption", 0); if(!gpg_enc) @@ -1101,7 +1096,7 @@ bool isContactSecured(HANDLE hContact) return true; } -bool isContactHaveKey(HANDLE hContact) +bool isContactHaveKey(HCONTACT hContact) { TCHAR *key = UniGetContactSettingUtf(hContact, szGPGModuleName, "GPGPubKey", _T("")); if(_tcslen(key) > 0) @@ -1220,7 +1215,7 @@ const bool StriStr(const char *str, const char *substr) return i; } -bool IsOnline(HANDLE hContact) +bool IsOnline(HCONTACT hContact) { if(db_get_b(hContact, szGPGModuleName, "Status", 0) == ID_STATUS_OFFLINE) return false; @@ -1231,34 +1226,34 @@ bool IsOnline(HANDLE hContact) #include <process.h> struct TFakeAckParams { - inline TFakeAckParams( HANDLE p1, HANDLE p2, LONG p3, LPCSTR p4 ) : + inline TFakeAckParams( HANDLE p1, HCONTACT p2, LONG p3, LPCSTR p4 ) : hEvent( p1 ), hContact( p2 ), id( p3 ), msg( p4 ) {} - HANDLE hEvent; - HANDLE hContact; - LONG id; - LPCSTR msg; + HANDLE hEvent; + HCONTACT hContact; + LONG id; + LPCSTR msg; }; -__forceinline int SendBroadcast(HANDLE hContact, int type, int result, HANDLE hProcess, LPARAM lParam) +__forceinline int SendBroadcast(HCONTACT hContact, int type, int result, HANDLE hProcess, LPARAM lParam) { return ProtoBroadcastAck( GetContactProto(hContact), hContact, type, result, hProcess, lParam); } -unsigned __stdcall sttFakeAck( LPVOID param ) { - +unsigned __stdcall sttFakeAck( LPVOID param ) +{ TFakeAckParams* tParam = ( TFakeAckParams* )param; WaitForSingleObject( tParam->hEvent, INFINITE ); Sleep( 100 ); if ( tParam->msg == NULL ) - SendBroadcast( tParam->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, ( HANDLE )tParam->id, 0 ); + SendBroadcast(tParam->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, (HANDLE)tParam->id, 0 ); else - SendBroadcast( tParam->hContact, ACKTYPE_MESSAGE, ACKRESULT_FAILED, ( HANDLE )tParam->id, LPARAM( tParam->msg )); + SendBroadcast(tParam->hContact, ACKTYPE_MESSAGE, ACKRESULT_FAILED, (HANDLE)tParam->id, LPARAM(tParam->msg)); CloseHandle( tParam->hEvent ); delete tParam; @@ -1267,7 +1262,7 @@ unsigned __stdcall sttFakeAck( LPVOID param ) { } -int returnNoError(HANDLE hContact) { +int returnNoError(HCONTACT hContact) { HANDLE hEvent = CreateEvent( NULL, TRUE, FALSE, NULL ); unsigned int tID; CloseHandle( (HANDLE) _beginthreadex(NULL, 0, sttFakeAck, new TFakeAckParams(hEvent,hContact,777,0), 0, &tID) ); @@ -1323,8 +1318,9 @@ string get_random(int length) return data; } -void send_encrypted_msgs_thread(HANDLE hContact) +void send_encrypted_msgs_thread(void *param) { + HCONTACT hContact = (HCONTACT)param; while(true) { //char *key = UniGetContactSettingUtf(hContact, szGPGModuleName, "GPGPubKey", ""); @@ -1398,7 +1394,7 @@ void ExportGpGKeysFunc(int type) if(!file.is_open()) return; //TODO: handle error if(!type || type == 2) { - for(HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { + for(HCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { char *k = UniGetContactSettingUtf(hContact, szGPGModuleName, "GPGPubKey", ""); std::string key; if(!k[0]) @@ -1685,7 +1681,7 @@ INT_PTR ImportGpGKeys(WPARAM w, LPARAM l) if(acc.length()) { const char * uid = (const char*)CallProtoService(acc.c_str(), PS_GETCAPS, (WPARAM)PFLAG_UNIQUEIDSETTING, 0); - for(HANDLE hContact = db_find_first(acc.c_str()); hContact; hContact = db_find_next(hContact, acc.c_str())) { + for(HCONTACT hContact = db_find_first(acc.c_str()); hContact; hContact = db_find_next(hContact, acc.c_str())) { DBVARIANT dbv = {0}; db_get(hContact, acc.c_str(), uid, &dbv); std::string id; diff --git a/plugins/New_GPG/src/utilities.h b/plugins/New_GPG/src/utilities.h index ef3fbced23..3b884a3846 100644 --- a/plugins/New_GPG/src/utilities.h +++ b/plugins/New_GPG/src/utilities.h @@ -16,17 +16,22 @@ #ifndef UTILITIES_H #define UTILITIES_H -TCHAR* __stdcall UniGetContactSettingUtf(HANDLE hContact, const char *szModule,const char* szSetting, TCHAR* szDef); -char* __stdcall UniGetContactSettingUtf(HANDLE hContact, const char *szModule,const char* szSetting, char* szDef); +TCHAR* __stdcall UniGetContactSettingUtf(HCONTACT hContact, const char *szModule,const char* szSetting, TCHAR* szDef); +char* __stdcall UniGetContactSettingUtf(HCONTACT hContact, const char *szModule,const char* szSetting, char* szDef); void GetFilePath(TCHAR *WindowTittle, char *szSetting, TCHAR *szExt, TCHAR *szExtDesc); TCHAR *GetFilePath(TCHAR *WindowTittle, TCHAR *szExt, TCHAR *szExtDesc, bool save_file = false); void GetFolderPath(TCHAR *WindowTittle, char *szSetting); void storeOutput(HANDLE ahandle, string *output); +void setSrmmIcon(HCONTACT); +void setClistIcon(HCONTACT); + +void send_encrypted_msgs_thread(void*); + int ComboBoxAddStringUtf(HWND hCombo, const TCHAR *szString, DWORD data); -bool isContactSecured(HANDLE hContact); -bool isContactHaveKey(HANDLE hContact); +bool isContactSecured(HCONTACT hContact); +bool isContactHaveKey(HCONTACT hContact); bool isTabsrmmUsed(); bool isGPGKeyExist(); bool isGPGValid(); @@ -99,7 +104,7 @@ public: cbSize = 0; } }; -void HistoryLog(HANDLE, db_event); +void HistoryLog(HCONTACT, db_event); void fix_line_term(std::string &s); void fix_line_term(std::wstring &s); void strip_line_term(std::wstring &s); -- cgit v1.2.3