]> code.citadel.org Git - citadel.git/blobdiff - citadel/techdoc/session.txt
* citadel.h (and related files): removed defunct parameters,
[citadel.git] / citadel / techdoc / session.txt
index 9979b48295a7ccb8a7e17225ef443410cfdf0bdb..6c2d14f782cda3df5d3a1184bee0ce662e3ff0f0 100644 (file)
@@ -1,5 +1,5 @@
                   SESSION LAYER PROTOCOL FOR CITADEL/UX
-            (c) 1995-1998 by Art Cancro   All Rights Reserved
+         (c) 1995-1998 by Art Cancro et. al.    All Rights Reserved
    
   
  INTRODUCTION
@@ -424,7 +424,9 @@ other MSG commands (MSG1, MSG2, etc.) will probably be added later on to read
 messages in more robust formats.  This command should be passed two arguments.
 The first is the message number of the message being requested.  In server 
 version 4.04 and above, the second argument may be set to either 0 to read the
-entire message, or 1 to read the headers only.
+entire message, or 1 to read the headers only.  In server version 6.00 and
+above, the third argument may be set to the desired section of the message (if
+there are attachments).
  
  The server should, of course, make sure that the client actually has access
 to the message being requested before honoring this request.  Citadel/UX does
@@ -664,7 +666,7 @@ the error) without reading in a message.  Client software should, in fact,
 perform this operation at the beginning of an "enter message" command
 *before* starting up its editor, so the user does not end up typing a message
 in vain that will not be permitted to be saved.  If it is set to 2, the
-server will accept an "apparant" post name if the user is privileged enough. 
+server will accept an "apparent" post name if the user is privileged enough. 
 This post name is arg 4.
   1  -  Recipient.  This argument is utilized only for private mail messages.
 It is ignored for public messages.  It contains, of course, the name of the
@@ -676,6 +678,8 @@ message as anonymous, otherwise 0 for a normal message.
 typically be 0; see the MSG0 command above).
   4  -  Post name.  When postflag is 2, this is the name you are posting as.
 This is an Aide only command.
