From owner-freebsd-bugs Mon Apr 20 16:20:56 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id QAA22574 for freebsd-bugs-outgoing; Mon, 20 Apr 1998 16:20:56 -0700 (PDT) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: (from gnats@localhost) by hub.freebsd.org (8.8.8/8.8.8) id QAA22472; Mon, 20 Apr 1998 16:20:26 -0700 (PDT) (envelope-from gnats) 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 ; 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" Reply-To: soren@t.dk To: FreeBSD-gnats-submit@FreeBSD.ORG Cc: ncbp@int.tele.dk, jesper@skriver.dk X-Send-Pr-Version: 3.2 Subject: bin/6366: syslogd creates AF_INET socket even with -s Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 6366 >Category: bin >Synopsis: syslogd creates AF_INET socket even with -s >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Apr 20 16:20:09 PDT 1998 >Last-Modified: >Originator: Soren S. Jorvang >Organization: Flaf >Release: FreeBSD 2.2.6-STABLE i386 >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) >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message