lan_csse@netrix.nac.dec.com (05/08/91)
Well, I don't know if this is a bug or a feature, but it did just waste an hour or so of several people's time, and it'd be nice to know if there is a feasible solution or if we just mark it up as Yet Another Bizarreness. The systems involved are assorted DEC Ultrixes, releases 3.1 thru 4.1, on VAX and MIPS hardware. The sendmail.cf files are pretty close to what is on DEC's distribution tapes. A fellow here decided that a particular pseudo-user on all our machines ("nm", our Network Manager) should support a mailing list. One of the time-honored ways of doing this is via the $HOME/.forward file, so he created such a file for nm: echo Forward to u1.m1.lkg.dec.com, u2.m2.nac.dec.com >.forward and so on. He did a test message, and it failed. His machine uses the sendmail daemon, and when we did a bunch of tests, after getting past all the confusion of deciphering the "Mail -v" output, we eventually realized that the problem was that sendmail was telling m1 to send the mail to: RCPT To:<Forward to u1.m1.lkg.dec.com> and m1 had no user "Forward to u1", so it failed. We deleted the "Forward to" from the .forward file, and it worked fine. Now, despite the fact that we know a workaround, we are somewhat miffed by the fact that every other mailer we can find handles the "Forward to" in the obvious ways. If we use the uucp/att mailers, the originating mailer strips it off. If sendmail talks to a DECnet mailer, the recipient mailer strips it off. But if it is sendmail at both ends, it fails because neither has the sense to discard the "Forward to". Despite the claim that sendmail is so horribly complicated because it is such a super intelligent mailer, it seems to be the only one lying about that fails to treat these two words as comments. Or is it? Sendmail is of course configurable like you wouldn't believe, so it seems likely that there's something that can be done in sendmail.cf that would tell it to discard these English comments like other mailers do. Maybe we could even get it to discard equivalent phrases in other languages. But damned if I can find anything in TFM that hints at how one might go about making the change. Is there a way to get sendmail to behave in the obvious manner here? Is it possible for a mere human to understand how to do it? Or are we stuck with just documenting that "Forward to" should not be used if sendmail is involved? Am I wasting my time even asking? Please answer by email if possible and I'll try to summarize (if I can make sense of the answers). This news access is somewhat tenuous, and I'm not sure I'll see posted answers. BTW, don't bother telling me about /usr/lib/aliases; I am quite familiar with it. The argument that "Method X doesn't need to work because method Y is available" does not impress me at all. If sendmail reads the .forward file at all, it should process it correctly, and "correctly" in this case means being compatible with the other mailers that use it. If this is indeed configurable, then the default setup should be compatible with the other mailers.
karl.kleinpaste@osc.edu (05/09/91)
lan_csse@netrix.nac.dec.com writes: One of the time-honored ways of doing this is via the $HOME/.forward file, so he created such a file for nm: echo Forward to u1.m1.lkg.dec.com, u2.m2.nac.dec.com >.forward ...we eventually realized that the problem was that sendmail was telling m1 to send the mail to: RCPT To:<Forward to u1.m1.lkg.dec.com> and m1 had no user "Forward to u1", so it failed. If you RTFM aliases(5) and get to about page 3 (or so it is on this SunOS 4.1.1 machine; similarly placed for any sendmail installation), you will find this paragraph: | Automatic Forwarding | When an alias (or address) is resolved to the name of a user | on the local host, sendmail checks for a .forward file, | owned by the intended recipient, in that user's home direc- | tory, and with universal read access. This file can contain | one or more addresses or aliases as described above, each of | which is sent a copy of the user's mail. On a nearby DEC 5500 (I think) running a recent Ultrix incantation, the man page is actually much more abbreviated but still reads: | After aliasing has been done, local and valid recipients who have | a ``.forward'' file in their home directory have messages for- | warded to the list of users defined in that file. Nowhere will you find any reference to the use of the phrase "Forward to." In fact, I was unaware that _any_ UNIXish mailer _except_ the patently braindead and simplistic /bin/mail on SysV boxes understood the phrase "Forward to," and even there, it must be in the mail file /usr/mail/userid, and not in ~userid/.forward. (That is, unless this is something new for SysVRel4, which I have yet to see firsthand.) .forward is and always has been documented as containing a set of usernames only, never once it having been suggested that it contain some pointless commentary about forwarding, given the purpose for which the file exists anyhow. As for "compatibility with other mailers," it's not an issue of compatibility as far as I can see, since one can already describe not less than 3 ways of handling the matter -- there is no standard to which to adhere. 1. "Forward to someplace" in /usr/mail/userid. 2. ~userid/.forward containing "someplace." 3. Potentially, based on your comment, ~userid/.forward containing "Forward to someplace." Hardly any standard present, and hardly worth adherence. --karl
rickert@mp.cs.niu.edu (Neil Rickert) (05/09/91)
In article <22537@shlump.lkg.dec.com> jc@sppip7.lkg.dec.com writes: >Hey, I get to be the first one on my block to followup this, my own >article! Among the various flames that I received, one actually had >a simple solution to the problem. > >Anyhow, one respondant (Neil Rickert <rickert@cs.niu.edu>) suggested that >the right place was in ruleset 3, and that I should add: > RForward to $+ $:$1 Let me make it perfectly clear. I DID NOT suggest this as a solution. I suggested it as a rule which would have this effect if somebody was really silly enough to use it. My proposed solution was RTFM. It never really occurred to me that you might actually be stupid enough to treat that as a solution. >I actually added this and also > Rforward to $+ $:$1 Since sendmail does case insensitive matching this was superfluous, and even more silly. >One of the better flames came from rickert@cs.niu.edu along with his >answer: > >> Having the words "Forward to" inside .forward would seem stupidly redundant. > >This is similar to a lot of the other responses. I'd like to make the >observation that if you think that adding explanatory English comments >to a file is "stupid", then I don't want you working on any software If you really like adding explanatory words, try adding the words 'Login as: ' just before each entry in /etc/passwd. That should make the passwd file easier to understand. >that I send out to customers. Lots of people have similar feelings, and >there are frequent characterizations of Unix programmers as the type that >are either unwilling or unable to communicate in a human-readable tongue. > >Having words like "Forward to" in a .forward file certainly is redundant. >But it isn't stupid. In a perfect universe, communication systems wouldn't Actually, it isn't so much redundant as it is stupid. If you cannot tell the difference between a configuration file containing formatted data in the form expected by software, and a file intended to give explanatory information to human readers, you are in this business way out of your depth. Maybe you should take that early retirement option before your employer finds out. >need redundancy to function properly. This is not a perfect universe, at These extra words "Forward to" ARE NOT redundancy to make the system function properly. Properly put, they are somebody throwing a monkey wrench into the works. Think of that rewrite rule as a protective buffer against this particular monkey wrench. But if you keep going you will have more monkey wrenches than you can possibly buffer against. >least not in the corner where I reside, and redundancy is an important part >of successful packages hereabouts. For instance, it's real useful, when >looking at a bunch of files in /usr/lost+found, to be able to edit them >and get a hint as to what they were and what needs to be fixed to recover >from the damage. Maybe you aren't concerned with making your systems robust You would be better off looking at the system logs to find out why anything finished up in lost+found in the first place. The redundancy in this case should come from a good system backup procedure. >There's also a major problem with TFM that several people suggested I R. >Firstly, "man -k forward" says "forward not found". Nextly, the mail(1) >and aliases(5) entries mention .forward, but give no hint whatsoever as >to the format of a list. On some nearby Sys/V machines, there is a manual The aliases(5) pages had just finished describing the format of the list in connection with entries in the aliases files. The author's presumably didn't think they would have to deal with someone so incompetent that he couldn't remember for a few lines. >page for .forward, and it shows the "Forward to " syntax as optional, as >well as describing its use in /usr/spool/mail/foo. So RTFM would lead us I suppose you expect the Toyota manual to set the standard for Volkswagens too. >to believe that this is "normal" (whatever that means) syntax for .forward, >on the grounds that it is documented in the only manual pages that say >anything at all about the .forward format. It's documented everywhere >for the /usr/spool/mail/* files, of course, which only leads users to >believe that this is the "normal" syntax for forwarding on Unix systems. Just as well you didn't pick up a PC manual first, or you might have been trying in vain to look at \usr\spool\mail\* . >One real stumbling block for people here was: They were already familiar The real stumbling block is somebody who is not qualified to sweep the floors playing make believe and pretending to be a systems administrator. >Now I can understand how this might come about. After all, .mailrc is a >config file for one package (the Rand mailer); .forward is a config file Brilliant. Actually .mailrc has nothing to do with the Rand mailer. It is the user startup file for the Berkeley mailer (/usr/ucb/Mail). >for another (the Bell Labs mailer), so why should they be similar? And >in the case of sendmail (whose manual page mentions neither .forward nor >.mailrc), why should it even read these files, and if it does, why should While you are playing make believe, and pretending to be a system administrator, why don't you read the system administration manual for sendmail. You just might find something about .forward there. I hope it doesn't say anything about .mailrc, though, since that file has nothing whatsoever to do with sendmail. >The answer to these semi-rhetorical questions are quite straightforward >from most users' viewpoints. They are trying to get mail delivered, and >they don't need all the confusion that email seems determined to heap on >them. Invariably, they ask why the @#$*&^ software developers don't get Maybe they should buy a postage stamp, and use the US mail. With all the criticism of the mismanagement of the Postal service, it is probably much better run than your machines. >their acts together. Few of them, in my experience, have much patience >with all this email nonsense, especially when the email "experts" make >is to abundantly clear that they have little but contempt for the stupid >users. This arrogant attitude comes out quite clearly from the Internet Most email administrators I deal with have great concern about the problems of average users. It is the stupid administrators they hold in contempt. >There's no way I can justify this to any customers. But I can at least >thank Mr. Rickert for being the first one to show a solution. Now if I >could easily propogate it to everyone's sendmail.cf files... I sincerely hope that nobody else who reads this group is so stupid as to think of that rule as a solution to anything. >(Actually, I've had some fun explaining that these mailers probably use >different formats because of the look-and-feel lawsuits which will soon >make it illegal for any two programs to accept the same input formats >or generate similar output... ;-) I guess your knowledge of the law is as infinitesimal as your knowledge of Unix administration. -------------- In the meantime, I too have had some fun producing this flame. Serve you right for trying (unwittingly no doubt) to publicly embarrass me. -- =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= Neil W. Rickert, Computer Science <rickert@cs.niu.edu> Northern Illinois Univ. DeKalb, IL 60115 +1-815-753-6940
igb@fulcrum.bt.co.uk (Ian G Batten) (05/09/91)
In article <22524@shlump.lkg.dec.com> jc@sppip7.lkg.dec.com writes: > time-honored ways of doing this is via the $HOME/.forward file, so he > created such a file for nm: > echo Forward to u1.m1.lkg.dec.com, u2.m2.nac.dec.com >.forward I have never heard of anyone doing this before. There is the ``Forward to'' convention used in /usr/mail for System 5 machines, but .forward files have always contained addresses alone. ian
dhesi%cirrusl@oliveb.ATC.olivetti.com (Rahul Dhesi) (05/10/91)
In <22537@shlump.lkg.dec.com> lan_csse@netrix.nac.dec.com (CSSE LAN
Test Account) writes:
After all, .mailrc is a config file for one package (the Rand
mailer); .forward is a config file for another (the Bell Labs
mailer), so why should they be similar?
After all, the moon is made of one material (Green cheese), and the sun
is made of another (Banana juice), so why should they be similar?
--
Rahul Dhesi <dhesi@cirrus.COM>
UUCP: oliveb!cirrusl!dhesi