On Sat, May 18, 2002 at 06:51:31PM -0700, John De Boskey wrote:
>     Comments on the following patch. The messages
> are invisible with a default install. This patch
> gets them into /var/log/messages where they can be
> seen.

I have a different fix for this at home, included below. It uses
syslog's LOG_PERROR flag when initially calling openlog. It then
reopens the log without the LOG_PERROR when/if it becomes a daemon.

        David.

diff -u -r1.96 inetd.c
--- inetd.c     8 May 2002 17:20:08 -0000       1.96
+++ inetd.c     13 May 2002 23:02:35 -0000
@@ -317,7 +317,7 @@
        const char *servname;
        int error;
 
-       openlog("inetd", LOG_PID | LOG_NOWAIT, LOG_DAEMON);
+       openlog("inetd", LOG_PID | LOG_NOWAIT | LOG_PERROR, LOG_DAEMON);
 
        while ((ch = getopt(argc, argv, "dlwWR:a:c:C:p:")) != -1)
                switch(ch) {
@@ -434,6 +434,9 @@
                if (daemon(0, 0) < 0) {
                        syslog(LOG_WARNING, "daemon(0,0) failed: %m");
                }
+               /* From now on we don't want syslog messages going to stderr. */
+               closelog();
+               openlog("inetd", LOG_PID | LOG_NOWAIT, LOG_DAEMON);
                /*
                 * In case somebody has started inetd manually, we need to
                 * clear the logname, so that old servers run as root do not


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to