4.2 lost mail

Voradesh Yenbut yenbut at uw-beaver
Sat Dec 22 06:43:44 AEST 1984


> []
> 	We also have experienced the "lost mail" syndrome. It only happens
> on queued mail. I, however, have noticed the following events:
> 
> Mail is sent to multiple recipients (both local and remote).
> The mail is queued (a single copy, of course) due to the load average.
> The mail is received by all non-local recipients and is never seen again
> locally.
> 
> Its got to be the gremlins eh?
> 
> 				Ray

I found that sendmail, compiled with DBM defined, does not call initaliases()
before it processes queued mails.  So, it will fail when looking for an alias
name of a local recipient.  As quoted from Version.c of sendmail,

> D 4.16	83/10/16 16:08:08	eric	382	381
> MRs:	
> Postpone opening the alias DBM file until after the fork in srvrsmtp so
> that the alias database is as current as possible; thanks to dagobah!efo
> (Eben Ostby) for this one.

it looks like sendmail version 4.16 and above may have this kind of problem.
My fix in queue.c is as follows:

==================================================================
  SCCSID(@(#)queue.c	4.2		3/11/84	(no queueing));

*** /tmp/,RCSt1002663	Fri Dec 21 12:02:11 1984
--- queue.c	Mon Dec  3 09:35:01 1984
***************
*** 256,261
  		/* child -- double fork */
  		if (fork() != 0)
  			exit(EX_OK);
  	}
  # ifdef LOG
  	if (LogLevel > 11)

--- 258,266 -----
  		/* child -- double fork */
  		if (fork() != 0)
  			exit(EX_OK);
+ 
+ 		/* open the alias database */
+ 		initaliases(AliasFile, FALSE);
  	}
  # ifdef LOG
  	if (LogLevel > 11)



More information about the Comp.unix.wizards mailing list