void CLoginDlg::OnClickButtonLogin() { UpdateData(); m_LoginStr.TrimLeft(); m_LoginStr.TrimRight(); CString LoginStr = m_LoginStr; int StartPortPos = -1; if((StartPortPos = LoginStr.Find(_T(":")))!=-1) { CString strPort = LoginStr.Mid(StartPortPos+1); LoginStr = LoginStr.Left(StartPortPos); int lPort = _ttol(strPort); } // Check: Login is E-Mail [9/2/2002] if(CheckEmailString(LoginStr)) { if(GetDllVersion(_T("comctl32.dll")) >= PACKVERSION(5,8)) { ShowLoginTooltip(FALSE); } WriteOptionInt(IDS_NETOPTIONS, IDS_USESSL, m_btnSSL.GetPressed()); if(!m_btnSavePassword.GetPressed()) { WriteOptionString(IDS_LOGIN, IDS_NICKNAME, _T("")); //WriteOptionString(IDS_LOGIN,IDS_PASSWORD,""); WriteOptionInt(IDS_LOGIN,IDS_REMEMBER,FALSE); } else { #ifndef RADIUS #define CRYPT_PROV_CONTAINER_NAME _T("Mediachase") #else #define CRYPT_PROV_CONTAINER_NAME _T("Radius-Soft") #endif #define CRYPT_KEYLENGTH 0x00280000L #define ENCRYPT_ALGORITHM CALG_RC4 #define ENCRYPT_BLOCK_SIZE 1 //CString strHashData; CCryptProv m_hCryptProv; CCryptDerivedKey m_hKey; HRESULT m_CryptInitErrorCode = m_hCryptProv.Initialize(PROV_RSA_FULL,CRYPT_PROV_CONTAINER_NAME,MS_DEF_PROV,NULL); if(m_CryptInitErrorCode==0x80090016) { m_CryptInitErrorCode = m_hCryptProv.Initialize(PROV_RSA_FULL,CRYPT_PROV_CONTAINER_NAME,MS_DEF_PROV,CRYPT_NEWKEYSET); } if(m_CryptInitErrorCode==S_OK) { // Create Key [9/12/2002] CCryptMD5Hash hMD5Hash; m_CryptInitErrorCode = hMD5Hash.Initialize(m_hCryptProv,CRYPT_PROV_CONTAINER_NAME); if(m_CryptInitErrorCode==S_OK) { m_CryptInitErrorCode = m_hKey.Initialize(m_hCryptProv,hMD5Hash,ENCRYPT_ALGORITHM,CRYPT_KEYLENGTH); if(m_CryptInitErrorCode==S_OK) { LPTSTR strHashData = NULL; if(LoginPassword2HexSTR(m_hKey,m_LoginStr,m_PasswordStr,&strHashData)==S_OK) { WriteOptionString(IDS_LOGIN,IDS_NICKNAME,strHashData); delete [] strHashData; strHashData = NULL; } } } } //WriteOptionString(IDS_LOGIN,IDS_NICKNAME,m_LoginStr); //Pack(m_PasswordStr,CString("vTsfO")); //WriteOptionString(IDS_LOGIN,IDS_PASSWORD,m_PasswordStr); //UnPack(m_PasswordStr,CString("vTsfO")); WriteOptionInt(IDS_LOGIN,IDS_REMEMBER,TRUE); } if(::IsWindow(GetParent()->GetSafeHwnd())) GetParent()->PostMessage(WM_INETLOGIN,0,0); } else { // Error; Onvalide Login [9/2/2002] // Show Ballon Tooltip [9/9/2004] if(GetDllVersion(_T("comctl32.dll")) >= PACKVERSION(5,8)) { ShowLoginTooltip(TRUE); } else { _SHOW_IBN_ERROR_DLG_OK(IDS_INVALID_LOGIN_OR_PASSWORD); } } // [9/2/2002] }
LRESULT CInviteChatDlg::OnNetEvent(WPARAM w,LPARAM l) { NLT_Container *pItem = (NLT_Container *)w; ASSERT(pItem!=NULL); UnBlock(); switch(pItem->EventType) { case NLT_EDetails: { IUser *pUser = NULL; HRESULT hr = AutoUnMarchaling(pItem,(LPUNKNOWN*)&pUser); if(SUCCEEDED(hr)) { theNet2.LockTranslator(); theNet2.RemoveFromTranslator(Handle); try { CUser InfoUser(pUser); m_User = InfoUser; CString strNickText; strNickText.Format(GetString(IDS_INVITE_CHAT_NICK_NAME),m_User.GetShowName()); m_Nick.SetWindowText(strNickText); UpdateData(FALSE); } catch(...) { ASSERT(FALSE); } theNet2.UnlockTranslator(); pUser->Release(); } } break; case NLT_EChatCreate: { IChat *pChat = NULL; HRESULT hr = AutoUnMarchaling(pItem,(LPUNKNOWN*)&pChat); if(hr==S_OK) { // Step 1. Add new Chat to ChatsCollections [8/9/2002] pMessenger->AddNewChat(pChat,SC_INACTIVE); // Step 2. Connect to Chat [9/7/2002] CChat Chat(pChat); pMessenger->SetChatStatus(Chat.GetId(),SC_ACTIVE,CMainDlg::HCI_OPEN_CHAT_WINDOW); // Step 2. Free Interface [8/9/2002] pChat->Release(); } // Step 3. Close the Window KillWindow(); } break; case NLT_ECommandOK: theNet2.LockTranslator(); theNet2.RemoveFromTranslator(Handle); theNet2.UnlockTranslator(); KillWindow(); break; case NLT_ECommandError: theNet2.LockTranslator(); theNet2.RemoveFromTranslator(Handle); theNet2.UnlockTranslator(); if(pItem->Long1==etSERVER) { switch(pItem->Long2) { case ERR_UNABLE_CREATE_CONN: _SHOW_IBN_ERROR_DLG_OK(IDS_SERVICENOTAVAILABLE); break; } } MessageBox(GetString(IDS_INVITECHAT_ERROR),GetString(IDS_ERROR_TITLE),MB_OK|MB_ICONSTOP); break; } delete pItem; return 0; }
LRESULT CAddUserRequest::OnNetEvent(WPARAM w,LPARAM l) { NLT_Container *pItem = (NLT_Container *)w; ASSERT(pItem!=NULL); UnBlock(); switch(pItem->EventType) { case NLT_EDetails: { IUser *pUser = NULL; HRESULT hr = AutoUnMarchaling(pItem,(LPUNKNOWN*)&pUser); if(SUCCEEDED(hr)) { theNet2.LockTranslator(); theNet2.RemoveFromTranslator(Handle); try { CUser InfoUser(pUser); m_User = InfoUser; m_Nick.SetText(m_User.GetShowName()); UpdateData(FALSE); } catch(...) { ASSERT(FALSE); } theNet2.UnlockTranslator(); pUser->Release(); } } break; case NLT_ECommandOK: theNet2.LockTranslator(); theNet2.RemoveFromTranslator(Handle); theNet2.UnlockTranslator(); if(m_bAddUserCommand&&!pMessenger->CheckUserInContactList(m_User)) { //GetDlgItem(IDOK)->ShowWindow(SW_HIDE); //GetDlgItem(ID_DANY)->ShowWindow(SW_HIDE); m_Accept.ShowWindow(SW_HIDE); m_Deny.ShowWindow(SW_HIDE); m_AddToContact.ShowWindow(SW_SHOWNORMAL); //GetDlgItem(ID_AUTHORIZATION_REQUEST)->ShowWindow(SW_SHOWNORMAL); } else KillWindow(); break; case NLT_ECommandError: theNet2.LockTranslator(); theNet2.RemoveFromTranslator(Handle); theNet2.UnlockTranslator(); if(pItem->Long1==etSERVER) { switch(pItem->Long2) { case ERR_UNABLE_CREATE_CONN: _SHOW_IBN_ERROR_DLG_OK(IDS_SERVICENOTAVAILABLE); break; } } MessageBox(GetString(IDS_ADD_USER_ERROR),GetString(IDS_ERROR_TITLE),MB_OK|MB_ICONSTOP); break; } delete pItem; return 0; }