X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=doc%2FProtocol.txt;h=6b3cfbcf3892b0cefa098177ed65ad4c32ba5bfa;hp=c7fd7826b85539d6e6615362b9693897a2e7fa27;hb=b71a0ddbd570f5163ede198d635c3b03abd3e27e;hpb=48326e061aacd954e24f76c53ded10448cbc28eb diff --git a/doc/Protocol.txt b/doc/Protocol.txt index c7fd7826..6b3cfbcf 100644 --- a/doc/Protocol.txt +++ b/doc/Protocol.txt @@ -81,11 +81,17 @@ The following 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 string: "ngircd|0.7.5:CZ". @@ -186,7 +192,44 @@ II.5 Client character encoding conversion Command: CHARCONV Parameters: Used by: registered clients - Replies: RPL_IP_CHARCONV_MSG, ERR_IP_CHARCONV_MSG + Replies: RPL_IP_CHARCONV, ERR_IP_CHARCONV + +A client can set its character set encoding using the CHARCONV command: +after receiving such a command, the server translates all message data +received from the client using the set 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 . + +The list of supported client character sets is implementation dependent. + +If a client sets its 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: + 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 and + 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", "M"), even if it doesn't support the given + itself: unknown names are ignored silently! + +The following 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 @@ -201,7 +244,7 @@ Numerics 800-849 are used for status and success messages, and numerics III.1 IRC+ status and success numerics -800 - RPL_IP_CHARCONV_MSG +801 - RPL_IP_CHARCONV %1 :Client encoding set" %1 client character set @@ -209,5 +252,5 @@ III.1 IRC+ status and success numerics III.2 IRC+ failure and error numerics -850 - ERR_IP_CHARCONV_MSG +851 - ERR_IP_CHARCONV :Can't initialize client encoding