From: utzoo!decvax!harpo!zeppo!wheps!eagle!mhuxt!cbosg!cbosgd!mark
Newsgroups: net.followup
Title: Re: CSNet opinions?
Article-I.D.: cbosgd.2427
Posted: Thu Jul  1 11:06:12 1982
Received: Fri Jul  2 02:03:31 1982
References: unc.3638

Steve's description of MMDF is interesting.  I'm not all that familiar
with it, but I've seen people tear out their hair trying to make it do
things that delivermail does trivially.

There are really three separate issues here.  (1) CSNET as a network,
(2) Phonenet as a file transfer protocol (as opposed to uucp), and
(3) MMDF as a mail delivery system (as opposed to delivermail, or
sendmail, or even /bin/mail.)  You'll notice that CSNET isn't "as opposed
to" anything, and I think they are doing a wonderful job there.

UUCP leaves a LOT to be desired as a way to get files from one place
to another.  I'm not all that familiar with Phonenet, but it just about
HAS to be better.  My gripes about uucp include (1) no routing, (2)
no robustness (files go into black holes), (3) security is done all
wrong (you are as restricted for sending files as for retrieving them,
and the program run on the other end runs as uucp, not you, and files
show up owned by uucp instead of you), (4) it absolutely HAS
to have an 8 bit communication path, and has to run in raw mode (thus
clobbering response on your system), (5) horrible user interface (for
example, there is no way in the world to run an "ls" or "who" on a
remote machine).  Steve says Phonenet does (2) well (hopefully for
file transfer as well as mail) - I wonder how it does for the other areas?

Now, MMDF vs sendmail is a different story.  In my opinion, sendmail is
1000% better than MMDF, in fact, delivermail is somewhat better than
MMDF, and sendmail is a quantum leap beyond delivermail.  The major thing
MMDF mail lacks is flexibility.  Aliases are nearly impossible to create:
if you want to be able to mail to "net.general" and have that fed into
the newsgroup, you have to create an entry "net.general" in /etc/passwd
(and hope the length and dot don't bother anything), make it a home
directory, create a C program which runs
	system("recnews net.general");
and install that in some special file under net.general's home directory.
In comparison, in delivermail you can just put
	net.general: "|recnews net.general"
in /usr/lib/aliases and run newaliases - you don't even have to be a
super user to do this, if you allow /usr/lib/aliases general write
permission.  In sendmail, you don't even have to run newaliases, as this
is automatically done the next time mail goes through.

The other problem with MMDF is one delivermail shares - there are 2 or 3
"channels" (delivermail has 6, I think) that are hard coded into the
program.  sendmail, on the other hand, runs completely off a configuration
table.  This means that you can run the SAME BINARY of sendmail on just
about every 4.1BSD system in the world, no matter what networks it is on!
Adding a channel is done by adding a line to /usr/lib/sendmail.cf.  This
file allows you to configure what nets are involved, what syntax is used
for each net, what priority to parse networks at (e.g. how to resolve
the ambiguous a!b@c), what to do to the headers as mail is passed through,
whether to send one copy of a message across a link to be remotely mailed
to several people from there, where all the appropriate gateways are,
and so on.  The name of the host can be used to make host sensitive
decisions.  There is an option to look up hosts for certain networks
in the aliases file, so that routing can be done.  I only had to add one
line to the configuration file to support the user.host@network syntax,
and when they changed that to user@host.network, I had to add one more
line - now it understands both!

The only real problems with sendmail are that the syntax of the
configuration file is a bit cryptic if you don't deal with it every
day, and if you have some kind of network with conventions and rules
that the author did not anticipate, it will be necessary to go in and
modify the code.  While it's very well written and even excessively
commented, sendmail is getting big enough to make it hard to find
the part of the code to change.  Also, it could use some additional
log file capabilities (it has a logger, but it wants to write on a
special /dev/log with something listening on the other end, and it
doesn't log in much detail.)

sendmail will be on 4.2BSD and is not available before then.  (I'm a
test site and am not supposed to give it to anyone else, so don't ask.)
What I think I'd like to see is phonenet talking to sendmail.  Sendmail
will have no trouble with this, but phonenet might have MMDF assumptions
in it (since many people refer to that software also as MMDF), and there
is presumably some communication between the two for returning undeliverable
mail.  (As anyone who posts to unix-wizards knows, MMDF loves to return
lots of verbose, annoying messages when somebody on the list's host
goes down.  sendmail does not address this issue either.)

	Mark