Author: dylan
Date: 2005-06-26 00:34:51 -0400 (Sun, 26 Jun 2005)
New Revision: 828
Modified:
trunk/
trunk/docs/spec/Haver/Spec.pod
trunk/docs/spec/Haver/Spec/Auth.pod
Log:
[EMAIL PROTECTED]: dylan | 2005-06-26 00:34:47 -0400
Added AUTH:REGISTER to the auth spec, and INFO to the core.
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/havercurs-objc:43089
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk:11166
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk-merge-10131:11178
27e50396-46e3-0310-8b22-ae223a1f35ce:/local:212
e9404bb1-7af0-0310-a7ff-e22194cd388b:/haver/local:1201
edfcd8bd-4ce7-0310-a97e-bb1efd40edf3:/local:238
+ 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/havercurs-objc:43089
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk:11166
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk-merge-10131:11178
27e50396-46e3-0310-8b22-ae223a1f35ce:/local:212
e9404bb1-7af0-0310-a7ff-e22194cd388b:/haver/local:1203
edfcd8bd-4ce7-0310-a97e-bb1efd40edf3:/local:238
Modified: trunk/docs/spec/Haver/Spec/Auth.pod
===================================================================
--- trunk/docs/spec/Haver/Spec/Auth.pod 2005-06-26 02:41:48 UTC (rev 827)
+++ trunk/docs/spec/Haver/Spec/Auth.pod 2005-06-26 04:34:51 UTC (rev 828)
@@ -8,6 +8,11 @@
=head1 BEGIN YOUR FEAR
+The auth extension consists of two parts; a login authentication system
+and a way of registering user or services accounts.
+
+=head2 Login stuff
+
The client must advertize it understands the auth extension. It does this by
mentioning
'auth' in the second arg of C:HAVER, like so:
@@ -47,6 +52,25 @@
}
}
+
+=head2 Staking your claim
+
+To register a given name, first login with it.
+After you've logged in, you need but send the message:
+
+ C: AUTH:REGISTER $email $passcode
+
+The $email address is a email address that the server admin can use to contact
you for
+whatever reason, and $passcode is as defined in L</PASSCODES>.
+
+If everything is okay, the server will send:
+
+ S: AUTH:REGISTER $name $email
+
+Where $name is your username, and $email the email address you asked for.
+
+Things that can go wrong are: L</invalid.email>, and L</registered.user>.
+
=head1 YOU FAIL
This extension introduces a few new errors.
@@ -63,6 +87,15 @@
Raised when the hashing (digest) algorithm requested by the client is unknown
to the server.
+=head2 invalid.email
+
+Raised when the email address given in C: AUTH:REGISTER is not a valid email
address,
+according to the related RFCs.
+
+=head2 registered.user
+
+Raised when AUTH:REGISTER is called for by a user that is already registered.
+
=head1 PASSCODES
First, the problem: The server admin can't be trusted knowing the user's
password.
Modified: trunk/docs/spec/Haver/Spec.pod
===================================================================
--- trunk/docs/spec/Haver/Spec.pod 2005-06-26 02:41:48 UTC (rev 827)
+++ trunk/docs/spec/Haver/Spec.pod 2005-06-26 04:34:51 UTC (rev 828)
@@ -53,6 +53,74 @@
Clients must use any word (C</^\w+$/>) for $type,
but it is typically "do" or "say".
+
+=head2 INFO
+
+ C: INFO $namespace $name
+ S: INFO $namespace $name $key1 $value1 $key2 $value2 ...
+
+Sending this message results in the server sending back a message (S:INFO)
with a list of
+key/value pairs. The keys vary depending on what is queried. Different server
+implementations may add extra keys too. Good user agents will allow the user
to see any
+and all keys assigned to entity, even ones that did not exist when the user
agent was
+programmed.
+
+=head3 Keys for Users and Services
+
+=over
+
+=item address
+
+A (probably masked) IP address. E.g. 1.2.3.*
+
+=item version
+
+The name and version number of the user-agent and service program, as sent by
C:HAVER.
+
+=item idle
+
+The number of seconds the client has been idle. For users, idle is defined as
the length
+of time between sending TO or IN messages.
+
+=back
+
+=head3 Keys for Channels
+
+=over
+
+=item creator
+
+The name of the user that created the channel.
+
+=item created
+
+The date and time the channel was created.
+
+=item topic
+
+The topic of the channel. Some witty bit of text that has nothing to do with
what is
+actually being discussed.
+
+=back
+
+=head3 Keys for the Lobby
+
+=over
+
+=item booted
+
+The date and time the server was booted.
+
+=item hostname
+
+The hostname of the server.
+
+=item version
+
+The version name of the server, the same as from S:HAVER.
+
+=back
+
=head2 POKE/OUCH
POKE is used to see if the server is alive. The server will respond with OUCH.