
                       Message Command Language


There are some general rules for commands:

o   Commands and operands are, in general, not case sensitive;
    the operand of the "password" command is case sensitive.

o   Leading spaces are permitted before the command. Commands
    must be the first token on a line.

o   A '#' character as the first character on a line is treated
    as a comment. The line does not cause an error.

o   A line beginning with the string "--" is treated as end of
    input. The remainder of the message is ignored.



The HELP command causes WFS to send the file identified via the
"wfs.help" statement in Waffle's static file. The file is
included in the session transcript.

Anything after the HELP on the line is ignored.


The DIR command causes WFS to send the file identified via the
"wfs.filelist" statement in Waffle's static file. The request for
the directory is queued for later transmission.

Anything after the DIR on the line is ignored.


The NEWFILES command causes WFS to send a list of files newer
that the user specified date. The request for NEWFILES is queued
like a the DIR request.

The systax for the NEWFILES command is:

     NEWFILES <date>

<date> is required. <date> has the form of mm-dd-yy. WFS is
strict about checking the form of <date>; if it does not look
like it expects, the command will be rejected.

A valid specification for the NEWFILES command is:

     NEWFILES 02-15-92



The GET command causes WFS to send a file to the requestor.

The syntax for the GET command is:

     GET <filespec> [uue[ncode] | xxe[ncode]]

<filespec> is required. <filespec> must specify a path, but
without a drive specification. The filespec is not relative to
any directory. Unlike interactive waffle, where the user is
placed in the directory defined by Waffle's "files" static file
statement, WFS has no default starting directory.

uuencode or xxencode is optional and may be abreviated as "uue"
or "xxe", respectively. If neither are specified, the file is
sent according to the rules for sending files set by the system
administrator. That is: the system administrator may define a
list of file extensions that will always be uuencoded for
transmission; also the system administrator may define a file
size limit such that any file larger than this limit will be
uuencoded for transmission.

If uuencode is specified, the file is sent uuencoded.

If xxencode is specified, the file is sent xxencoded.

For example:

     GET /public/wfs110.zip
     GET /public/waffle/waf165.zip

are syntactically correct.

     GET c:/autoexec.bat
     GET e:/wfs/src/wfsreqst.c

are not syntactically correct; both incorrect examples have a
drive specifier.

     GET autoexec.bat
     GET src/wfsreqst.c

are not correct. Both do not specify the leading slash.



The PING command causes WFS make a simple reply, via the session
transcript, to the requestor. To test the path to a WFS at a
site, send the PING command.


The word "quit" as the first token on a line causes WFS to quit
processing input as if end of input had occurred.



The SysOp defined commands require the user to specify a password
in the incomming message before invoking the SysOp defined
command. The syntax for the PASSWORD command is:

     password <string>

Where string is the password for the SysOp defined command that
will appear in the input stream. The operand of the PASSWORD
command is case sensitive.



The JOIN command causes WFS to add the originator of the email to
a mailing list.

The syntax for the JOIN command is:

     join <listname>

Where <listname> is the name of the mailing list. For example, if
a subscriber wants to mail to all subscribers, then addresses
mail as:

     test-list@FroBaz.com

Then to subscribe to the mailing list, he would say:

     join test-list

The syntax of the other mail list commands is similar.


The UNJOIN command causes WFS to remove the originator of the
email from a mailing list.

The syntax for the UNJOIN command is:

     unjoin <listname>


The ARCHIVE command causes WFS to send all archived messages for
the named mailing list to the requestor. The request is queued
for subsequent processing.

The syntax for the ARCHIVE command is:

     archive <listname>


The MEMBERS command causes WFS to send a list of all members
(subscribers) to the originator of this message.

     members <listname>

