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. 2.1 The HELP Command 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 SysOp may selectively enable and optionally assign multiple aliases for the HELP command using the wfs.enable.help static file statement. 2.2 The DIR Command 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 SysOp may assign multiple names for the DIR command using the wfs.enable.dir static file statement. 2.3 The NEWFILES Command 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 SysOp may selectively enable and optionally assign multiple aliases for the NEWFILES command using the wfs.enable.newfiles static file statement. 2.4 The GET Command 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 SysOp may selectively enable and optionally assign multiple aliases for the GET command using the wfs.enable.get static file statement. 2.5 The PING Command 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 SysOp may selectively enable and optionally assign multiple aliases for the PING command using the wfs.enable.ping static file statement. 2.6 The QUIT 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 may selectively enable and optionally assign multiple aliases for the QUIT command using the wfs.enable.quit static file statement. 2.7 The PASSWORD Command 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 SysOp may selectively enable and optionally assign multiple aliases for the PASSWORD command using the wfs.enable.password static file statement. 2.8 SysOp Defined Commands The SysOp may define commands unique to this site. SysOp, please see "Command Execution Facility" on page 34 for a description of this feature. 2.9 About Mailing Lists When configured to operate as a mailing list processor, WFS accepts mail list commands at the same "address" it accepts archive server commands. Messages that are to be propogated to the members of a mailing list must use a separate address. For example: if you have configured WFS to accept commands at "file-request@FroBaz.com", then all of the mail list commands are processed when those commands are directed to that address. If you have defined a mail list as "test-list" then to forward a message to all subscribers to a list, mail must be addressed to "test-list@FroBaz.com". 2.10 The JOIN Command 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 SysOp may selectively enable and optionally assign multiple aliases for the JOIN command using the wfs.enable.subscribe static file statement. 2.11 The UNJOIN Command 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 SysOp may selectively enable and optionally assign multiple aliases for the UNJOIN command using the wfs.enable.unsubscribe static file statement. 2.12 The ARCHIVE Command 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 SysOp may selectively enable and optionally assign multiple aliases for the ARCHIVE command using the wfs.enable.archive static file statement. 2.13 The MEMBERS Command The MEMBERS command causes WFS to send a list of all members (subscribers) to the originator of this message. members The SysOp may selectively enable and optionally assign multiple aliases for the MEMBERS command using the wfs.enable.members static file statement.