mdss - Mail Delivery SubSystem


mdss [ options ] [ site ]


Mdss interacts with a remote mail system to transfer mail files. It uses a binary protocol with error checking to exchange batches of files in both directions. Mdss is simply an agent for exchanging mail using a number of file transfer protocols.

When a remote site is called, mdss is invoked by poll passing along the polled site’s name.

When a remote site originates the connection by logging in, mdss is invoked (from the interpreter field in the password file) without a site argument. The calling system must then identify itself. Its response must match an entry in the mdss idfile ($/etc/idfile). Idfile entries consist of a site name and password code, separated by a semi-colon (e.g., “pro-site;password”).

Comments can be placed in the idfile following a pound-sign (#).

Mdss recognizes these options:

-d n

Delay for n seconds after receiving the command prompt from the slave. This is for MDSS implementations that cannot handle immediate responses from the master after it receives the “enquire” prompt and sends a response. Typically, such implementations would be those written for slower systems, MDSS interfaces built from shell scripts, etc.

-p or -u

Invokes standard XMODEM protocol with text filtering for use with P-Net hosts or older implementations that do not exchange total byte and job count information at the beginning of transfers.


When everything is done, and only if files were received, invoke sendmail(C) before exiting.

-x flags

Transfer options. Specifies flag characters to be used by the file transfer protocol module invoked by mdss. One or more of the following characters can be given as the flags argument for XMODEM mode (default) transfers:


128 byte blocks with CRC


Doubles interpacket timeout delay tolerances.


1K blocks with CRC


4K blocks with CRC


Standard XMODEM, defeating ProDOS information packet handshaking. The ProDOS extension involves sending special packets of file information required by ProDOS systems that don’t employ the Binary II file wrapping scheme.


Apple Binary II wrapping and unwrapping. The X flag should be included whenever Binary II mode is enabled to avoid sending two types of information packets.


Text filtering. Enables newline conversion and text filtering.


Invokes YMODEM batch mode of XMODEM (you may still need to use the -x option to specify additional modes, such as Binary II, etc.). There is no advantage to using YMODEM instead of XMODEM, but the ability is included as a matter of completeness.


Invokes ZMODEM batch mode.

Typical Options

Typical invocations for ProLine systems use the following options:


Omitting the -x, -y, and -z flags assumes standard 128-byte checksum XMODEM protocol with the ProDOS information packet handshaking (for backward compatibility with the original MDSS standard).

-x BLX

Enables Binary II, Large packets, and standard XMODEM modes. This is the preferred mode for use between two Apple II-based ProLine systems.


Enables ZMODEM mode.

-x TLX

Enables text file filtering and 4K XMODEM modes, most useful when connecting with Unix systems that employ the UMDSS gateway software from the Morgan Davis Group.

An MDSS Session

After logging in successfully, the calling system assumes the roll of master, and commands the answering system to receive mail, if any exists. When there is no mail left to send, the master commands the answering site to send mail. At this point the master and slave reverse rolls.

During mail exchange, both sites scan the files received (or sent) to gather information for making log file entry. Two sample log file entries might include:

3/4-07:05:42 R 8968 pro-sat!wen 3/4-07:06:13 S 1421 pnet01!bblue

The entry begins with the date and time (dd/mm-hh:mm:ss). The letter S indicates mail sent, while R indicates mail received. Following, is the number of bytes delivered, and the addressee’s name. Mail received is placed into a spool directory for local delivery by sendmail(C).

A work summary is displayed during the session showing jobs counts, byte counts, the effective characters-per-second rating, and an efficiency percentage. The efficiency rating is determined by comparing the number of characters sent per second against the connection speed. For example, 960 cps on a 9600 baud connection is 100% efficient. On modems with data compression, it is not uncommon to see better than 100% efficiency.

Once all mail has been exchanged, the master gives the hangup command, and both sides disconnect. If any mail was received, and the -s option is included in the invocation, mdss runs sendmail before exiting.


Active systems should keep an eye on the fast-growing mdss log file. It should be pruned occasionally, or archived offline, in order to save disk space.


mdss password file,
mdss log file,
remote site directories,
received mail spool area.

See Also

intro(NET), poll(NET), scan(NET), sendmail(C)