]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/irc-mode.c
Convert SQUERY to PRIVMSG on RFC 1459 compliant links.
[ngircd-alex.git] / src / ngircd / irc-mode.c
index 3786e3994593c53aa41c4e3d067190a136a61ee1..76e3ab4677fd40d372e99187c4481ba9b54781db 100644 (file)
@@ -229,7 +229,9 @@ client_exit:
                        ok = IRC_WriteStrClientPrefix( Client, Origin, "MODE %s :%s", Client_ID( Target ), the_modes );
                        IRC_WriteStrServersPrefix( Client, Origin, "MODE %s :%s", Client_ID( Target ), the_modes );
                }
-               Log( LOG_DEBUG, "User \"%s\": Mode change, now \"%s\".", Client_Mask( Target ), Client_Modes( Target ));
+               LogDebug("%s \"%s\": Mode change, now \"%s\".",
+                        Client_TypeText(Target), Client_Mask(Target),
+                        Client_Modes(Target));
        }
        
        IRC_SetPenalty( Client, 1 );    
@@ -286,6 +288,11 @@ Channel_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel )
        long l;
        size_t len;
 
+       /* Are modes allowed on channel? */
+       if (Channel_Name(Channel)[0] == '+')
+               return IRC_WriteStrClient(Client, ERR_NOCHANMODES_MSG,
+                               Client_ID(Client), Channel_Name(Channel));
+
        /* Mode request: let's answer it :-) */
        if (Req->argc <= 1)
                return Channel_Mode_Answer_Request(Origin, Channel);