Author: dylan
Date: 2004-09-22 21:18:08 -0400 (Wed, 22 Sep 2004)
New Revision: 362

Added:
   trunk/docs/manual/chap/events/connection.texi
Removed:
   trunk/docs/manual/chap/events/basic.texi
Modified:
   trunk/docs/manual/chap/events.texi
Log:
Basic Events is now Connection Events.


Deleted: trunk/docs/manual/chap/events/basic.texi
===================================================================
--- trunk/docs/manual/chap/events/basic.texi    2004-09-23 01:16:01 UTC (rev 
361)
+++ trunk/docs/manual/chap/events/basic.texi    2004-09-23 01:18:08 UTC (rev 
362)
@@ -1,206 +0,0 @@
[EMAIL PROTECTED] Connection Events
[EMAIL PROTECTED] Connection Events
-
-This section describes how a client connects
-to the server and authenticates itself. It also
-describes how to disconnect, and ways for both the server
-and client of making sure the connection is alive.
-
[EMAIL PROTECTED] {Client Event} HAVER client
-
-This event @strong{must} be the first event sent by the client. If a different
-event is received, servers @strong{may} immediately terminate the connection.
-
-The parameter @var{client} is the name and version
-number of the client software, comparable to the ``User-Agent:''
-in HTTP. The format should be ``Program Name/#.#.#'', where ``#''
-is a number from 0 to 9. This format shall not be strictly enforced,
-but clients are encouraged to not deviate from it.
-
-The server will respond to this event
-by sending @command{HAVER} and @command{WANT IDENT}.
-
[EMAIL PROTECTED] deffn
-
[EMAIL PROTECTED] #################################
-
[EMAIL PROTECTED] {Server Event} HAVER server
-This event is sent after the client sends @command{HAVER}.
-The parameter @var{server} is name and version number of the server,
-for example ``Haver::Server::POE/0.07''.
-
-The client can just ignore this.
[EMAIL PROTECTED] deffn
-
[EMAIL PROTECTED] #################################
-
[EMAIL PROTECTED] {Server Event} WANT cmd [EMAIL PROTECTED]
-
-When the server sends this event, the client
[EMAIL PROTECTED] either send the event @command{cmd}
-or [EMAIL PROTECTED] @var{cmd}''. To send any other event will
-cause the server to promptly disconnect the client.
-
-The parameters of @command{WANT} events
-can vary depending on the value of @var{cmd},
-as explain in the following table.
-
-
[EMAIL PROTECTED] @command
[EMAIL PROTECTED] IDENT
[EMAIL PROTECTED] will be empty.
[EMAIL PROTECTED] AUTH
[EMAIL PROTECTED] will be a list of acceptable authorization methods.
[EMAIL PROTECTED] AUTH:PASS
[EMAIL PROTECTED] will contain one item: the hashing method
-the client must use in its @command{AUTH:PASS} event.
-
-Typically it will be SHA-1
-or a function related to the SHA family of hash functions,
-such as SHA-256. However other hash functions are possible.
-
-The canonical hash function is``sha1''.
-
[EMAIL PROTECTED] table
-
[EMAIL PROTECTED] deffn
-
-
[EMAIL PROTECTED] #################################
-
[EMAIL PROTECTED] {Client Event} IDENT id [mode]
-This event @strong{must} only be sent when the server requests it with 
@command{WANT}.
-
[EMAIL PROTECTED] is the id the client wishes to go by.
-It must be in the format specified in @xref{Identifier Format}.
-
[EMAIL PROTECTED] is the mode (or namespace) the client will operate
-in. It is optional and defaults to ``user''. It must be
-in the format specified in @xref{Namespace Format}.
-
-If there are no errors,
-the server will send @command{ACCEPT} if @var{id} requires
-no authoriztion. If authorization is required, the server
-will issue @command{WANT AUTH}.
-
-Should an error occure, the server will issue @command{WANT IDENT} again.
-
[EMAIL PROTECTED]:}
[EMAIL PROTECTED] @bullet
[EMAIL PROTECTED] unsupported.mode
[EMAIL PROTECTED] reserved.id
[EMAIL PROTECTED] used.id
[EMAIL PROTECTED] itemize
-
[EMAIL PROTECTED] deffn
-
[EMAIL PROTECTED] {Client Event} AUTH method
-This event must only be sent when the server requests
-it with @command{WANT}.
-
-Request to use the authorization method @var{method},
-where @var{method} is one from the @command{WANT AUTH} mentioned
-above.
-
-Typically, @var{method} will be ``PASS'', but other authorization
-methods may be supported in the future.
-
-The server will issue @command{WANT WANT:foo}
-where ``foo'' is @var{method}.
-
[EMAIL PROTECTED]:}
[EMAIL PROTECTED] @bullet
[EMAIL PROTECTED] unknown.authmethod
[EMAIL PROTECTED] itemize
[EMAIL PROTECTED] deffn
-
[EMAIL PROTECTED] {Client Event} AUTH:PASS passhash
-This event must only be sent when the server
-requests it with @command{WANT}.
-
-passhash is the client's password + server's canonical hostname + client's id,
-hashed with hash function specified in the server's @command{WANT} request,
-and encoded with base64.
-
-In pseudo code, assuming the hash function is sha1:
[EMAIL PROTECTED]
-id       = "fred"
-host     = "example.com"
-password = "password"
-
-passhash_raw = sha1(password + host + id)
-passhash     = base64_encode(passhash_raw)
-
-# the following is true:
-passhash == "n99EdTWT1x/urmLJm/AAlKkoQTQ"
[EMAIL PROTECTED] example
-
[EMAIL PROTECTED] deffn
-
[EMAIL PROTECTED] {Client Event} BYE [why]
-Disconnect from the server.
-The parameter @var{why} is the reason for the disconnect,
-such as ``lost terminal'', ``reboot'', etc.
-This is not meant to be set by a human being, but instead
-by the client software.
-
[EMAIL PROTECTED] deffn
-
[EMAIL PROTECTED] {Server Event} BYE type [EMAIL PROTECTED]
[EMAIL PROTECTED] {Server Event} QUIT uid type [EMAIL PROTECTED]
-
[EMAIL PROTECTED] is sent to the client right before the server disconnects it.
-
[EMAIL PROTECTED] is similar, however it is sent to all users that share a 
channel
-with the exciting user. It is only sent when a user exits, other types
-of clients donot cause this. This is equivelent of @var{uid} 
-parting every channel.
-
-Depending on the value of @var{tyoe}, @var{args} will be different things.
-The following table lists the different types of client disconnections.
-
[EMAIL PROTECTED] @i
[EMAIL PROTECTED] ACTIVE
-This is sent when the client has issued the server @command{BYE} event.
-
-The @var{args} may contain a single item, which
-is describes the reason for the disconnection. For example,
-``lost terminal'', ``reboot'', ``crash'', etc.
-
[EMAIL PROTECTED] DISCON
-The socket was closed. @var{args} might contain more information.
-
[EMAIL PROTECTED] TIMEOUT
-This means the client did not complete the login procedure
-fast enough. Typically, the login procedure must be completed in
-20 seconds from login, however this can be different depending on server.
-
[EMAIL PROTECTED] PING
-The client did not respond to a @command{PING}
-in time.
[EMAIL PROTECTED] table
-
[EMAIL PROTECTED] deffn
-
[EMAIL PROTECTED] {Server Event} PING data
[EMAIL PROTECTED] {Client Event} PONG data
-When the server issues the @command{PING} event, the client @strong{must} reply
-with @command{PONG}. The @var{data} parameter of @command{PONG}
-is whatever value the server sent with @command{PING}.
-
[EMAIL PROTECTED] deffn
-
[EMAIL PROTECTED] {Client Event} POKE [EMAIL PROTECTED]
[EMAIL PROTECTED] {Server Event} OUCH [EMAIL PROTECTED]
-
-When the client sends @command{POKE}, the server will reply with 
@command{OUCH}.
-
-There are some limits to this; in general you should not
-send this more than once a minute. Sending every five minutes is even better.
-The best method is to only send this if you haven't got an event from the 
server
-in some amount of time.
-
-In spite of this warning, servers probably won't penalize you unless you send
-this every few seconds or something.
-
[EMAIL PROTECTED] deffn

Copied: trunk/docs/manual/chap/events/connection.texi (from rev 361, 
trunk/docs/manual/chap/events/basic.texi)

Modified: trunk/docs/manual/chap/events.texi
===================================================================
--- trunk/docs/manual/chap/events.texi  2004-09-23 01:16:01 UTC (rev 361)
+++ trunk/docs/manual/chap/events.texi  2004-09-23 01:18:08 UTC (rev 362)
@@ -2,10 +2,10 @@
 @chapter Events
 
 @menu
-* Basic Events::
+* Connection Events::
 @end menu
 
[EMAIL PROTECTED] chap/events/basic.texi
[EMAIL PROTECTED] chap/events/connection.texi
 
 @ignore
        \begin{cmddef}{MSG}{\param{where} \param{type} \params{msg}}


Reply via email to