]> arthur.barton.de Git - ngircd.git/blobdiff - src/ngircd/irc-login.c
WEBIRC: Don't respect hostname when DNS is disabled
[ngircd.git] / src / ngircd / irc-login.c
index af087f9dcdd7d01907e749745e0111896aa46a7a..dc2f6e391501c5cc329251413c56a58db64f5c8f 100644 (file)
@@ -242,7 +242,11 @@ IRC_NICK( CLIENT *Client, REQUEST *Req )
 
 #ifndef STRICT_RFC
                        if (Conf_AuthPing) {
+#ifdef HAVE_ARC4RANDOM
+                               Conn_SetAuthPing(Client_Conn(Client), arc4random());
+#else
                                Conn_SetAuthPing(Client_Conn(Client), rand());
+#endif
                                IRC_WriteStrClient(Client, "PING :%ld",
                                        Conn_GetAuthPing(Client_Conn(Client)));
                                LogDebug("Connection %d: sent AUTH PING %ld ...",
@@ -609,7 +613,10 @@ 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]);
+       if (Conf_DNS)
+               Client_SetHostname(Client, Req->argv[2]);
+       else
+               Client_SetHostname(Client, Req->argv[3]);
        Client_SetIPAText(Client, Req->argv[3]);
 
        return CONNECTED;
@@ -626,7 +633,7 @@ GLOBAL bool
 IRC_QUIT( CLIENT *Client, REQUEST *Req )
 {
        CLIENT *target;
-       char quitmsg[LINE_LEN];
+       char quitmsg[COMMAND_LEN];
 
        assert(Client != NULL);
        assert(Req != NULL);