hogan@csl.sri.com (Emmett Hogan) (05/15/91)
Some of the users here have started getting strange "bounce" messages
from sendmail, although nothing that I know of has changed:
Machines: Sun 4/40 and Sun 3/60
OS: SunOS 4.1.1 and SunOS 4.0.3
Sendmail: XIDA Sendmail 5.61.14/XIDA-1.2.8.27 on clients
XIDA Sendmail 5.64+/XIDA-1.2.8.35 on mailhost
Error Messages:
451 makeconnection: server "smtp" unknown: Invalid argument
554 machine.name (TCP)... 554 System file missing
554 user@machine.name... System file missing
where machine.name is the name of the machine TO which the
message is being sent, and user@machine.name is the user TO
whom the mail message is being sent. It has happened on
strictly local mail as well as "off site" mail.
If any has any ideas as to what these messages mean, PLEASE help.
Unfortunately, this is not reproducible, one minute the message will
bounce, then we turn around and send the EXACT same message and it
will go through fine.
Any suggestions/comments/flames are welcome,
Thanks,
Emmett
--
-------------------------------------------------------------------
Emmett Hogan Computer Science Lab, SRI International
Inet: hogan@csl.sri.com
UUCP: {ames, decwrl, pyramid, sun}!fernwood!hercules!hogan
USMAIL: EL231, 333 Ravenswood Ave, Menlo Park, CA 94025
PacBell: (415)859-3232 (voice), (415)859-2844 (fax)
ICBM: 37d 27' 14" North, 122d 10' 52" West
-------------------------------------------------------------------karl.kleinpaste@osc.edu (05/15/91)
hogan@csl.sri.com writes:
Some of the users here have started getting strange "bounce" messages
from sendmail, although nothing that I know of has changed:
451 makeconnection: server "smtp" unknown: Invalid argument
554 machine.name (TCP)... 554 System file missing
554 user@machine.name... System file missing
YP sucks.
The problem is that sendmail is asking for the numeric port identifier
associated with the "smtp" service. This comes from /etc/services in
normal BSD UNIX systems, and from the YP services map in mutant SunOS
systems. Your YP server is overloaded and didn't respond in time, and
sendmail doesn't retry the request.
Nothing to be done but
[a] de-overload your YP server.
[b] hardcode "25" where it asks for "smtp" in daemon.c.
[c] nuke YP as a whole with the biggest weapon you can find.
--karlchet@odin.INS.CWRU.Edu (Chet Ramey) (05/21/91)
In article <1991May15.012841.2008@oar.net> karl.kleinpaste@osc.edu writes: >YP sucks. No argument here. >The problem is that sendmail is asking for the numeric port identifier >associated with the "smtp" service. This comes from /etc/services in >normal BSD UNIX systems, and from the YP services map in mutant SunOS >systems. Your YP server is overloaded and didn't respond in time, and >sendmail doesn't retry the request. > >Nothing to be done but > [a] de-overload your YP server. > [b] hardcode "25" where it asks for "smtp" in daemon.c. > [c] nuke YP as a whole with the biggest weapon you can find. While I personally favor [c], we've had good success with replacing all calls to `getservbyname' in the sendmail source with the following: #ifdef CWRU for (t = 0; t < 5; t++) { sp = getservbyname("smtp", "tcp"); if (sp) break; sleep(2); } #else sp = getservbyname("smtp", "tcp"); #endif /* CWRU */ Chet -- Chet Ramey Internet: chet@po.CWRU.Edu Case Western Reserve University NeXT Mail: chet@macbeth.INS.CWRU.Edu ``Now, somehow we've brought our sins back physically -- and they're pissed.''
demizu@nff.ncl.omron.co.jp (DEMIZU Noritoshi) (05/21/91)
In article <1991May20.205133.19701@usenet.ins.cwru.edu> chet@odin.INS.CWRU.Edu (Chet Ramey) writes: |In article <1991May15.012841.2008@oar.net> karl.kleinpaste@osc.edu writes: |>The problem is that sendmail is asking for the numeric port identifier |>associated with the "smtp" service. This comes from /etc/services in |>normal BSD UNIX systems, and from the YP services map in mutant SunOS |>systems. Your YP server is overloaded and didn't respond in time, and |>sendmail doesn't retry the request. |> |>Nothing to be done but |> [a] de-overload your YP server. |> [b] hardcode "25" where it asks for "smtp" in daemon.c. |> [c] nuke YP as a whole with the biggest weapon you can find. Here's my patch for it. *** daemon.c.ORG Tue May 21 18:13:23 1991 --- daemon.c Tue May 21 18:14:24 1991 *************** *** 367,374 **** if (sp == NULL) { ! syserr("makeconnection: server \"smtp\" unknown"); ! return (EX_OSFILE); } SendmailAddress.sin_port = sp->s_port; } --- 367,374 ---- if (sp == NULL) { ! syserr("makeconnection: service \"smtp/tcp\" unknown"); ! return EX_OSERR; } SendmailAddress.sin_port = sp->s_port; } |While I personally favor [c], we've had good success with replacing all |calls to `getservbyname' in the sendmail source with the following: I did the samething in getrequests() in daemon.c -- ; DEMIZU, Noritoshi OMRON Computer Systems R&D laboratory ; demizu@nff.ncl.omron.co.jp tel: 075-951-5111 fax: 075-956-7403