about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2010-12-29 14:10:18 +0100
committerAlexander Barton <alex@barton.de>2011-02-13 17:52:39 +0100
commit07f241ff6d3afee88d6c6b3e2ed1e195c0367c91 (patch)
treea65e6a2e1a8c8afc28d72fdfcd6146a6f284710d
parent53fecf5a2b3e0f396b08b2a00a73eb73c46e1853 (diff)
downloadngircd-07f241ff6d3afee88d6c6b3e2ed1e195c0367c91.tar.gz
ngircd-07f241ff6d3afee88d6c6b3e2ed1e195c0367c91.zip
Enhance documentation for the WEBIRC command
-rw-r--r--doc/Protocol.txt14
-rw-r--r--src/ngircd/irc-login.c10
2 files changed, 22 insertions, 2 deletions
diff --git a/doc/Protocol.txt b/doc/Protocol.txt
index 354b814b..2b7e7b87 100644
--- a/doc/Protocol.txt
+++ b/doc/Protocol.txt
@@ -161,3 +161,17 @@ and therefore can't be omitted. The parameter <limit> must be ignored when
 a channel has no user limit (the parameter <modes> doesn't list the "l"
 channel mode). In this case <limit> should be "0".
 
+
+II.4 Update webchat/proxy client information
+
+     Command: WEBIRC
+  Parameters: <password> <username> <hostname> <ip-address>
+     Used by: unregistered clients only
+
+The WEBIRC command is used by some Web-to-IRC gateways to set the correct
+user name and host name of users instead of their own. It must be the very
+first command sent to the server, even before USER and NICK commands!
+
+The <password> must be set in the server configuration file to prevent
+unauthorized clients to fake their identity; it is an arbitrary string.
+
diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c
index 1557f184..6a97074a 100644
--- a/src/ngircd/irc-login.c
+++ b/src/ngircd/irc-login.c
@@ -596,8 +596,14 @@ IRC_SERVICE(CLIENT *Client, REQUEST *Req)
 
 
 /**
- * Handler for the IRC command "WEBIRC".
- * Syntax: WEBIRC <password> <username> <real-hostname> <real-IP-address>
+ * Handler for the IRC "WEBIRC" command.
+ *
+ * See doc/Protocol.txt, section II.4:
+ * "Update webchat/proxy client information".
+ *
+ * @param Client	The client from which this command has been received.
+ * @param Req		Request structure with prefix and all parameters.
+ * @returns		CONNECTED or DISCONNECTED.
  */
 GLOBAL bool
 IRC_WEBIRC(CLIENT *Client, REQUEST *Req)