repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 28e98887643bf881c11ba3b8df5e9cbcc7e967ba:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 28e98887643bf881c11ba3b8df5e9cbcc7e967ba
Author: Alexander Barton 
Date:   Sun Aug 17 15:19:45 2008 +0200

    Convert SQUERY to PRIVMSG on RFC 1459 compliant links.

diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c
index b88d5d7db7cc7a1320eb94027ca6835518c9a4cc..
index ..0bfb3eed6a32e366a8d16d00a5a78348dc3ae647 100644
--- a/src/ngircd/irc.c
+++ b/src/ngircd/irc.c
@@ -438,6 +438,17 @@ Send_Message(CLIENT * Client, REQUEST * Req, int ForceType, bool SendErrors)
 							  Client_ID(from),
 							  currentTarget);
 			}
+
+#ifndef STRICT_RFC
+			if (ForceType == CLIENT_SERVICE &&
+			    (Conn_Options(Client_Conn(Client_NextHop(cl)))
+			     & CONN_RFC1459)) {
+				/* SQUERY command but RFC 1459 link: convert
+				 * request to PRIVMSG command */
+				Req->command = "PRIVMSG";
+			}
+#endif
+
 			if (SendErrors && (Client_Type(Client) != CLIENT_SERVER)
 			    && strchr(Client_Modes(cl), 'a')) {
 				/* Target is away */

-----END OF PAGE-----