From soren@freesbee.t.dk  Mon Apr 20 23:15:23 1998
Received: from freesbee.t.dk (qmailr@freesbee.t.dk [193.163.159.72])
          by hub.freebsd.org (8.8.8/8.8.8) with SMTP id XAA21631
          for <FreeBSD-gnats-submit@freebsd.org>; Mon, 20 Apr 1998 23:15:14 GMT
          (envelope-from soren@freesbee.t.dk)
Received: (qmail 21889 invoked by uid 1004); 20 Apr 1998 23:15:06 -0000
Message-Id: <19980420231506.21888.qmail@freesbee.t.dk>
Date: 20 Apr 1998 23:15:06 -0000
From: "Soren S. Jorvang" <soren@t.dk>
Reply-To: soren@t.dk
To: FreeBSD-gnats-submit@freebsd.org
Cc: ncbp@int.tele.dk, jesper@skriver.dk
Subject: syslogd creates AF_INET socket even with -s
X-Send-Pr-Version: 3.2

>Number:         6366
>Category:       bin
>Synopsis:       syslogd creates AF_INET socket even with -s
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Apr 20 16:20:09 PDT 1998
>Closed-Date:    Tue Apr 21 23:28:25 PDT 1998
>Last-Modified:  Tue Apr 21 23:28:49 PDT 1998
>Originator:     Soren S. Jorvang
>Release:        FreeBSD 2.2.6-STABLE i386
>Organization:
Flaf
>Environment:
Very recent 2.2.6-stable. The same bug is in todays -current.


>Description:
Even with '-s', syslogd still creates an AF_INET socket, although
it is not bind(2)ed.


>How-To-Repeat:
Run 'syslogd -s'. Observe the following line from 'netstat -an'.
tcp        0      0  *.*                   *.*                    LISTEN


>Fix:
--- src/usr.sbin/syslogd.c.orig	Tue Apr 21 00:26:56 1998
+++ src/usr.sbin/syslogd.c	Tue Apr 21 00:30:22 1998
@@ -366,28 +366,27 @@
 		created_lsock = 1;
 
 	inetm = 0;
-	finet = socket(AF_INET, SOCK_DGRAM, 0);
-	if (finet >= 0) {
-		struct servent *sp;
+	if (!SecureMode) {
+		finet = socket(AF_INET, SOCK_DGRAM, 0);
+		if (finet >= 0) {
+			struct servent *sp;
 
-		sp = getservbyname("syslog", "udp");
-		if (sp == NULL) {
-			errno = 0;
-			logerror("syslog/udp: unknown service");
-			die(0);
-		}
-		memset(&sin, 0, sizeof(sin));
-		sin.sin_family = AF_INET;
-		sin.sin_port = LogPort = sp->s_port;
+			sp = getservbyname("syslog", "udp");
+			if (sp == NULL) {
+				errno = 0;
+				logerror("syslog/udp: unknown service");
+				die(0);
+			}
+			memset(&sin, 0, sizeof(sin));
+			sin.sin_family = AF_INET;
+			sin.sin_port = LogPort = sp->s_port;
 
-		if (!SecureMode) {
-		    if (bind(finet, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
-			    logerror("bind");
-			    if (!Debug)
-				    die(0);
-		    } else {
-			    inetm = FDMASK(finet);
-		    }
+			if (bind(finet, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
+				logerror("bind");
+				if (!Debug)
+					die(0);
+				inetm = FDMASK(finet);
+			}
 		}
 	}
 	if ((fklog = open(_PATH_KLOG, O_RDONLY, 0)) >= 0)

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: phk 
State-Changed-When: Tue Apr 21 23:28:25 PDT 1998 
State-Changed-Why:  
committed, thanks! 
>Unformatted:
