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; }
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 ); }