]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/irc-login.c
Add more penalty times
[ngircd-alex.git] / src / ngircd / irc-login.c
index 26dae6b73b2826ca82a47d2263f4f7b6607fe7d6..013481d2275029b664019126a6926d3e978dc222 100644 (file)
@@ -81,6 +81,7 @@ IRC_PASS( CLIENT *Client, REQUEST *Req )
        } else if (Client_Type(Client) == CLIENT_UNKNOWN ||
                   Client_Type(Client) == CLIENT_UNKNOWNSERVER) {
                /* Unregistered connection, but wrong number of arguments: */
+               IRC_SetPenalty(Client, 2);
                return IRC_WriteErrClient(Client, ERR_NEEDMOREPARAMS_MSG,
                                          Client_ID(Client), Req->command);
        } else {
@@ -270,9 +271,11 @@ IRC_NICK( CLIENT *Client, REQUEST *Req )
                /* Server or service introduces new client */
 
                /* Bad number of parameters? */
-               if (Req->argc != 2 && Req->argc != 7)
+               if (Req->argc != 2 && Req->argc != 7) {
+                       IRC_SetPenalty(Client, 2);
                        return IRC_WriteErrClient(Client, ERR_NEEDMOREPARAMS_MSG,
                                                  Client_ID(Client), Req->command);
+               }
 
                if (Req->argc >= 7) {
                        /* RFC 2813 compatible syntax */
@@ -358,8 +361,6 @@ IRC_SVSNICK(CLIENT *Client, REQUEST *Req)
        assert(Client != NULL);
        assert(Req != NULL);
 
-       _IRC_ARGC_EQ_OR_RETURN_(Client, Req, 2)
-
        /* Search the originator */
        from = Client_Search(Req->prefix);
        if (!from)
@@ -521,8 +522,6 @@ IRC_SERVICE(CLIENT *Client, REQUEST *Req)
                return IRC_WriteErrClient(Client, ERR_ALREADYREGISTRED_MSG,
                                          Client_ID(Client));
 
-       _IRC_ARGC_EQ_OR_RETURN_(Client, Req, 6)
-
        if (Client_Type(Client) != CLIENT_SERVER)
                return IRC_WriteErrClient(Client, ERR_ERRONEUSNICKNAME_MSG,
                                  Client_ID(Client), Req->argv[0]);
@@ -598,8 +597,6 @@ IRC_SERVICE(CLIENT *Client, REQUEST *Req)
 GLOBAL bool
 IRC_WEBIRC(CLIENT *Client, REQUEST *Req)
 {
-       _IRC_ARGC_EQ_OR_RETURN_(Client, Req, 4)
-
        if (!Conf_WebircPwd[0] || strcmp(Req->argv[0], Conf_WebircPwd) != 0)
                return IRC_WriteErrClient(Client, ERR_PASSWDMISMATCH_MSG,
                                          Client_ID(Client));
@@ -610,6 +607,8 @@ IRC_WEBIRC(CLIENT *Client, REQUEST *Req)
        Client_SetUser(Client, Req->argv[1], true);
        Client_SetOrigUser(Client, Req->argv[1]);
        Client_SetHostname(Client, Req->argv[2]);
+       Client_SetIPAText(Client, Req->argv[3]);
+
        return CONNECTED;
 } /* IRC_WEBIRC */
 
@@ -629,8 +628,6 @@ IRC_QUIT( CLIENT *Client, REQUEST *Req )
        assert(Client != NULL);
        assert(Req != NULL);
 
-       _IRC_ARGC_LE_OR_RETURN_(Client, Req, 1)
-
        if (Req->argc == 1)
                strlcpy(quitmsg, Req->argv[0], sizeof quitmsg);