]> arthur.barton.de Git - ngircd.git/blobdiff - src/ngircd/parse.c
Only require server prefixes on non RFC1459 links
[ngircd.git] / src / ngircd / parse.c
index 31f048cf673408f08737647d66b8aba0bc807612..d7dbffc28f951465bfc6f300173e390aa9c0b131 100644 (file)
@@ -82,7 +82,7 @@ static COMMAND My_Commands[] =
        { "PART", IRC_PART, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
        { "PASS", IRC_PASS, 0xFFFF, 0, 0, 0 },
        { "PING", IRC_PING, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
-       { "PONG", IRC_PONG, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
+       { "PONG", IRC_PONG, 0xFFFF, 0, 0, 0 },
        { "PRIVMSG", IRC_PRIVMSG, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },
        { "QUIT", IRC_QUIT, 0xFFFF, 0, 0, 0 },
        { "REHASH", IRC_REHASH, CLIENT_USER, 0, 0, 0 },
@@ -280,6 +280,7 @@ Validate_Prefix( CONN_ID Idx, REQUEST *Req, bool *Closed )
        assert( client != NULL );
 
        if (!Req->prefix && Client_Type(client) == CLIENT_SERVER
+           && !Conn_Options(Idx) & CONN_RFC1459
            && strcasecmp(Req->command, "ERROR") != 0
            && strcasecmp(Req->command, "PING") != 0)
        {