]> arthur.barton.de Git - ngircd-alex.git/blobdiff - doc/Protocol.txt
Specify session context for OpenSSL clients
[ngircd-alex.git] / doc / Protocol.txt
index d0f0780f549a18b00f7f439d2336f7dcbcd147c7..6b3cfbcf3892b0cefa098177ed65ad4c32ba5bfa 100644 (file)
@@ -81,11 +81,17 @@ The following <serverflags> are defined at the moment:
 - H: The server supports the "enhanced server handshake", see section II.2
      for a detailed description.
 
+- M: Changing client "metadata" (hostname, real name, ...) using the
+     METADATA command is supported.
+
 - o: IRC operators are allowed to change channel- and channel-user-modes
      even if they aren't channel-operator of the affected channel.
 
 - S: The server supports the SERVICE command (on this link).
 
+- X: Server supports XOP channel modes (owner, admin, halfop) and supports
+     these user prefixes in CHANINFO commands, for example.
+
 - Z: Compressed server links are supported by the server.
 
 Example for a complete <flags> string: "ngircd|0.7.5:CZ".
@@ -194,13 +200,38 @@ received from the client using the set <client-charset> to the server
 encoding (UTF-8), and all message data which is to be sent to the client
 from the server encoding (UTF-8) to <client-charset>.
 
-The list of supported <client-charset>'s is implementation dependent.
+The list of supported client character sets is implementation dependent.
 
 If a client sets its <client-charset> to the server encoding (UTF-8),
 it disables all conversions; the connection behaves as if no CHARCONV
 command has been sent at all in this session.
 
 
+II.6 Update client "metadata"
+
+     Command: METADATA
+  Parameters: <target> <key> <value>
+     Used by: servers only
+
+The METADATA command is used on server-links to update "metadata" information
+of clients, like the hostname, the info text ("real name"), or the user name.
+
+The server updates its client database according to the received <key> and
+<value> parameters, and passes the METADATA command on to all the other
+servers in the network that support this command (see section II.1 "Register
+new server link", <serverflag> "M"), even if it doesn't support the given
+<key> itself: unknown <key> names are ignored silently!
+
+The following <key> names are defined:
+
+ - "accountname": the account name of a client (can't be empty)
+ - "certfp": the certificate fingerprint of a client (can't be empty)
+ - "cloakhost": the cloaked hostname of a client
+ - "host": the hostname of a client (can't be empty)
+ - "info": info text ("real name") of a client
+ - "user": the user name of a client (can't be empty)
+
+
 III. Numerics used by IRC+ Protocol
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~