i386/123330: Enabling samba wins in nsswitch.conf causes sshd, ftpd,
etc services to die
Shelby Cain
scain at exgenesis.com
Fri May 2 14:30:02 UTC 2008
>Number: 123330
>Category: i386
>Synopsis: Enabling samba wins in nsswitch.conf causes sshd, ftpd, etc services to die
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-i386
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri May 02 14:30:02 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Shelby Cain
>Release: 7.0-REL
>Organization:
>Environment:
FreeBSD freebsdlol.localdomain 7.0-RELEASE FreeBSD 7.0-RELEASE #1: Mon Apr 14 17:59:26 CDT 2008 root at freebsdlol.localdomain:/usr/obj/usr/src/sys/MYKERN i386
>Description:
Background: I have a mixed home network of Windows, Linux and (now) FreeBSD. In order to facilitate easy communication between the systems I install Samaba and enable wins resolution in nsswitch.conf on all non-windows boxes so that netbios name resolution can occur.
Problem: Once I've added "hosts: files dns wins" to my nsswitch.conf on FreeBSD any system service that appears to rely on name resolution will segfault when it attempts to handle incoming connections.
I realize that netbios name resolution functionality probably isn't a super high priority but causing a denial of service by enabling something that should work without issue strikes me as a serious bug so I marked it as such. I also tried getting a backtrace from one of the ftpd.core files and gdb listed thousands of stack frames which I assume means some form of stack corruption has occurred.
>How-To-Repeat:
1) Install FreeBSD 7.0-i386.
2) Enable various network services such as sshd and ftpd.
3) Establish ssh session to the server.
4) Build and install Samba3 from ports.
5) Change hosts line in /etc/nsswitch.conf to read "hosts: files dns wins"
6) Verify that you can resolve windows netbios names via a tool like ping. Do not close your existing ssh session at this point as you'll be unable to log back in!
7) Attempt to create a new ssh or ftp session. The attempt will fail and a message about the (I assume forked) process being terminated with signal 11 will be logged in /var/log/messages. This will continue for as long as "wins" is left in /etc/nsswitch.conf.
8) Removing the "wins" entry will restore normal behavior.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-i386
mailing list