]> code.citadel.org Git - citadel.git/blobdiff - citadel/techdoc/protocol.txt
* Cc: and Bcc: support. Not finished yet.
[citadel.git] / citadel / techdoc / protocol.txt
index 18affe1e6eb080510ecf8c2e207aedaee9e85f89..9b6c11bcb0a032037944952244dcc3ea6b0c1b6c 100644 (file)
@@ -42,6 +42,17 @@ our application layer assumes a clean, reliable, sequenced connection, the use
 of UDP would render the server unstable and unusable, so we stick with TCP.
 
 
+ CHARACTER SETS
+ --------------
+ The native character set for the Citadel system is UTF-8.  Unless otherwise
+specified, all data elements are expected to be in the UTF-8 character set.
+Specifically, all non-MIME messages should be assumed to be in UTF-8.  MIME
+messages may be in whatever character set is specified by the MIME header, of
+course; however, some clients (such as WebCit) will automatically convert
+messages from other character sets before displaying them.
  GENERAL INFORMATION ABOUT THE SERVER
  ------------------------------------
 
@@ -789,9 +800,9 @@ perform this operation at the beginning of an "enter message" command
 in vain that will not be permitted to be saved.  If it is set to 2, the
 server will accept an "apparent" post name if the user is privileged enough.
 This post name is arg 5.
-  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
-recipient of the message.
+  1  -  Recipient (To: field).  This argument is utilized only for private
+mail.  It is ignored for public messages.  It contains, of course, the name
+of the recipient(s) of the message.
   2  -  Anonymous flag.  This argument is ignored unless the room allows
 anonymous messages.  In such rooms, this flag may be set to 1 to flag a
 message as anonymous, otherwise 0 for a normal message.
@@ -805,6 +816,12 @@ This is an Aide only command.
 you set this to nonzero, ENT0 will reply with a confirmation message after
 you submit the message text.  The reply code for the ENT0 command will be
 START_CHAT_MODE instead of SEND_LISTING.
+  7  -  Recipient (Cc: field).  This argument is utilized only for private
+mail.  It is ignored for public messages.  It contains, of course, the name
+of the recipient(s) of the message.
+  8  -  Recipient (Bcc: field).  This argument is utilized only for private
+mail.  It is ignored for public messages.  It contains, of course, the name
+of the recipient(s) of the message.
 
  Possible result codes:
   OK  -  The request is valid.  (Client did not set the "post" flag, so the
@@ -2172,14 +2189,36 @@ asynchronous messages as they arrive, before doing anything else.
 
 
 
SRCH   (SeaRCH the message base)
AUTO   (AUTOcompletion of email addresses)
  
- This command's implementation is incomplete and will be documented when it
-is finished.
-
+ The AUTO command is used by clients which want to request a list of email
+recipients whose names or email addresses match a partial string supplied by
+the client.  This string is the only parameter passed to this command.  The
+command will return ERROR if no user is logged in or if no address book could
+be found; otherwise, it returns LISTING_FOLLOWS followed by zero or more
+candidate recipients.
 
 
 
+ SRCH   (SeaRCH the message base)
+ This command's implementation is incomplete and will be documented when it
+is finished.  The current implementation accepts a search string as its sole
+argument, and will respond with LISTING_FOLLOWS followed by a list of
+messages (globally, not just in the current room) which contain ALL of the
+words in the search string.  If the client desires an "exact phrase" match,
+it must then slow-search the text of each returned message for the exact
+string.  The client should also compare the returned message numbers against
+those which actually exist in the room or rooms being searched.  In
+particular, clients should avoid telling the user about messages which exist
+only in rooms to which the user does not have access.
+ Again, keep in mind that this is a temporary implementation and is not
+guaranteed to continue to exist in this form.
  ASYNCHRONOUS MESSAGES
  ---------------------