Check G-Line and K-Line lists after authenticating clients
authorAlexander Barton <alex@barton.de>
Sun, 25 Dec 2011 17:03:35 +0000 (18:03 +0100)
committerAlexander Barton <alex@barton.de>
Sun, 25 Dec 2011 17:03:35 +0000 (18:03 +0100)
src/ngircd/irc-login.c

index eeecf96d82d88b40af7b4693ec1edbc3056bb6c8..140d68e0dcbaf96013b7878572e749e1dfccdfcd 100644 (file)
@@ -937,12 +937,6 @@ Hello_User(CLIENT * Client)
        }
 #endif
 
-       if (Class_IsMember(CLASS_GLINE, Client) ||
-           Class_IsMember(CLASS_KLINE, Client)) {
-               Reject_Client(Client);
-               return DISCONNECTED;
-       }
-
 #ifdef PAM
        if (!Conf_PAM) {
                /* Don't do any PAM authentication at all, instead emulate
@@ -1068,6 +1062,12 @@ Reject_Client(CLIENT *Client)
 static bool
 Hello_User_PostAuth(CLIENT *Client)
 {
+       if (Class_IsMember(CLASS_GLINE, Client) ||
+           Class_IsMember(CLASS_KLINE, Client)) {
+               Reject_Client(Client);
+               return DISCONNECTED;
+       }
+
        Introduce_Client(NULL, Client, CLIENT_USER);
 
        if (!IRC_WriteStrClient