Date: Wed, 2 May 2007 10:59:31 -0300 (BRT) From: Sergio Lenzi <lenzi@k1.com.br> To: FreeBSD-gnats-submit@FreeBSD.org Cc: bms@FreeBSD.org Subject: ports/112353: [PATCH] dns/nss_mdns: [SUMMARIZE CHANGES] Message-ID: <200705021359.l42DxVBg009939@k1.com.br> Resent-Message-ID: <200705021400.l42E0L8C014658@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 112353 >Category: ports >Synopsis: [PATCH] dns/nss_mdns: [SUMMARIZE CHANGES] >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Wed May 02 14:00:10 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Sergio Lenzi >Release: FreeBSD 6.2-RELEASE i386 >Organization: k1 sistemas >Environment: System: FreeBSD k1.com.br 6.2-RELEASE FreeBSD 6.2-RELEASE #1: Thu Apr 5 17:05:10 BRT >Description: [DESCRIBE CHANGES] The functions gethostbyname and gethostbyaddr did not have support in bsdnss.c I added the functions in the module so now ping, telnet ... works on the domain .local in my network. I could not the the function gethostbyaddr but I think it will work... in my network (12 machines) they work ok with libc.so.6. Added file(s): Port maintainer (bms@FreeBSD.org) is cc'd. Generated with FreeBSD Port Tools 0.77 >How-To-Repeat: >Fix: --- nss_mdns-0.9_3.patch begins here --- diff -ruN --exclude=CVS /usr/ports/dns/nss_mdns/Makefile /fileserver/ports/dns/nss_mdns/Makefile --- /usr/ports/dns/nss_mdns/Makefile Thu Apr 12 07:43:15 2007 +++ /fileserver/ports/dns/nss_mdns/Makefile Wed May 2 01:27:44 2007 @@ -7,7 +7,7 @@ PORTNAME= nss_mdns PORTVERSION= 0.9 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= dns ipv6 MASTER_SITES= http://0pointer.de/lennart/projects/nss-mdns/ DISTNAME= nss-mdns-${PORTVERSION} diff -ruN --exclude=CVS /usr/ports/dns/nss_mdns/files/patch-src-nss.c /fileserver/ports/dns/nss_mdns/files/patch-src-nss.c --- /usr/ports/dns/nss_mdns/files/patch-src-nss.c Wed Dec 31 21:00:00 1969 +++ /fileserver/ports/dns/nss_mdns/files/patch-src-nss.c Mon Apr 30 14:04:15 2007 @@ -0,0 +1,10 @@ +--- src/nss.c.orig Mon Apr 30 14:03:07 2007 ++++ src/nss.c Mon Apr 30 14:02:21 2007 +@@ -35,6 +35,7 @@ + + #include "query.h" + ++#define ENABLE_AVAHI 1 + #ifdef ENABLE_AVAHI + #include "avahi.h" + #endif diff -ruN --exclude=CVS /usr/ports/dns/nss_mdns/files/patch-src__bsdnss.c /fileserver/ports/dns/nss_mdns/files/patch-src__bsdnss.c --- /usr/ports/dns/nss_mdns/files/patch-src__bsdnss.c Thu Apr 12 07:43:15 2007 +++ /fileserver/ports/dns/nss_mdns/files/patch-src__bsdnss.c Wed May 2 01:55:03 2007 @@ -1,6 +1,6 @@ ---- src/bsdnss.c.orig Tue Apr 10 12:16:00 2007 -+++ src/bsdnss.c Tue Apr 10 12:21:42 2007 -@@ -0,0 +1,428 @@ +--- src/bsdnss.c.orig Mon Apr 30 14:05:10 2007 ++++ src/bsdnss.c Wed May 2 01:22:26 2007 +@@ -0,0 +1,474 @@ +/* rcs tags go here when pushed upstream */ +/* Original author: Bruce M. Simpson <bms@FreeBSD.org> */ + @@ -43,6 +43,8 @@ +#include <netinet/in.h> +#include <netdb.h> + ++#include <syslog.h> ++ +#include "config.h" + +#ifdef MDNS_MINIMAL @@ -90,6 +92,8 @@ + size_t buflen, int *errnop, int *h_errnop); + +typedef enum nss_status (*_bsd_nsstub_fn_t)(const char *, struct hostent *, char *, size_t, int *, int *); ++static int __nss_bsdcompat_gethostbyname(void *retval, void *mdata __unused, va_list ap); ++static int __nss_bsdcompat_gethostbyaddr(void *retval, void *mdata __unused, va_list ap); + +/* XXX: FreeBSD 5.x is not supported. */ +static NSS_METHOD_PROTOTYPE(__nss_bsdcompat_getaddrinfo); @@ -105,6 +109,8 @@ + { NSDB_HOSTS, "gethostbyname2_r", __nss_bsdcompat_gethostbyname2_r, NULL }, + { NSDB_HOSTS, "ghbyaddr", __nss_bsdcompat_ghbyaddr, NULL }, + { NSDB_HOSTS, "ghbyname", __nss_bsdcompat_ghbyname, NULL }, ++ { NSDB_HOSTS, "gethostbyname", __nss_bsdcompat_gethostbyname, NULL }, ++ { NSDB_HOSTS, "gethostbyaddr", __nss_bsdcompat_gethostbyaddr, NULL }, +}; + +ns_mtab * @@ -428,4 +434,45 @@ + return (status); +} + ++static int __nss_bsdcompat_gethostbyname(void *retval, void *mdata __unused, va_list ap) { ++ char buffer[1024]; ++ const char *name; ++ int _errno; ++ int _h_errno; ++ struct hostent *hp; ++ enum nss_status status; ++ int af; ++ ++ name = va_arg(ap, const char *); ++ if (name == NULL) ++ return (NS_UNAVAIL); ++ af=va_arg(ap,int); ++ hp=va_arg(ap,struct hostent *); ++ status = _nss_mdns_gethostbyname_r(name, hp, buffer,sizeof(buffer), &_errno, &_h_errno); ++ status = __nss_compat_result(status, _errno); ++ return (status); ++} ++ ++static int __nss_bsdcompat_gethostbyaddr(void *retval, void *mdata __unused, va_list ap) { ++ char buffer[1024]; ++ const char *name; ++ int _errno; ++ int _h_errno; ++ struct hostent *hp; ++ enum nss_status status; ++ struct in_addr *addr; ++ int af; ++ int len; ++ ++ addr = va_arg(ap, struct in_addr*); ++ if (!addr) ++ return (NS_UNAVAIL); ++ len = va_arg(ap,int); ++ af = va_arg(ap,int); ++ hp=va_arg(ap,struct hostent *); ++ status=_nss_mdns_gethostbyaddr_r (addr,len, af,hp,buffer, sizeof(buffer),&_errno,&_h_errno); ++ return status; ++} ++ +#endif /* !NO_BUILD_BSD_NSS */ ++ --- nss_mdns-0.9_3.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200705021359.l42DxVBg009939>