Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Mar 2007 23:32:09 GMT
From:      Pat Lashley<patl+freebsd@volant.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/109953: sshd refuses connections with nss_mdns installed
Message-ID:  <200703052332.l25NW9rv058315@www.freebsd.org>
Resent-Message-ID: <200703052340.l25Ne5nj089814@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         109953
>Category:       ports
>Synopsis:       sshd refuses connections with nss_mdns installed
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Mar 05 23:40:05 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Pat Lashley
>Release:        6.2-STABLE
>Organization:
Applied Plasmonics
>Environment:
FreeBSD data.local 6.2-STABLE FreeBSD 6.2-STABLE #0: Mon Jan 22 18:41:31 UTC 2007     broot@data.local:/usr/obj/usr/src/sys/DATA  amd6
>Description:
With:
    1.  The nss_mdns port installed
    2.  The nsswitch.conf hosts line set to:
        hosts: files mdns dns
    3.  The system standard sshd running

Any attempt to open an ssh connecton to the machine (even via localhost) results in an immediatly closed connection.

Running sshd with debugging reveals a message about an undefined external: _nss_mdns4_gethostbyname_r in the nss_mdns.so module.
>How-To-Repeat:
See Description
>Fix:
Remove the following lines from files/patch-src__bsdnss.c in the nss_mdns port:

+extern enum nss_status _nss_mdns_gethostbyname_r (const char *name, struct hostent * result,
+                          char *buffer, size_t buflen, int *errnop,
+                          int *h_errnop);
+
+extern enum nss_status _nss_mdns_gethostbyname2_r (const char *name, int af, struct hostent * result,
+                           char *buffer, size_t buflen, int *errnop,
+                           int *h_errnop);
+extern enum nss_status _nss_mdns_gethostbyaddr_r (struct in_addr * addr, int len, int type,
+                          struct hostent * result, char *buffer,
+                          size_t buflen, int *errnop, int *h_errnop);
+extern enum nss_status _nss_mdns4_gethostbyname_r (const char *name, struct hostent * result,
+                          char *buffer, size_t buflen, int *errnop,
+                          int *h_errnop);
+
+extern enum nss_status _nss_mdns4_gethostbyname2_r (const char *name, int af, struct hostent * result,
+                           char *buffer, size_t buflen, int *errnop,
+                           int *h_errnop);
+extern enum nss_status _nss_mdns4_gethostbyaddr_r (struct in_addr * addr, int len, int type,
+                          struct hostent * result, char *buffer,
+                          size_t buflen, int *errnop, int *h_errnop);
+extern enum nss_status _nss_mdns6_gethostbyname_r (const char *name, struct hostent * result,
+                          char *buffer, size_t buflen, int *errnop,
+                          int *h_errnop);
+
+extern enum nss_status _nss_mdns6_gethostbyname2_r (const char *name, int af, struct hostent * result,
+                           char *buffer, size_t buflen, int *errnop,
+                           int *h_errnop);
+extern enum nss_status _nss_mdns6_gethostbyaddr_r (struct in_addr * addr, int len, int type,
+                          struct hostent * result, char *buffer,
+                          size_t buflen, int *errnop, int *h_errnop);

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200703052332.l25NW9rv058315>