!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\dmz\FileZillaFTP\source\   drwxrwxrwx
Free 4.08 GB of 39.52 GB (10.32%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     ServerThread.h (4.21 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// FileZilla Server - a Windows ftp server

// Copyright (C) 2002-2004 - Tim Kosse <tim.kosse@gmx.de>

// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

#if !defined(AFX_SERVERTHREAD_H__4F566540_62DF_4338_85DE_EC699EB6640C__INCLUDED_)
#define AFX_SERVERTHREAD_H__4F566540_62DF_4338_85DE_EC699EB6640C__INCLUDED_

#include "Thread.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ServerThread.h : Header-Datei
//

class CControlSocket;
class CServerThread;
class COptions;
class CPermissions;
class t_user;
class CExternalIpCheck;
class CAutoBanManager;
class CHashThread;

typedef struct
{
    CControlSocket *pSocket;
    CServerThread *pThread;
} t_socketdata;

/////////////////////////////////////////////////////////////////////////////
// Thread CServerThread 

class CServerThread : public CThread
{
public:
    virtual CStdString GetExternalIP(const CStdString& localIP);
    virtual void ExternalIPFailed();
    CServerThread(int nNotificationMessageId);

    CPermissions *m_pPermissions;
    COptions *m_pOptions;
    CAutoBanManager* m_pAutoBanManager;
    void IncRecvCount(int count);
    void IncSendCount(int count);
    void IncIpCount(const CStdString &ip);
    void DecIpCount(const CStdString &ip);
    int GetIpCount(const CStdString &ip) const;
    BOOL IsReady();
    static const int GetGlobalNumConnections();
    void AddSocket(SOCKET sockethandle, bool ssl);
    const int GetNumConnections();

    struct t_Notification
    {
        WPARAM wParam;
        LPARAM lParam;
    };

    void SendNotification(WPARAM wParam, LPARAM lParam);

    /*
     * The parameter should be an empty list, since m_pendingNotifications and 
     * list get swapped to increase performance.
     */
    void GetNotifications(std::list<CServerThread::t_Notification>& list);

    void AntiHammerIncrease(const CStdString& ip);
    
    CHashThread& GetHashThread();

protected:
    virtual ~CServerThread();

    void GatherTransferedBytes();
    void ProcessNewSlQuota();
    virtual BOOL InitInstance();
    virtual DWORD ExitInstance();

    virtual int OnThreadMessage(UINT Msg, WPARAM wParam, LPARAM lParam);
    void OnTimer(WPARAM wParam, LPARAM lParam);    
    
    void ProcessControlMessage(t_controlmessage *msg);
    CControlSocket * GetControlSocket(int userid);
    std::map<int, CControlSocket *> m_LocalUserIDs;
    void AddNewSocket(SOCKET sockethandle, bool ssl);
    static int CalcUserID();
    static std::map<int, t_socketdata> m_userids;
    static std::map<CStdString, int> m_userIPs;
    void AntiHammerDecrease();

    int m_nRecvCount;
    int m_nSendCount;
    UINT m_nRateTimer;
    BOOL m_bQuit;

    CCriticalSectionWrapper m_threadsync;
    static CCriticalSectionWrapper m_GlobalThreadsync;
    unsigned int m_timerid;

    //Speed limit code
    static std::list<CServerThread *> m_sInstanceList; //First instance is the SL master
    BOOL m_bIsMaster;
    int m_nLoopCount;

    int m_lastLimits[2];
    typedef struct {
        int nBytesAllowedToTransfer;
        int nTransferred;
    } t_Quota;
    t_Quota m_SlQuotas[2];

    CStdString m_RawWelcomeMessage;
    std::list<CStdString> m_ParsedWelcomeMessage;
    CExternalIpCheck *m_pExternalIpCheck;

    std::list<t_Notification> m_pendingNotifications;
    int m_throttled;

    int m_nNotificationMessageId;

    static std::map<CStdString, int> m_antiHammerInfo;
    int m_antiHammerTimer;

    static CHashThread* m_hashThread;
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.

#endif // AFX_SERVERTHREAD_H__4F566540_62DF_4338_85DE_EC699EB6640C__INCLUDED_

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--