From ncbp@bank-pedersen.dk  Mon Apr 20 23:24:02 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 XAA23328
          for <FreeBSD-gnats-submit@freebsd.org>; Mon, 20 Apr 1998 23:23:57 GMT
          (envelope-from ncbp@bank-pedersen.dk)
Received: (qmail 23257 invoked from network); 20 Apr 1998 23:23:47 -0000
Received: from localhost (127.0.0.1)
  by localhost with SMTP; 20 Apr 1998 23:23:47 -0000
Message-Id: <Pine.BSF.3.96.980421011729.22111A-100000@freesbee.t.dk>
Date: Tue, 21 Apr 1998 01:23:47 +0200 (CEST)
From: Niels Christian Bank-Pedersen <ncbp@bank-pedersen.dk>
To: "Soren S. Jorvang" <soren@t.dk>
Cc: FreeBSD-gnats-submit@freebsd.org, ncbp@int.tele.dk, jesper@skriver.dk
In-Reply-To: <19980420231506.21888.qmail@freesbee.t.dk>
Subject: Re: syslogd creates AF_INET socket even with -s

>Number:         6367
>Category:       bin
>Synopsis:       Re: syslogd creates AF_INET socket even with -s
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Apr 20 16:30:22 PDT 1998
>Closed-Date:    Mon Apr 20 16:45:02 PDT 1998
>Last-Modified:  Tue Nov 27 19:25:33 PST 2001
>Originator:     
>Release:        
>Organization:
>Environment:
>Description:
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: steve 
State-Changed-When: Mon Apr 20 16:45:02 PDT 1998 
State-Changed-Why:  
Intended as a followup to another PR. 
Responsible-Changed-From-To: gnats-admin->freebsd-bugs  
Responsible-Changed-By: cwt 
Responsible-Changed-When: Tue Dec 29 17:41:32 PST 1998 
Responsible-Changed-Why:  
Misfiled PR. 
>Unformatted:
On 20 Apr 1998, Soren S. Jorvang wrote:

> 
> >Submitter-Id:   current-users
> >Originator:     Soren S. Jorvang
> >Organization:   Flaf
> >Confidential:   no
> >Synopsis:       syslogd creates AF_INET socket even with -s
> >Severity:       non-critical
> >Priority:       medium
> >Category:       bin
> >Release:        FreeBSD 2.2.6-STABLE i386
> >Class:          sw-bug
> >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
  ^^^

udp.

/Niels Chr.

> 
> 
> >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)
> 
> 


-- 
 Niels Christian Bank-Pedersen (NCB1-RIPE, Tele Danmark Net, DataNET).
 UN*X is user friendly. It's just selective about who its friends are.

