reconnect from a ban with same IP how?
#45
Take a look for yourself:
bool isbanned(int cn)
{
    if(!valid_client(cn)) return false;       // tempest: this _might_ be the cause (highly speculative!)
    client &c = *clients[cn];
    if(c.type==ST_LOCAL) return false;
    loopv(bans)
    {
        ban &b = bans[i];
        if(b.millis < servmillis) { bans.remove(i--); }
        if(b.address.host == c.peer->address.host) { return true; }     // tempest: this is where the check happens (normally :S)
    }
    return checkgban(c.peer->address.host) || ipblacklist.check(c.peer->address.host);
}

b.address is of type ENetAddress, and if you look here, you'll see that host is a uint32 into which a 32-bit IPv4 address just fits. It does not check the port and only the public IP address!
Thanks given by:


Messages In This Thread
RE: reconnect from a ban with same IP how? - by tempest - 12 Jan 11, 04:57PM