Windows NT KAMIDAKI 10.0 build 19045 (Windows 10) AMD64
Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.3.9
Server IP : 192.168.3.16 & Your IP : 216.73.216.204
Domains :
Cant Read [ /etc/named.conf ]
User : SISTEMA
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
C: /
xampp /
FileZillaFTP /
source /
Delete
Unzip
Name
Size
Permission
Date
Action
hash_algorithms
[ DIR ]
drwxrwxrwx
2024-07-26 17:37
includes
[ DIR ]
drwxrwxrwx
2024-07-26 17:37
install
[ DIR ]
drwxrwxrwx
2024-07-26 17:37
interface
[ DIR ]
drwxrwxrwx
2024-07-26 17:37
misc
[ DIR ]
drwxrwxrwx
2024-07-26 17:37
res
[ DIR ]
drwxrwxrwx
2024-07-26 17:37
tinyxml
[ DIR ]
drwxrwxrwx
2024-07-26 17:37
Accounts.cpp
12.2
KB
-rw-rw-rw-
2012-04-16 19:30
Accounts.h
2.12
KB
-rw-rw-rw-
2012-04-16 19:30
AdminInterface.cpp
3.1
KB
-rw-rw-rw-
2012-04-16 19:30
AdminInterface.h
1.77
KB
-rw-rw-rw-
2012-04-16 19:30
AdminListenSocket.cpp
1.64
KB
-rw-rw-rw-
2012-04-16 19:30
AdminListenSocket.h
1.58
KB
-rw-rw-rw-
2012-04-16 19:30
AdminSocket.cpp
9.85
KB
-rw-rw-rw-
2012-04-16 19:30
AdminSocket.h
2.1
KB
-rw-rw-rw-
2012-04-16 19:30
AsyncGssSocketLayer.cpp
30.35
KB
-rw-rw-rw-
2012-04-16 19:30
AsyncGssSocketLayer.h
4.76
KB
-rw-rw-rw-
2012-04-16 19:30
AsyncSocketEx.cpp
51.94
KB
-rw-rw-rw-
2012-04-16 19:30
AsyncSocketEx.h
11.75
KB
-rw-rw-rw-
2012-04-16 19:30
AsyncSocketExLayer.cpp
26.22
KB
-rw-rw-rw-
2012-04-16 19:30
AsyncSocketExLayer.h
7
KB
-rw-rw-rw-
2012-04-16 19:30
AsyncSslSocketLayer.cpp
60.12
KB
-rw-rw-rw-
2012-04-16 19:30
AsyncSslSocketLayer.h
8.94
KB
-rw-rw-rw-
2012-04-16 19:30
ControlSocket.cpp
96.33
KB
-rw-rw-rw-
2012-04-16 19:30
ControlSocket.h
4.74
KB
-rw-rw-rw-
2012-04-16 19:30
ExternalIpCheck.cpp
7.82
KB
-rw-rw-rw-
2012-04-16 19:30
ExternalIpCheck.h
1.85
KB
-rw-rw-rw-
2012-04-16 19:30
FileLogger.cpp
6.68
KB
-rw-rw-rw-
2012-04-16 19:30
FileLogger.h
1.35
KB
-rw-rw-rw-
2012-04-16 19:30
FileZilla server.rc
2.65
KB
-rw-rw-rw-
2012-04-16 19:30
FileZilla server.sln
2.75
KB
-rw-rw-rw-
2012-04-16 19:30
FileZilla server.vcproj
39.95
KB
-rw-rw-rw-
2012-04-16 19:30
ListenSocket.cpp
4.23
KB
-rw-rw-rw-
2012-04-16 19:30
ListenSocket.h
2.29
KB
-rw-rw-rw-
2012-04-16 19:30
MFC64bitFix.cpp
2.56
KB
-rw-rw-rw-
2012-04-16 19:30
MFC64bitFix.h
1.45
KB
-rw-rw-rw-
2012-04-16 19:30
OptionLimits.h
1022
B
-rw-rw-rw-
2012-04-16 19:30
OptionTypes.h
6.46
KB
-rw-rw-rw-
2012-04-16 19:30
Options.cpp
31.81
KB
-rw-rw-rw-
2012-04-16 19:30
Options.h
2.59
KB
-rw-rw-rw-
2012-04-16 19:30
Permissions.cpp
61.53
KB
-rw-rw-rw-
2012-04-16 19:30
Permissions.h
6.82
KB
-rw-rw-rw-
2012-04-16 19:30
Server.cpp
42.34
KB
-rw-rw-rw-
2012-04-16 19:30
Server.h
2.05
KB
-rw-rw-rw-
2012-04-16 19:30
ServerThread.cpp
26.13
KB
-rw-rw-rw-
2012-04-16 19:30
ServerThread.h
4.21
KB
-rw-rw-rw-
2012-04-16 19:30
Service.cpp
15.23
KB
-rw-rw-rw-
2012-04-16 19:30
SpeedLimit.cpp
6.87
KB
-rw-rw-rw-
2012-04-16 19:30
SpeedLimit.h
1.96
KB
-rw-rw-rw-
2012-04-16 19:30
StdAfx.cpp
4.41
KB
-rw-rw-rw-
2012-04-16 19:30
StdAfx.h
4.93
KB
-rw-rw-rw-
2012-04-16 19:30
Thread.cpp
2.85
KB
-rw-rw-rw-
2012-04-16 19:30
Thread.h
1.87
KB
-rw-rw-rw-
2012-04-16 19:30
TransferSocket.cpp
28.72
KB
-rw-rw-rw-
2012-04-16 19:30
TransferSocket.h
3.62
KB
-rw-rw-rw-
2012-04-16 19:30
autobanmanager.cpp
3.44
KB
-rw-rw-rw-
2012-04-16 19:30
autobanmanager.h
1.46
KB
-rw-rw-rw-
2012-04-16 19:30
config.h
1.52
KB
-rw-rw-rw-
2012-04-16 19:30
conversion.cpp
1.95
KB
-rw-rw-rw-
2012-04-16 19:30
conversion.h
435
B
-rw-rw-rw-
2012-04-16 19:30
defs.h
1.03
KB
-rw-rw-rw-
2012-04-16 19:30
hash_thread.cpp
4.79
KB
-rw-rw-rw-
2012-04-16 19:30
hash_thread.h
930
B
-rw-rw-rw-
2012-04-16 19:30
iputils.cpp
10.87
KB
-rw-rw-rw-
2012-04-16 19:30
iputils.h
1.32
KB
-rw-rw-rw-
2012-04-16 19:30
platform.h
1.43
KB
-rw-rw-rw-
2012-04-16 19:30
resource.h
515
B
-rw-rw-rw-
2012-04-16 19:30
version.cpp
4.32
KB
-rw-rw-rw-
2012-04-16 19:30
version.h
881
B
-rw-rw-rw-
2012-04-16 19:30
xml_utils.cpp
487
B
-rw-rw-rw-
2012-04-16 19:30
xml_utils.h
236
B
-rw-rw-rw-
2012-04-16 19:30
Save
Rename
// FileZilla Server - a Windows ftp server // Copyright (C) 2002-2007 - 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. #include "stdafx.h" #include "autobanmanager.h" #include "Options.h" int CAutoBanManager::m_refCount = 0; std::map<CStdString, time_t> CAutoBanManager::m_banMap; std::map<CStdString, CAutoBanManager::t_attemptInfo> CAutoBanManager::m_attemptMap; CCriticalSectionWrapper CAutoBanManager::m_sync; CAutoBanManager::CAutoBanManager(COptions* pOptions) : m_pOptions(pOptions) { m_sync.Lock(); m_refCount++; m_sync.Unlock(); } CAutoBanManager::~CAutoBanManager() { m_sync.Lock(); m_refCount--; if (!m_refCount) { m_banMap.clear(); m_attemptMap.clear(); } m_sync.Unlock(); } bool CAutoBanManager::IsBanned(const CStdString& ip) { bool enabled = m_pOptions->GetOptionVal(OPTION_AUTOBAN_ENABLE) != 0; if (!enabled) return false; m_sync.Lock(); bool banned = m_banMap.find(ip) != m_banMap.end(); m_sync.Unlock(); return banned; } bool CAutoBanManager::RegisterAttempt(const CStdString& ip) { bool enabled = m_pOptions->GetOptionVal(OPTION_AUTOBAN_ENABLE) != 0; if (!enabled) return false; const int maxAttempts = (int)m_pOptions->GetOptionVal(OPTION_AUTOBAN_ATTEMPTS); const int banType = (int)m_pOptions->GetOptionVal(OPTION_AUTOBAN_TYPE); m_sync.Lock(); if (m_banMap.find(ip) != m_banMap.end()) { m_sync.Unlock(); return true; } std::map<CStdString, t_attemptInfo>::iterator iter = m_attemptMap.find(ip); if (iter == m_attemptMap.end()) { t_attemptInfo info; info.attempts = 1; info.time = time(0); m_attemptMap[ip] = info; } else { if (++iter->second.attempts >= maxAttempts) { m_attemptMap.erase(iter); if (!banType) m_banMap[ip] = time(0); else { // TODO } m_sync.Unlock(); return true; } else iter->second.time = time(0); } m_sync.Unlock(); return false; } void CAutoBanManager::PurgeOutdated() { const int banTime = (int)m_pOptions->GetOptionVal(OPTION_AUTOBAN_BANTIME) * 60 * 60; time_t now = time(0); m_sync.Lock(); std::map<CStdString, time_t>::iterator iter = m_banMap.begin(); while (iter != m_banMap.end()) { const time_t diff = now - iter->second; if (diff > banTime) { std::map<CStdString, time_t>::iterator remove = iter++; m_banMap.erase(remove); } else iter++; } { std::map<CStdString, t_attemptInfo>::iterator iter = m_attemptMap.begin(); while (iter != m_attemptMap.end()) { const time_t diff = now - iter->second.time; if (diff > banTime) { std::map<CStdString, t_attemptInfo>::iterator remove = iter++; m_attemptMap.erase(remove); } else iter++; } } m_sync.Unlock(); }