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 is required. has the form of mm-dd-yy. WFS is strict about checking the form of ; 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 [uue[ncode] | xxe[ncode]] is required. 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 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 Where 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 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 The MEMBERS command causes WFS to send a list of all members (subscribers) to the originator of this message. members