ports/109953: sshd refuses connections with nss_mdns installed
Pat Lashley
patl+freebsd at volant.org
Mon Mar 5 23:40:06 UTC 2007
>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 at 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:
More information about the freebsd-ports-bugs
mailing list