///////////////////////////////////////////////////////////////////////////////// // Returns a CString with the local IP in format xxx.xxx.xxx.xxx ///////////////////////////////////////////////////////////////////////////////// CString MyUPnP::GetLocalIPStr() { if(m_slocalIP.IsEmpty()) InitLocalIP(); return m_slocalIP; }
///////////////////////////////////////////////////////////////////////////////// // Returns the Local IP ///////////////////////////////////////////////////////////////////////////////// DWORD MyUPnP::GetLocalIP() { if(m_uLocalIP == 0) InitLocalIP(); return m_uLocalIP; }
///////////////////////////////////////////////////////////////////////////////// // Returns the Local IP ///////////////////////////////////////////////////////////////////////////////// DWORD CUPnpMgr::GetLocalIP() { CSingleLock localLock(&m_cs, TRUE); if(m_uLocalIP == 0) InitLocalIP(); return m_uLocalIP; }
///////////////////////////////////////////////////////////////////////////////// // Returns a CString with the local IP in format xxx.xxx.xxx.xxx ///////////////////////////////////////////////////////////////////////////////// CString CUPnpMgr::GetLocalIPStr() { CSingleLock localLock(&m_cs, TRUE); if(m_slocalIP.IsEmpty()) InitLocalIP(); return m_slocalIP; }
CServerConnect::CServerConnect() { connectedsocket = NULL; max_simcons = (thePrefs.IsSafeServerConnectEnabled()) ? 1 : 2; connecting = false; connected = false; clientid = 0; singleconnecting = false; if (thePrefs.GetServerUDPPort() != 0){ udpsocket = new CUDPSocket(); // initalize socket for udp packets if (!udpsocket->Create()){ delete udpsocket; udpsocket = NULL; } } else udpsocket = NULL; m_idRetryTimer = 0; m_uStartAutoConnectPos = 0; InitLocalIP(); }
void CServerConnect::ConnectionEstablished(CServerSocket* sender) { if (!connecting) { // we are already connected to another server DestroySocket(sender); return; } InitLocalIP(); if (sender->GetConnectionState() == CS_WAITFORLOGIN) { AddLogLine(false, GetResString(IDS_CONNECTEDTOREQ), sender->cur_server->GetListName(), sender->cur_server->GetAddress(), sender->IsServerCryptEnabledConnection() ? sender->cur_server->GetObfuscationPortTCP() : sender->cur_server->GetPort()); CServer* pServer = theApp.serverlist->GetServerByAddress(sender->cur_server->GetAddress(), sender->cur_server->GetPort()); if (pServer) { pServer->ResetFailedCount(); theApp.emuledlg->serverwnd->serverlistctrl.RefreshServer(pServer); } // Send login packet CSafeMemFile data(256); data.WriteHash16(thePrefs.GetUserHash()); data.WriteUInt32(GetClientID()); data.WriteUInt16(thePrefs.GetPort()); UINT tagcount = 4; data.WriteUInt32(tagcount); CTag tagName(CT_NAME, thePrefs.GetUserNick()); tagName.WriteTagToFile(&data); CTag tagVersion(CT_VERSION, EDONKEYVERSION); tagVersion.WriteTagToFile(&data); uint32 dwCryptFlags = 0; if (thePrefs.IsClientCryptLayerSupported()) dwCryptFlags |= SRVCAP_SUPPORTCRYPT; if (thePrefs.IsClientCryptLayerRequested()) dwCryptFlags |= SRVCAP_REQUESTCRYPT; if (thePrefs.IsClientCryptLayerRequired()) dwCryptFlags |= SRVCAP_REQUIRECRYPT; CTag tagFlags(CT_SERVER_FLAGS, SRVCAP_ZLIB | SRVCAP_NEWTAGS | SRVCAP_LARGEFILES | SRVCAP_UNICODE | dwCryptFlags); tagFlags.WriteTagToFile(&data); // eMule Version (14-Mar-2004: requested by lugdunummaster (need for LowID clients which have no chance // to send an Hello packet to the server during the callback test)) CTag tagMuleVersion(CT_EMULE_VERSION, //(uCompatibleClientID << 24) | (CemuleApp::m_nVersionMjr << 17) | (CemuleApp::m_nVersionMin << 10) | (CemuleApp::m_nVersionUpd << 7) ); tagMuleVersion.WriteTagToFile(&data); Packet* packet = new Packet(&data); packet->opcode = OP_LOGINREQUEST; if (thePrefs.GetDebugServerTCPLevel() > 0) Debug(_T(">>> Sending OP__LoginRequest\n")); theStats.AddUpDataOverheadServer(packet->size); SendPacket(packet, true, sender); } else if (sender->GetConnectionState() == CS_CONNECTED) { theStats.reconnects++; theStats.serverConnectTime = GetTickCount(); connected = true; CString strMsg; if (sender->IsObfusicating()) strMsg.Format(GetResString(IDS_CONNECTEDTOOBFUSCATED) + _T(" (%s:%u)"), sender->cur_server->GetListName(), sender->cur_server->GetAddress(), sender->cur_server->GetObfuscationPortTCP()); else strMsg.Format(GetResString(IDS_CONNECTEDTO) + _T(" (%s:%u)"), sender->cur_server->GetListName(), sender->cur_server->GetAddress(), sender->cur_server->GetPort()); Log(LOG_SUCCESS | LOG_STATUSBAR, strMsg); theApp.emuledlg->ShowConnectionState(); connectedsocket = sender; StopConnectionTry(); theApp.sharedfiles->ClearED2KPublishInfo(); theApp.sharedfiles->SendListToServer(); theApp.emuledlg->serverwnd->serverlistctrl.RemoveAllDeadServers(); // tecxx 1609 2002 - serverlist update if (thePrefs.GetAddServersFromServer()) { Packet* packet = new Packet(OP_GETSERVERLIST,0); if (thePrefs.GetDebugServerTCPLevel() > 0) Debug(_T(">>> Sending OP__GetServerList\n")); theStats.AddUpDataOverheadServer(packet->size); SendPacket(packet, true); } CServer* pServer = theApp.serverlist->GetServerByAddress(sender->cur_server->GetAddress(), sender->cur_server->GetPort()); if (pServer) theApp.emuledlg->serverwnd->serverlistctrl.RefreshServer(pServer); } theApp.emuledlg->ShowConnectionState(); }