----- David Malone's Original Message -----
> 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.

Merged patch works like a charm.  Invalid config lines are
sent to syslog() at init time and inetd -d now outputs all
(debug) info to the console.

-John


RCS file: /home/ncvs/src/usr.sbin/inetd/inetd.c,v
retrieving revision 1.96
diff -u -r1.96 inetd.c
--- inetd.c     8 May 2002 17:20:08 -0000       1.96
+++ inetd.c     20 May 2002 03:01:13 -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
@@ -1613,7 +1616,7 @@
        }
         if (strncmp(sep->se_proto, "rpc/", 4) == 0) {
                if (no_v4bind != 0) {
-                       syslog(LOG_INFO, "IPv4 bind is ignored for %s",
+                       syslog(LOG_NOTICE, "IPv4 bind is ignored for %s",
                               sep->se_service);
                        freeconfig(sep);
                        goto more;
@@ -1654,7 +1657,7 @@
 #ifdef INET6
                if (sep->se_proto[strlen(sep->se_proto) - 1] == '6') {
                        if (no_v6bind != 0) {
-                               syslog(LOG_INFO, "IPv6 bind is ignored for %s",
+                               syslog(LOG_NOTICE, "IPv6 bind is ignored for %s",
                                       sep->se_service);
                                freeconfig(sep);
                                goto more;
@@ -1686,7 +1689,7 @@
 #endif
        { /* default to v4 bind if not v6 bind */
                if (no_v4bind != 0) {
-                       syslog(LOG_INFO, "IPv4 bind is ignored for %s",
+                       syslog(LOG_NOTICE, "IPv4 bind is ignored for %s",
                               sep->se_service);
                        freeconfig(sep);
                        goto more;




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

Reply via email to