Ticket #5038: CleanupAddNewSocket.patch

File CleanupAddNewSocket.patch, 1.6 KB (added by eyebex, 12 years ago)
  • ServerThread.cpp

     
    172172{
    173173    CControlSocket *socket = new CControlSocket(this);
    174174    socket->Attach(sockethandle);
    175     CStdString ip;
    176     unsigned int port;
    177    
     175
    178176    SOCKADDR_IN sockAddr;
    179177    memset(&sockAddr, 0, sizeof(sockAddr));
    180178    int nSockAddrLen = sizeof(sockAddr);
    181179    BOOL bResult = socket->GetPeerName((SOCKADDR*)&sockAddr, &nSockAddrLen);
    182180    if (bResult)
    183181    {
    184         port = ntohs(sockAddr.sin_port);
    185         ip = inet_ntoa(sockAddr.sin_addr);
     182        socket->m_RemoteIP = inet_ntoa(sockAddr.sin_addr);
    186183    }
    187184    else
    188185    {
     
    193190        delete socket;
    194191        return;
    195192    }
    196     socket->m_RemoteIP=  ip;
    197193    EnterCritSection(m_GlobalThreadsync);
    198194    int userid = CalcUserID();
    199195    if (userid == -1)
     
    214210
    215211    // Check if remote IP is blocked due to hammering
    216212    std::map<DWORD, int>::iterator iter = m_antiHammerInfo.find(sockAddr.sin_addr.s_addr);
    217     if (iter != m_antiHammerInfo.end())
     213    if (iter != m_antiHammerInfo.end() && iter->second > 10)
    218214    {
    219         if (iter->second > 10)
    220             socket->AntiHammerIncrease(25); // ~6 secs delay
     215        socket->AntiHammerIncrease(25); // ~6 secs delay
    221216    }
    222217    LeaveCritSection(m_GlobalThreadsync);
    223218    EnterCritSection(m_threadsync);
     
    246241
    247242    SendNotification(FSM_CONNECTIONDATA, (LPARAM)op);
    248243
    249     if (ssl)
    250         if (!socket->InitImplicitSsl())
    251             return;
     244    if (ssl && !socket->InitImplicitSsl())
     245        return;
    252246   
    253247    socket->AsyncSelect(FD_READ|FD_WRITE|FD_CLOSE);
    254248    socket->SendStatus(_T("Connected, sending welcome message..."), 0);