Example #1
0
void BN_EnableFloodProtection(BN_PInfo I,int BufferSize,int SizeLimit,time_t TimeLimit)
{
    BN_PFlood F;

    BN_PrintDebug(1,"Flood protection has been enabled : %d:%ld\n",SizeLimit,TimeLimit);
    if(I->Flood != NULL)
        BN_DisableFloodProtection(I);
    F = (BN_PFlood)malloc(sizeof(BN_TFlood));
    memset(F,0,sizeof(BN_TFlood));
    F->Length = BufferSize;
    F->Time = (time_t *)malloc(BufferSize*sizeof(time_t));
    F->Size = (int *)malloc(BufferSize*sizeof(int));
    F->FloodTime = TimeLimit;
    F->FloodSize = SizeLimit;
    F->Queue = NULL;
#ifdef HAVE_SEM_INIT
    sem_init(&F->sem,0,1);
#endif
    I->Flood = F;
}
Example #2
0
void ProcOnConnected(BN_PInfo I, const char HostName[])
{
    IRCServer_t *server;

    server = (IRCServer_t *)I->User;
    LogPrint( LOG_NOTICE, "Connected to %s:%d as %s...", server->server, 
              server->port, server->nick);

    if( verbose ) {
        LogPrint( LOG_DEBUG, "Event Connected : (%s)", HostName);
    }

    /* We are doing our own, thanks! */
    BN_DisableFloodProtection(I);

    if( strcmp( server->password, "" ) ) {
        transmitMsg( server, TX_PASSWORD, NULL, server->password );
    }
    transmitMsg( server, TX_NICK, NULL, server->nick );
    transmitMsg( server, TX_REGISTER, server->username, server->realname );
}