Changeset 616

Show
Ignore:
Timestamp:
08/14/06 23:13:49 (2 years ago)
Author:
oxff
Message:

nepenthes-experimental: boring changes made at Eurecom

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • nepenthes/branches/nepenthes-experimental/configure.ac

    r562 r616  
    728728                 modules/log-irc/Makefile 
    729729                 modules/module-portwatch/Makefile 
     730                 modules/module-peiros/Makefile 
    730731                 modules/submit-file/Makefile 
    731732                 modules/submit-gotek/Makefile 
  • nepenthes/branches/nepenthes-experimental/modules/Makefile.am

    r536 r616  
    1212          vuln-sub7 vuln-upnp vuln-veritas vuln-wins vuln-dameware vuln-ssh \ 
    1313          module-portwatch \ 
     14          module-peiros \ 
    1415          dnsresolve-adns \ 
    1516          x-1 x-2 x-3 x-4 x-5 x-6 \ 
  • nepenthes/branches/nepenthes-experimental/nepenthes-core/src/SocketManager.cpp

    r542 r616  
    185185bool SocketManager::doLoop(uint32_t polltimeout) 
    186186{ 
    187         list <Socket *>::iterator itSocket; 
    188  
    189 //      check socket timeouts and remove dead sockets 
    190         for (itSocket = m_Sockets.begin();itSocket != m_Sockets.end(); itSocket++) 
    191         { 
    192                 (*itSocket)->checkTimeout(); 
    193                 if ((*itSocket)->getStatus() == SS_TIMEOUT ) 
    194                 { 
    195                         logDebug("Deleting Socket %s due to timeout \n",(*itSocket)->getDescription().c_str()); 
    196                         Socket *delsocket = *itSocket; 
     187        list <Socket *>::iterator itSocket, itNext; 
     188 
     189        //      check socket timeouts and remove dead sockets 
     190        for (itSocket = m_Sockets.begin();itSocket != m_Sockets.end(); itSocket = itNext) 
     191        { 
     192                itNext = itSocket; 
     193                ++itNext; 
     194                 
     195                (* itSocket)->checkTimeout(); 
     196                 
     197                if((* itSocket)->getStatus() == SS_TIMEOUT) 
     198                { 
     199                        logDebug("Deleting Socket %s due to timeout\n", (* itSocket)->getDescription().c_str()); 
     200                         
     201                        delete * itSocket; 
    197202                        m_Sockets.erase(itSocket); 
    198                         delete delsocket; 
    199  
    200                         itSocket = m_Sockets.begin(); // FIXME ? 
    201                         if(m_Sockets.size() == 0) 
     203 
     204                        if(m_Sockets.empty()) 
    202205                return false; 
     206                } 
     207                else if((*itSocket)->getStatus() == SS_CLOSED) 
     208                { 
     209                        logDebug("Deleting %s due to closed connection \n", (* itSocket)->getDescription().c_str()); 
    203210                         
    204  
    205                 } 
    206  
    207                 if ( (*itSocket)->getStatus() == SS_CLOSED ) 
    208                 { 
    209                         logDebug("Deleting %s due to closed connection \n",(*itSocket)->getDescription().c_str()); 
    210                         Socket *delsocket = *itSocket; 
     211                        delete * itSocket; 
    211212                        m_Sockets.erase(itSocket); 
    212                         delete delsocket; 
    213                         itSocket = m_Sockets.begin(); // FIXME ? 
    214                 } 
    215         } 
    216  
    217         pollfd *polls = (pollfd *) malloc( (m_Sockets.size())* sizeof(pollfd)); 
    218         memset(polls,0,(m_Sockets.size())* sizeof(pollfd)); 
    219         int32_t i=0; 
    220         for (itSocket = m_Sockets.begin();itSocket != m_Sockets.end(); itSocket++) 
     213                } 
     214        } 
     215 
     216        pollfd * polls = (pollfd *) malloc(m_Sockets.size() * sizeof(pollfd)); 
     217         
     218        int32_t i = 0; 
     219         
     220        for(itSocket = m_Sockets.begin();itSocket != m_Sockets.end(); itSocket++) 
    221221        { 
    222222                int32_t iError = 0; 
    223223                int32_t iSize = sizeof(iError); 
     224                 
    224225                if((*itSocket)->getType() & ST_FILE) 
    225226                {