Commit Diff


commit - 3afa0e06583d7f5d353f398147e9a3fd570d2720
commit + 28e98887643bf881c11ba3b8df5e9cbcc7e967ba
blob - b88d5d7db7cc7a1320eb94027ca6835518c9a4cc
blob + 0bfb3eed6a32e366a8d16d00a5a78348dc3ae647
--- src/ngircd/irc.c
+++ src/ngircd/irc.c
@@ -438,6 +438,17 @@ Send_Message(CLIENT * Client, REQUEST * Req, int Force
 							  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 */