void CGnuSearch::SendBrowseRequest(CString Host, int Port) { if( m_pNet->m_pGnu ) { m_BrowseNode = new CGnuNode(m_pNet->m_pGnu, Host, Port); m_BrowseNode->m_BrowseID = m_SearchID; m_BrowseSearch = true; GnuCreateGuid((GUID*) m_GnuPacket); //Attempt to connect to node if(!m_BrowseNode->Create()) { m_BrowseNode->m_Status = SOCK_CLOSED; return; } if( !m_BrowseNode->Connect(Host, Port) ) if (m_BrowseNode->GetLastError() != WSAEWOULDBLOCK) { m_BrowseNode->m_Status = SOCK_CLOSED; return; } } }
void CLocalProperties::MakeRandomIRCID() { GUID guid; GnuCreateGuid(&guid); if(guid == NULL_GUID) return; dwFlagMain1 |= FLAG_REG_IRCID; GuidtoIRCID(guid, szIRCID, sizeof(szIRCID) - 1); }
CGnuSearch::CGnuSearch(CGnuNetworks* pNet) { m_pNet = pNet; m_pCore = pNet->m_pCore; m_pPrefs = m_pCore->m_pPrefs; m_pShare = m_pCore->m_pShare; m_pTrans = m_pCore->m_pTrans; m_pMeta = m_pCore->m_pMeta; if(pNet->m_NextSearchID < 1) pNet->m_NextSearchID = 1; m_SearchID = pNet->m_NextSearchID++; pNet->m_SearchIDMap[m_SearchID] = this; GnuCreateGuid(&m_QueryID); // Setup Guid for out-of-band hits delivery if(m_pNet->m_pGnu) { memcpy(&m_QueryID, &m_pNet->m_CurrentIP.S_addr, 4); memcpy(((byte*) &m_QueryID) + 13, &m_pNet->m_CurrentPort, 2); } m_BrowseNode = NULL; m_BrowseWaiting = 0; m_NextResultID = 1; m_MetaID = 0; m_ResultStep = SEARCH_RESULT_STEP; m_NextTimeout = time(NULL) + SEARCH_TIMOUT_STEP; m_SearchPaused = false; m_Minute = 0; m_SizeFilterMode = LIMIT_NONE; m_SizeFilterValue = 0; m_SpeedFilterMode = LIMIT_NONE; m_SpeedFilterValue = 0; memset(m_GnuPacket, 0, 4096); m_GnuPacketLength = 0; m_BrowseNode = NULL; }