]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/irc-info.c
Merge branch 'bug167-WebircIPAnoDNS' of git://arthur.barton.de/ngircd-alex
[ngircd-alex.git] / src / ngircd / irc-info.c
index 202f427f967d8cfa3d8606a61765f80c8274b197..aa98a5b560b163f4b96a5b4c7b1a20b7f4f6f2f3 100644 (file)
@@ -152,8 +152,6 @@ IRC_WHO_Channel(CLIENT *Client, CHANNEL *Chan, bool OnlyOps)
        assert( Client != NULL );
        assert( Chan != NULL );
 
-       IRC_SetPenalty(Client, 1);
-
        is_member = Channel_IsMemberOf(Chan, Client);
 
        /* Secret channel? */
@@ -191,7 +189,7 @@ IRC_WHO_Channel(CLIENT *Client, CHANNEL *Chan, bool OnlyOps)
                }
        }
 
-       /* If there are a lot of clients, augment penalty a bit */
+       /* If there are a lot of clients, increase the penalty a bit */
        if (count > MAX_RPL_WHO)
                IRC_SetPenalty(Client, 1);
 
@@ -1152,7 +1150,6 @@ IRC_WHO(CLIENT *Client, REQUEST *Req)
        }
 
        /* No channel or (valid) mask given */
-       IRC_SetPenalty(Client, 2);
        return IRC_WHO_Mask(Client, NULL, only_ops);
 } /* IRC_WHO */
 
@@ -1175,8 +1172,6 @@ IRC_WHOIS( CLIENT *Client, REQUEST *Req )
        assert( Client != NULL );
        assert( Req != NULL );
 
-       IRC_SetPenalty(Client, 1);
-
        /* Wrong number of parameters? */
        if (Req->argc < 1)
                return IRC_WriteErrClient(Client, ERR_NONICKNAMEGIVEN_MSG,
@@ -1238,6 +1233,7 @@ IRC_WHOIS( CLIENT *Client, REQUEST *Req )
                        continue;
                }
                got_wildcard = true;
+               /* Increase penalty for wildcard queries */
                IRC_SetPenalty(Client, 3);
 
                for (c = Client_First(); c; c = Client_Next(c)) {
@@ -1543,6 +1539,10 @@ IRC_Send_NAMES(CLIENT * Client, CHANNEL * Chan)
 GLOBAL bool
 IRC_Send_ISUPPORT(CLIENT * Client)
 {
+       if (Conf_Network[0] && !IRC_WriteStrClient(Client, RPL_ISUPPORTNET_MSG,
+                                                  Client_ID(Client),
+                                                  Conf_Network))
+               return DISCONNECTED;
        if (!IRC_WriteStrClient(Client, RPL_ISUPPORT1_MSG, Client_ID(Client),
                                CHANTYPES, CHANTYPES, Conf_MaxJoins))
                return DISCONNECTED;