11 #include "../../clib/cfgelem.h" 12 #include "../../clib/cfgfile.h" 13 #include "../../clib/fileutil.h" 14 #include "../globals/network.h" 29 unsigned int addr1part, addr2part;
30 struct sockaddr_in* sockin =
reinterpret_cast<struct sockaddr_in*
>( &client->
ipaddr );
31 addr1part = itr->ipMatch & itr->ipMask;
34 addr2part = sockin->sin_addr.S_un.S_addr & itr->ipMask;
36 addr2part = sockin->sin_addr.s_addr & itr->ipMask;
39 if ( addr1part == addr2part )
57 while ( cf.
read( elem ) )
61 std::string::size_type delim = iptext.find_first_of(
'/' );
62 if ( delim != std::string::npos )
64 std::string ipaddr_str = iptext.substr( 0, delim );
65 std::string ipmask_str = iptext.substr( delim + 1 );
66 CurrentEntry.
ipMatch = inet_addr( ipaddr_str.c_str() );
67 CurrentEntry.
ipMask = inet_addr( ipmask_str.c_str() );
72 std::string ipmask_str =
"255.255.255.255";
73 CurrentEntry.
ipMatch = inet_addr( iptext.c_str() );
74 CurrentEntry.
ipMask = inet_addr( ipmask_str.c_str() );
std::string remove_string(const char *propname)
void read_bannedips_config(bool initial_load)
NetworkManager networkManager
std::vector< Network::IPRule > banned_ips
bool FileExists(const char *filename)
bool read(ConfigElem &elem)
bool is_banned_ip(Client *client)