<I>(As of ircu 2.10.11)</I>
<H2>
Undernet Coder-com, <TT>coder-com@undernet.org</TT></H2>
-$Id: p10.html,v 1.4 2000-04-11 05:51:25 gte Exp $
+$Id: p10.html,v 1.6 2002-02-14 00:20:40 ghostwolf Exp $
<P>
<HR ALIGN=CENTER WIDTH=100% SIZE=2><I>This document aims to be a practical
guide for implementing and maintaining the protocol, not just a reference
<TD><FONT SIZE=-1>CM</FONT></TD>
</TR>
+
+<TR>
+<TD><FONT SIZE=-1>ACCOUNT</FONT></TD>
+
+<TD><FONT SIZE=-1>AC</FONT></TD>
+</TR>
</TABLE></CENTER>
<FONT FACE="Arial,Helvetica"><FONT SIZE=-1><B>[</B><A HREF="#top">Back</A><B>]</B></FONT></FONT>
<BR>
The first 2 characters identify the server's numeric, whilst in this situation,
the final 3 characters define the maximum number of clients that this server
can hold (and more importantly, the maximum number of numerics it will
-generate).</LI>
+generate). This is always one less than a power of two, because the server
+uses this as a bitmask. A server can give out a higher numeric than this,
+however it will be "anded" with this number to find it's entry slot. The
+reason for this is so a server which is near the maximum number of clients
+can give out more numerics than it's using to prevent a new client getting a
+numeric that was used only seconds ago and maybe get messages destined to
+the old user.</LI>
<LI>
The example "AA]]]" shows that this is a server with numeric 0, which
<LI>
This final parameter simply consists of a textual description of the server
prefixed by a colon. This is displayed in a clients WHOIS line, aswell
-as in the LINKS reply.</LI>
+as in the LINKS reply. By convention, if this is a leaf server it contains
+the servers IP in square brackets at the beginning of the string,</LI>
</OL>
<A NAME="chap3.2"></A><B><FONT SIZE=+1>3.2 Network Database resyncronisation</FONT></B>
<P>After the connection has been established and verified, the next step
the message is numeric prefixed, to indicate which server sent this message
(and also therefore, which hub this new server is linked too). There is
also a fixed "0" present before the Description field, this is a placeholder
-for future use and currently unused.</FONT>
+for future use and currently unused. [Isomer: Question, what IS this
+reserved for?] </FONT>
<P><B>3.2.2 - NICK Messages</B></BLOCKQUOTE>
<BLOCKQUOTE>Client information is transmitted via "NICK" messages, of the
<LI>
[<B>Optional</B>]: User modes. If present, this is always +<user modes
-for this client>.</LI>
+for this client>. Note that the special +r usermode is followed by the
+client's account name; see the documentation for ACCOUNT.</LI>
<LI>
The real IP address of this client, a Base64 encoded 32bit int.</LI>
<P><B>4.1.4 - PART</B>
<P><B>4.1.5 - KICK</B>
<P><B>4.1.6 - TOPIC</B>
-<P><B>4.1.4 - CLEARMODE</B>
+<P><B>4.1.7 - CLEARMODE</B>
<BR>
<OL><TT>AZAAA CM #coder-com ovpsmikbl</TT></OL>
</OL>
<BLOCKQUOTE><TT>AZAAA N Nick2 955423230</TT></BLOCKQUOTE>
<B>4.2.2 - MODE</B>
<BLOCKQUOTE><TT>AZAAA M Nick2 :+odi</TT></BLOCKQUOTE>
+<B>4.2.3 - ACCOUNT</B>
+<BLOCKQUOTE><TT>AX AC AZAAA oper</TT></BLOCKQUOTE>
+<P>The ACCOUNT message provides a way for servers, such as the channel service
+server, to set the account name information that is associated with a client.
+Once set, it cannot be unset or changed, and will be propagated in NICK during
+net bursts using the special user mode +r followed by the account name.
</BLOCKQUOTE>
<A NAME="chap4.3"></A><B><FONT SIZE=+1>4.3 Channel/Client Messaging.</FONT></B>
<BLOCKQUOTE><B>4.3.1 - PRIVMSG</B>
<BR>[2000-04-10]: Added information about OPMODE and CLEARMODE tokens.
-Kev
<BR>[2000-04-11]: Started work on chapter 4. -Gte
+<BR>[2000-06-01]: Changed some info about the max number of clients -Isomer
+<BR>[2002-01-11]: Wrote a specification for ACCOUNT and noted that a usermode
+in a NICK message may have an argument. -Kev
<P><A NAME="chap8.1"></A><B><FONT SIZE=+1>8.1 TODO</FONT></B>
<UL>
<LI>