Patch to solve problem:

since version 8.12.1 (8.12.0 ?) sendmail complains if a program piping
data to it doesn't have stdin, stdout and stderr opened; smtpfwdd
doesn't open stdout and stderr when forwarding a mail to sendmail,
therefore an anoying system messages is generated for each incoming mail:
Dec 30 00:05:44 alchemy sendmail[96078]: SYSERR(uucp): File descriptors
	missing on startup: stdout, stderr: Bad file descriptor

Maintainer Timeout.

PR:		33314
Submitted by:	marius@alchemy.franken.de
This commit is contained in:
Dirk Meyer 2002-03-30 14:43:32 +00:00
parent 1ae44a08a7
commit 9487b0418f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=56957
2 changed files with 22 additions and 1 deletions

View File

@ -7,6 +7,7 @@
PORTNAME= smtpd
PORTVERSION= 2.0
PORTREVISION= 1
CATEGORIES= mail security
MASTER_SITES= ftp://ftp.obtuse.com/pub/smtpd/

View File

@ -1,5 +1,5 @@
--- smtpfwdd.c.org Wed Jun 17 21:21:10 1998
+++ smtpfwdd.c Wed Jun 17 21:21:22 1998
+++ smtpfwdd.c Sun Dec 30 00:09:19 2001
@@ -43,12 +43,12 @@
"Copyright 1996 - Obtuse Systems Corporation - All rights reserved.";
char *obtuse_rcsid = "$Id: smtpfwdd.c,v 1.35 1997/12/12 04:07:49 beck Exp $";
@ -14,3 +14,23 @@
#include <sys/stat.h>
#include <sys/wait.h>
#include <sys/stat.h>
@@ -636,6 +636,19 @@
exit(EX_OSERR);
}
+ /*
+ * Open /dev/null as stdout and as stderr so sendmail 8.12.1 (and
+ * above ?) won't complain about missing file descriptors.
+ */
+ if (open ("/dev/null", O_WRONLY | O_APPEND) < 0) {
+ syslog(LOG_ERR, "Couldn't open /dev/null as stdout (%m)");
+ exit (EX_OSERR);
+ }
+ if (open ("/dev/null", O_RDWR | O_APPEND) < 0) {
+ syslog(LOG_ERR, "Couldn't open /dev/null as stderr (%m)");
+ exit (EX_OSERR);
+ }
+
fclose(f);
closelog();
if (lseek(0, body, SEEK_SET) < 0) {