Index: head/net/mDNSResponder/Makefile =================================================================== --- head/net/mDNSResponder/Makefile (revision 384779) +++ head/net/mDNSResponder/Makefile (revision 384780) @@ -1,55 +1,46 @@ # Created by: Alfred Perlstein # $FreeBSD$ PORTNAME= mDNSResponder -PORTVERSION= 561.1.1 -PORTREVISION= 1 +PORTVERSION= 567 CATEGORIES= net dns MASTER_SITES= http://opensource.apple.com/tarballs/${PORTNAME}/ MAINTAINER= sunpoet@FreeBSD.org COMMENT= Bonjour (zero-configuration networking) by Apple LICENSE= APACHE20 BSD3CLAUSE LICENSE_COMB= dual CONFLICTS= avahi-libdns-[0-9]* BUILD_WRKSRC= ${WRKSRC}/mDNSPosix INSTALL_WRKSRC= ${WRKSRC}/mDNSPosix MAKE_ARGS= LDCONFIG=${TRUE} LOCALBASE=${PREFIX} MANPATH=${MANPREFIX}/man os=freebsd MAKE_JOBS_UNSAFE= yes USE_LDCONFIG= yes USE_RC_SUBR= mdnsd mdnsresponderposix USES= cpe gmake CPE_VENDOR= apple CPE_PRODUCT= ${PORTNAME:tl} EXTRA_BIN= mDNSClientPosix mDNSIdentify mDNSNetMonitor mDNSProxyResponderPosix mDNSResponderPosix EXTRA_MAN1= dns-sd.1 EXTRA_MAN8= dnsextd.8 mDNSResponderPosix.8 EXTRA_SBIN= dnsextd -.include - -.if ${ARCH:C/^(...).*/\1/} == "arm" -MAKE_ARGS+= LD="${CC} -shared" -.endif - post-patch: - @${REINPLACE_CMD} -e '/ cc / s|cc|$${CC}|' ${WRKSRC}/Clients/Makefile - @${REINPLACE_CMD} -e 's|mDNSResponder.8|mDNSResponderPosix.8|g' ${WRKSRC}/mDNSPosix/Makefile @${REINPLACE_CMD} -e 's|\(#define IPV6_2292_PKTINFO \).*|\1IPV6_PKTINFO|; s|\(#define IPV6_2292_HOPLIMIT \).*|\1IPV6_HOPLIMIT|' ${WRKSRC}/mDNSPosix/mDNSUNP.h @${MV} ${WRKSRC}/mDNSShared/mDNSResponder.8 ${WRKSRC}/mDNSShared/mDNSResponderPosix.8 post-install: cd ${WRKSRC}/mDNSPosix/build/prod/ && ${INSTALL_PROGRAM} ${EXTRA_BIN} ${STAGEDIR}${PREFIX}/bin/ cd ${WRKSRC}/mDNSShared/ && ${INSTALL_MAN} ${EXTRA_MAN1} ${STAGEDIR}${PREFIX}/man/man1/ cd ${WRKSRC}/mDNSShared/ && ${INSTALL_MAN} ${EXTRA_MAN8} ${STAGEDIR}${PREFIX}/man/man8/ cd ${WRKSRC}/mDNSPosix/build/prod/ && ${INSTALL_PROGRAM} ${EXTRA_SBIN} ${STAGEDIR}${PREFIX}/sbin/ ${CHMOD} u+w ${STAGEDIR}${PREFIX}/bin/* ${STAGEDIR}${PREFIX}/lib/libdns_sd.so.1 ${STAGEDIR}${PREFIX}/sbin/* ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/* ${STAGEDIR}${PREFIX}/lib/libdns_sd.so.1 ${STAGEDIR}${PREFIX}/sbin/* ${CHMOD} u-w ${STAGEDIR}${PREFIX}/bin/* ${STAGEDIR}${PREFIX}/lib/libdns_sd.so.1 ${STAGEDIR}${PREFIX}/sbin/* -.include +.include Index: head/net/mDNSResponder/distinfo =================================================================== --- head/net/mDNSResponder/distinfo (revision 384779) +++ head/net/mDNSResponder/distinfo (revision 384780) @@ -1,2 +1,2 @@ -SHA256 (mDNSResponder-561.1.1.tar.gz) = 217ca717149b999a34c568913e4721beef96ac7ab93db8a012e68ffe816530d9 -SIZE (mDNSResponder-561.1.1.tar.gz) = 2153693 +SHA256 (mDNSResponder-567.tar.gz) = 3239d9bb1e1e017be1ae12cff90802194b6e0312de628a1f324530b00b833018 +SIZE (mDNSResponder-567.tar.gz) = 2143110 Index: head/net/mDNSResponder/files/patch-mDNSPosix-Makefile =================================================================== --- head/net/mDNSResponder/files/patch-mDNSPosix-Makefile (revision 384779) +++ head/net/mDNSResponder/files/patch-mDNSPosix-Makefile (revision 384780) @@ -1,152 +1,152 @@ ---- mDNSPosix/Makefile.orig 2012-10-17 22:11:12 UTC +--- mDNSPosix/Makefile.orig 2015-03-04 03:09:18 UTC +++ mDNSPosix/Makefile @@ -54,8 +54,8 @@ COREDIR = ../mDNSCore SHAREDDIR ?= ../mDNSShared JDK = /usr/jdk -CC = @cc -BISON = @bison +CC ?= @cc +BISON = @yacc FLEX = @flex + ST = @strip LD = ld -shared - CP = cp -@@ -122,7 +122,7 @@ ifeq ($(os),freebsd) +@@ -123,7 +123,7 @@ ifeq ($(os),freebsd) # If not already defined, set LOCALBASE to /usr/local LOCALBASE?=/usr/local INSTBASE=$(LOCALBASE) -CFLAGS_OS = -DHAVE_IPV6 +CFLAGS_OS = -DHAVE_IPV6 -DTARGET_OS_FREEBSD # FreeBSD 4 requires threaded code to be compiled and linked using the "-pthread" option, # and requires that the "-lpthread" link option NOT be used # This appies only to FreeBSD -- "man cc" on FreeBSD says: -@@ -216,7 +216,7 @@ CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_OS) $ +@@ -217,7 +217,7 @@ CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_OS) $ all: setup Daemon libdns_sd Clients SAClient SAResponder SAProxyResponder Identify NetMonitor dnsextd $(OPTIONALTARG) -install: setup InstalledDaemon InstalledStartup InstalledLib InstalledManPages InstalledClients $(OPTINSTALL) +install: setup InstalledDaemon InstalledLib InstalledManPages InstalledClients $(OPTINSTALL) # 'setup' sets up the build directory structure the way we want setup: -@@ -256,13 +256,13 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$ +@@ -257,13 +257,13 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$ CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS) - @$(LD) $(LINKOPTS) -o $@ $+ + @$(CC) $(LINKOPTS) -shared -Wl,-soname=libdns_sd.$(LDSUFFIX).$(LIBVERS) -o $@ $+ @$(STRIP) $@ -Clients: setup libdns_sd ../Clients/build/dns-sd +Clients: ../Clients/build/dns-sd @echo "Clients done" -../Clients/build/dns-sd: +../Clients/build/dns-sd: setup libdns_sd @$(MAKE) -C ../Clients # nss_mdns target builds the Name Service Switch module -@@ -270,49 +270,49 @@ nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE +@@ -271,49 +271,49 @@ nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE @echo "Name Service Switch module done" $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o - @$(LD) $(LINKOPTS) -o $@ $+ + @$(CC) $(LINKOPTS) -shared -Wl,-soname=$(NSSLINKNAME) -o $@ $+ @$(STRIP) $@ ############################################################################# # The Install targets place built stuff in their proper places -InstalledDaemon: $(INSTBASE)/sbin/mdnsd +InstalledDaemon: $(DESTDIR)$(INSTBASE)/sbin/mdnsd @echo $+ " installed" -InstalledLib: $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX).$(LIBVERS) $(INSTBASE)/include/dns_sd.h +InstalledLib: $(DESTDIR)$(INSTBASE)/lib/libdns_sd.$(LDSUFFIX).$(LIBVERS) $(DESTDIR)$(INSTBASE)/include/dns_sd.h @echo $+ " installed" -InstalledStartup: $(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME) +InstalledStartup: $(DESTDIR)$(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME) @echo $+ " installed" -InstalledManPages: $(MANPATH)/man8/mdnsd.8 +InstalledManPages: $(DESTDIR)$(MANPATH)/man8/mdnsd.8 @echo $+ " installed" -InstalledClients: $(INSTBASE)/bin/dns-sd +InstalledClients: $(DESTDIR)$(INSTBASE)/bin/dns-sd @echo $+ " installed" -InstalledNSS: $(NSSINSTPATH)/$(NSSLINKNAME) /etc/nss_mdns.conf $(MANPATH)/man5/nss_mdns.conf.5 $(MANPATH)/man8/libnss_mdns.8 +InstalledNSS: $(DESTDIR)$(NSSINSTPATH)/$(NSSLINKNAME) /etc/nss_mdns.conf $(DESTDIR)$(MANPATH)/man5/nss_mdns.conf.5 $(DESTDIR)$(MANPATH)/man8/libnss_mdns.8 @echo $+ " installed" # Note: If daemon already installed, we make sure it's stopped before overwriting it -$(INSTBASE)/sbin/mdnsd: $(BUILDDIR)/mdnsd +$(DESTDIR)$(INSTBASE)/sbin/mdnsd: $(BUILDDIR)/mdnsd @if test -x $@; then $(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME) stop; fi $(CP) $< $@ -$(INSTBASE)/lib/libdns_sd.$(LDSUFFIX).$(LIBVERS): $(BUILDDIR)/libdns_sd.$(LDSUFFIX) +$(DESTDIR)$(INSTBASE)/lib/libdns_sd.$(LDSUFFIX).$(LIBVERS): $(BUILDDIR)/libdns_sd.$(LDSUFFIX) $(CP) $< $@ - $(LN) $@ $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX) + $(LN) libdns_sd.$(LDSUFFIX).$(LIBVERS) $(DESTDIR)$(INSTBASE)/lib/libdns_sd.$(LDSUFFIX) ifdef LDCONFIG # -m means 'merge into existing database', -R means 'rescan directories' $(LDCONFIG) -mR endif -$(INSTBASE)/include/dns_sd.h: $(SHAREDDIR)/dns_sd.h +$(DESTDIR)$(INSTBASE)/include/dns_sd.h: $(SHAREDDIR)/dns_sd.h $(CP) $< $@ # We make this target dependent on $(INSTBASE)/sbin/mdnsd because we need to ensure # that the daemon is installed *before* we try to execute the command to start it. -$(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME): mdnsd.sh $(STARTUPSCRIPTDIR) $(INSTBASE)/sbin/mdnsd +$(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME): mdnsd.sh $(STARTUPSCRIPTDIR) $(DESTDIR)$(INSTBASE)/sbin/mdnsd $(CP) $< $@ chmod ugo+x $@ $@ start -@@ -329,26 +329,26 @@ else +@@ -330,26 +330,26 @@ else endif endif -$(MANPATH)/man5/%.5: %.5 +$(DESTDIR)$(MANPATH)/man5/%.5: %.5 cp $< $@ chmod 444 $@ -$(MANPATH)/man8/%.8: %.8 +$(DESTDIR)$(MANPATH)/man8/%.8: %.8 cp $< $@ chmod 444 $@ -$(MANPATH)/man8/mdnsd.8: $(SHAREDDIR)/mDNSResponder.8 -+$(DESTDIR)$(MANPATH)/man8/mdnsd.8: $(SHAREDDIR)/mDNSResponder.8 ++$(DESTDIR)$(MANPATH)/man8/mdnsd.8: $(SHAREDDIR)/mDNSResponderPosix.8 cp $< $@ chmod 444 $@ -$(INSTBASE)/bin/dns-sd: ../Clients/build/dns-sd +$(DESTDIR)$(INSTBASE)/bin/dns-sd: ../Clients/build/dns-sd $(CP) $< $@ -$(NSSINSTPATH)/$(NSSLINKNAME): $(NSSINSTPATH)/$(NSSLIBFILE) +$(DESTDIR)$(NSSINSTPATH)/$(NSSLINKNAME): $(NSSINSTPATH)/$(NSSLIBFILE) $(LN) $< $@ ldconfig -$(NSSINSTPATH)/$(NSSLIBFILE): $(BUILDDIR)/$(NSSLIBFILE) +$(DESTDIR)$(NSSINSTPATH)/$(NSSLIBFILE): $(BUILDDIR)/$(NSSLIBFILE) $(CP) $< $@ chmod 444 $@ -@@ -490,6 +490,8 @@ $(OBJDIR)/NetMonitor.c.o: $(C +@@ -491,6 +491,8 @@ $(OBJDIR)/NetMonitor.c.o: $(C $(BUILDDIR)/dnsextd: $(DNSEXTDOBJ) $(OBJDIR)/dnsextd.c.threadsafe.o $(CC) $+ -o $@ $(LINKOPTS) $(LINKOPTS_PTHREAD) +$(OBJDIR)/dnsextd_lexer.l.o: $(OBJDIR)/dnsextd_parser.y.o + ############################################################################# # Implicit rules Index: head/net/mDNSResponder/files/patch-mDNSPosix-mDNSPosix.c =================================================================== --- head/net/mDNSResponder/files/patch-mDNSPosix-mDNSPosix.c (revision 384779) +++ head/net/mDNSResponder/files/patch-mDNSPosix-mDNSPosix.c (revision 384780) @@ -1,40 +1,40 @@ ---- mDNSPosix/mDNSPosix.c.orig 2012-04-18 07:01:01.000000000 +0800 -+++ mDNSPosix/mDNSPosix.c 2013-08-16 23:04:31.089791517 +0800 -@@ -503,6 +503,7 @@ +--- mDNSPosix/mDNSPosix.c.orig 2015-03-02 19:24:41 UTC ++++ mDNSPosix/mDNSPosix.c +@@ -516,6 +516,7 @@ mDNSexport int ParseDNSServers(mDNS *m, numOfServers++; } } + fclose(fp); return (numOfServers > 0) ? 0 : -1; } -@@ -708,7 +709,13 @@ +@@ -740,7 +741,13 @@ mDNSlocal int SetupSocket(struct sockadd { struct ipv6_mreq imr6; struct sockaddr_in6 bindAddr6; - #if defined(IPV6_PKTINFO) + #if defined(IPV6_RECVPKTINFO) + if (err == 0) + { + err = setsockopt(*sktPtr, IPPROTO_IPV6, IPV6_RECVPKTINFO, &kOn, sizeof(kOn)); + if (err < 0) { err = errno; perror("setsockopt - IPV6_RECVPKTINFO"); } + } + #elif defined(IPV6_PKTINFO) if (err == 0) { err = setsockopt(*sktPtr, IPPROTO_IPV6, IPV6_2292_PKTINFO, &kOn, sizeof(kOn)); -@@ -717,7 +724,13 @@ +@@ -749,7 +756,13 @@ mDNSlocal int SetupSocket(struct sockadd #else #warning This platform has no way to get the destination interface information for IPv6 -- will only work for single-homed hosts #endif - #if defined(IPV6_HOPLIMIT) + #if defined(IPV6_RECVHOPLIMIT) + if (err == 0) + { + err = setsockopt(*sktPtr, IPPROTO_IPV6, IPV6_RECVHOPLIMIT, &kOn, sizeof(kOn)); + if (err < 0) { err = errno; perror("setsockopt - IPV6_RECVHOPLIMIT"); } + } + #elif defined(IPV6_HOPLIMIT) if (err == 0) { err = setsockopt(*sktPtr, IPPROTO_IPV6, IPV6_2292_HOPLIMIT, &kOn, sizeof(kOn)); Index: head/net/mDNSResponder/files/patch-mDNSPosix-mDNSUNP.c =================================================================== --- head/net/mDNSResponder/files/patch-mDNSPosix-mDNSUNP.c (revision 384779) +++ head/net/mDNSResponder/files/patch-mDNSPosix-mDNSUNP.c (revision 384780) @@ -1,11 +1,11 @@ ---- mDNSPosix/mDNSUNP.c.orig 2011-12-02 01:39:45.000000000 +0100 -+++ mDNSPosix/mDNSUNP.c 2015-03-26 17:08:45.334715000 +0100 +--- mDNSPosix/mDNSUNP.c.orig 2011-12-02 00:39:45 UTC ++++ mDNSPosix/mDNSUNP.c @@ -449,6 +449,8 @@ struct ifi_info *get_ifi_info(int family ifi->ifi_netmask = (struct sockaddr*)calloc(1, sizeof(struct sockaddr_in6)); if (ifi->ifi_netmask == NULL) goto gotError; sinptr6 = (struct sockaddr_in6 *) &ifr6.ifr_ifru.ifru_addr; + /* SIOCGIFNETMASK_IN6 does not always set sin6_family */ + sinptr6->sin6_family = AF_INET6; memcpy(ifi->ifi_netmask, sinptr6, sizeof(struct sockaddr_in6)); } #endif