]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/conn-func.c
Implement NGIRCD_PENALTY_MAX environment variable
[ngircd-alex.git] / src / ngircd / conn-func.c
index fb5c55fa1289b8c8aa3527dbb32b605c6246357c..76369b970fdff36fde6479687e02dc2513a425da 100644 (file)
@@ -97,6 +97,11 @@ Conn_SetPenalty(CONN_ID Idx, time_t Seconds)
        assert(Idx > NONE);
        assert(Seconds >= 0);
 
+       if (Max_Penalty_Add >= 0 && Seconds > Max_Penalty_Add)
+               Seconds = Max_Penalty_Add;
+       if (Seconds <= 0)
+               return;
+
        t = time(NULL);
        if (My_Connections[Idx].delaytime < t)
                My_Connections[Idx].delaytime = t;
@@ -138,7 +143,7 @@ GLOBAL CONN_ID
 Conn_First( void )
 {
        CONN_ID i;
-       
+
        for( i = 0; i < Pool_Size; i++ )
        {
                if( My_Connections[i].sock != NONE ) return i;
@@ -152,7 +157,7 @@ Conn_Next( CONN_ID Idx )
        CONN_ID i = NONE;
 
        assert( Idx > NONE );
-       
+
        for( i = Idx + 1; i < Pool_Size; i++ )
        {
                if( My_Connections[i].sock != NONE ) return i;