+  5  -  Boundary string to be used when there are MIME attachments following
+the normal message text.
 
  Possible result codes:
   OK  -  The request is valid.  (Client did not set the "post" flag, so the
@@ -1014,7 +1018,7 @@ from, or "localhost" if the client is local.
      this client (Note: NOOP's don't count)
  6 - The last command received from a client. (NOOP's don't count)
  7 - Session flags.  These are: + (spoofed address), - (STEALTH mode), *
-     (posting) and . (idle).
+     (posting) and . (idle).  (Citserver 5.02 and above)
  
  The listing is terminated, as always, with the string "000" on a line by
 itself.
@@ -1530,55 +1534,145 @@ UCLS command.
 The following are for citserver 5.02 and above
 ----------------------------------------------
 
-HCHG   (Hostname CHanGe)
+ HCHG  (Hostname CHanGe)
 
-HCHG is a command, usable by any user, that allows a user to change their RWHO
+ HCHG is a command, usable by any user, that allows a user to change their RWHO
 host value.  This will mask a client's originating hostname from normal
 users; access level 6 and higher see an entry right underneath the spoofed
 entry listing the actual hostname the user originates from.
 
-The format of an HCHG command is:
+ The format of an HCHG command is:
 
-HCHG <name>
+ HCHG <name>
 
+ If a HCHG command is successful, the value OK (200) is returned.
 
-If a HCHG command is successful, the value OK (200) is returned.
 
-RCHG   (Roomname CHanGe)
+ RCHG  (Roomname CHanGe)
 
-RCHG is a command, usable by any user, that allows a user to change their RWHO
+ RCHG is a command, usable by any user, that allows a user to change their RWHO
 room value.  This will mask a client's roomname from normal users; access
 level 6 and higher see an entry right underneath the spoofed entry listing
 the actual room the user is in.
 
-The format of an RCHG command is:
+ The format of an RCHG command is:
 
-RCHG <name>
+ RCHG <name>
 
-If a RCHG command is successful, the value OK (200) is returned.
+ If a RCHG command is successful, the value OK (200) is returned.
 
-UCHG   (Username CHanGe)
 
-UCHG is an aide-level command which allows an aide to effectively change their
+ UCHG  (Username CHanGe)
+
+ UCHG is an aide-level command which allows an aide to effectively change their
 username.  If this value is blank, the user goes into stealth mode (see
 STEL).  Posts
 will show up as being from the real username in this mode, however.  In
 addition, the RWHO listing will include both the spoofed and real usernames.
 
-The format of an UCHG command is:
+ The format of an UCHG command is:
+ UCHG <name>
 
-UCHG <name>
+ If a UCHG command is successful, the value OK (200) is returned.
 
-If a UCHG command is successful, the value OK (200) is returned.
 
-TIME   (Get server local TIME)
+ TIME  (get server local TIME)
 
-TIME returns a string in the following format:
+ TIME returns OK followed by the current time measured in seconds since
+00:00:00 GMT, Jan 1, 1970.
 
- A|B
+ This is used in allowing a client to calculate idle times.
+
+
+----------------------------------------------
+The following are for citserver 5.11 and above
+----------------------------------------------
+
+ AGUP   (Administrative Get User Parameters)
+ ASUP   (Administrative Set User Parameters)
+  
+ These commands are only executable by Aides and by server extensions running
+at system-level.  They are used to get/set any and all parameters relating to
+a user account.  AGUP requires only one argument: the name of the user in
+question.  SGUP requires all of the parameters to be set.  The parameters are
+as follows, and are common to both commands:
+ 0 - User name
+ 1 - Password
+ 2 - Flags (see citadel.h)
+ 3 - Times called
+ 4 - Messages posted
+ 5 - Access level
+ 6 - User number
+ 7 - Timestamp of last call
+
+ Upon success, AGUP returns OK followed by all these parameters, and ASUP
+simply returns OK.  If the client has insufficient access to perform the
+requested operation, ERROR+HIGHER_ACCESS_REQUIRED is returned.  If the
+requested user does not exist, ERROR+NO_SUCH_USER is returned.
+ GPEX   (Get Policy for message EXpiration)
+ Returns the policy of the current room, floor, or site regarding the automatic
+purging (expiration) of messages.  The following policies are available:
+   0  -  Fall back to the policy of the next higher level.  If this is a room,
+         use the floor's default policy.  If this is a floor, use the system
+         default policy.  This is an invalid value for the system policy.
+   1  -  Do not purge messages automatically.
+   2  -  Purge by message count.  (Requires a value: number of messages)
+   3  -  Purge by message age.  (Requires a value: number of days)
+ The format of this command is:  GPEX <which>
+ The value of <which> must be one of: "room" "floor" "site"
+ If successful, GPEX returns OK followed by <policy>|<value>.
 
-Where A is OK (200), B is the current time measured in seconds since
-00:00:00 GMT, Jan 1, 1970.
 
-This is used in allowing a client to calculate idle times.
 
+ SPEX   (Set Polict for message EXpiration)
+ Sets the policy of the current room, floor, or site regarding the automatic
+purging (expiration) of messages.  See the writeup for the GPEX command for
+the list of available policies.
+ The format of this command is:  SPEX <which>|<policy>|<value>
+ The value of <which> must be one of: "room" "floor" "site"
+ If successful, GPEX returns OK; otherwise, an ERROR code is returned.
+ CONF   (get or set global CONFiguration options)
+ Retrieves or sets various system-wide configuration and policy options.  This
+command is only available to Aides.  The sole parameter accepted is a command,
+which should be either GET or SET.  If the GET command succeeds, CONF will
+return LISTING_FOLLOWS followed by the fields described below, one line at a
+time.  If the SET command succeeds, CONF will return SEND_LISTING and expect
+the fields described below, one line at a time (don't worry about other fields
+being added in the future; if a 'short' configuration list is sent, the missing
+values at the end will be left unchanged on the system).  If either command
+fails for any reason, ERROR is returned.
+ The configuration lines are as follows:
+ 1. Node name
+ 2. Fully qualified domain name
+ 3. Human-readable node name
+ 4. Landline telephone number of this system
+ 5. Flag (0 or 1) - creator of private room automatically becomes room aide
+ 6. Server connection idle timeout (in seconds)
+ 7. Initial access level for new users
+ 8. Flag (0 or 1) - require registration for new users
+ 9. Flag (0 or 1) - automatically move Problem User messages to twit room
+ 10. Name of twit room
+ 11. Text of <more> prompt
+ 12. Flag (0 or 1) - restrict access to Internet mail
+ 13. Geographic location of this system
+ 14. Name of the system administrator
+ 15. Number of maximum concurrent sessions allowed on the server
+ 16. Password for server-to-server networking
+ 17. Default purge time (in days) for users