vachon@IRO.UMontreal.CA (Mario Vachon) (10/18/90)
Hello,
I maintain a mail list which contains approximately 100 people. Each
address on the list is a valid address and is able to receive mail,
yet when I send mail to the entire list only the first few members of
the list are sent the mail before sendmail core dumps. I have broken
the list up into smaller pieces and have been able to send to each
of the pieces without any problems.
Has anyone seen this sort of problem before? Any hints on what I
might look into? I am using the sendmail distributed with
> Ultrix Worksystem V2.1 (Rev. 14) System #2: Tue Jul 10 21:33:21 EDT 1990.
and am sort of forced to keep the DEC sendmail since we must keep our
Ultrix host talking mail11v3 to VMS machines.
Please mail any suggestion to me and I will summarize... (really).
Darren Kinley | Centre de recherche informatique de Montreal (CRIM)
Analyste/Prog. en Telecom | 3744 rue Jean-Brillant, bureau 500
kinley@crim.ca | Montreal (Quebec) Canada H3T 1P1
uunet!clouso!kinley | tel: +1 514 340 5700 / fax: +1 514 340 5777
piet@cwi.nl (Piet Beertema) (10/18/90)
>I maintain a mail list which contains approximately 100 people. Each >address on the list is a valid address and is able to receive mail, >yet when I send mail to the entire list only the first few members of >the list are sent the mail before sendmail core dumps. I have broken >the list up into smaller pieces and have been able to send to each >of the pieces without any problems. I have the same problem and it has persisted from old sendmail releases upto 5.64. More precisely the symptoms when a mailing list gets too long are: - If you're lucky, i.e. when a list is just a little bit too long, you'll get e.g. a message that dbm can't store an entry from that list and/or a complaint about a missing colon. - If you're unlucky, i.e. when a list is really too long, sendmail (newaliases) will dump core somewhere further on in the aliases file (on a correct address!). I haven't got a fix for this problem yet. -- Piet Beertema, CWI, Amsterdam (piet@cwi.nl)
jad@hpcndnm.cnd.hp.com (John Dilley) (10/25/90)
Sorry for re-posting this note, if you've seen it already. Jerry posted it locally via notes and it does not seem to have gone out. -- jad -- From: jmc@hpcndm.CND.HP.COM (Jerry McCollom) Date: Fri, 19 Oct 1990 19:00:06 GMT Subject: Re: distribution list problems Newsgroups: comp.mail.sendmail vachon@IRO.UMontreal.CA (Mario Vachon) writes: > I maintain a mail list which contains approximately 100 people. Each > address on the list is a valid address and is able to receive mail, > yet when I send mail to the entire list only the first few members of > the list are sent the mail before sendmail core dumps. I have broken > the list up into smaller pieces and have been able to send to each > of the pieces without any problems. > > Has anyone seen this sort of problem before? Any hints on what I > might look into? The way readaliases() is coded, the total length of the LHS and RHS of an alias cannot exceed BUFSIZ, which is 1024 on most systems. If you do exceed that value, the behavior can range from a slient truncation of the list (your case) or perhaps even an infinite loop (the case where I ran into this problem). Since you are not at liberty to change the code, I'd suggest using a :include: for the RHS of your mail list alias as a workaround, e.g. maillist : :include:/usr/lib/mail/maillist where /usr/lib/mail/maillist is the list of addresses that was formerly the RHS of your alias. Below is my fix to readaliases in alias.c (diffs from BSD 5.65 sendmail). You could also bump up the size of the variable line if you want to allow longer aliases. *** alias.c,orig Fri Oct 19 12:04:34 1990 --- alias.c Fri Oct 19 12:05:20 1990 *************** *** 460,463 } /* see if there should be a continuation line */ c = fgetc(af); --- 460,472 ----- } + /* rhs overflow */ + if (p >= line + sizeof line - 1) { + errno = 0; + syserr("Alias too long (%d chars max)", + sizeof(line)-1); + skipping = TRUE; + break; + } + /* see if there should be a continuation line */ c = fgetc(af); *************** *** 472,475 LineNumber++; } if (al.q_mailer != LocalMailer) { --- 481,489 ----- LineNumber++; } + + /* continue on rhs overflow */ + if (skipping) + continue; + if (al.q_mailer != LocalMailer) { Jerry McCollom jmc@cnd.hp.com Hewlett Packard, Colorado Networks Division This response does not represent the official position of, or statement by, the Hewlett Packard Company. The above is provided for informational purposes only. It is supplied without warranty of any kind.
piet@cwi.nl (Piet Beertema) (10/26/90)
>I'd suggest using a :include: for the RHS of your mail list >alias as a workaround, e.g. > > maillist : :include:/usr/lib/mail/maillist Right, that works just fine. Besides, it gives you the opportunity to have people manage their own mailing lists. There's a pitfall though: the "address" :include:filename MUST resolve to the local mailer, since only LocalMailer recognizes and processes the :include: construct. -- Piet Beertema, CWI, Amsterdam (piet@cwi.nl)