brian@ctdi.UUCP (Brian R. Eckert) (04/20/89)
I suspect that this has been discussed before, but I have only
recently gotten connected to the net again. Please forgive me if
this has already been beaten to death:
I have Sendmail (5.61 if it matters) running on a 3B15 with Smail 2.5.
Mail that passes through this system (i.e. not of local origin nor
destination) is not getting a 'Received: by' stuffed into the headers.
I am aware that in this particular situation, sendmail is not invoked
and smail takes responsibility for this... so where is it?
After some head scratching and discussion with a UUCP neighbor, I punched
up the *smail* source and started poking around. While my understanding
of smail may be incomplete, my understanding of C is not; what I (think I)
see in the source is:
1) in main.c, if we are running as 'rmail' (determined by the
basename of argv[0] begining with an 'r') handle is set to ALL.
Fine. But...
2) in deliver.c (for a sendmail system), at the point where smail
(presumably) adds it's 'Received: by' is an if something like:
if (command == rcommand && handle != ALL) {
do_the_received_by_stuff
}
indicating to me that for remote mail, smail won't add the received
by stuff (nor will sendmail since it doesn't get called for this
situation).
Someone please enlighten me! I could hack deliver, but I must just be
missing something about smail. My initial reaction (i.e. I haven't given
it any real thought yet) is that the if should be:
if (command == rcommand && handle == ALL) {
The UUCP neighbor I discussed this with says his smail/sendmail behave as
documented (almost :-).
Any help is greatly appreciated.
-brian
--
Brian R. Eckert || uucp: brian@ctdi.UUCP
|| ...!uunet!cbmvax!ctdi1!ctdi!brian
Communications Test Design, Inc.||
West Chester, Pa. || Only entropy comes easy.