diff --git a/net/mDNSResponder/Makefile b/net/mDNSResponder/Makefile index 1c126f6b7240..34dad890bf47 100644 --- a/net/mDNSResponder/Makefile +++ b/net/mDNSResponder/Makefile @@ -1,50 +1,52 @@ PORTNAME= mDNSResponder -PORTVERSION= 1310.140.1 +PORTVERSION= 1790.80.10 CATEGORIES= net dns MASTER_SITES= https://opensource.apple.com/tarballs/mDNSResponder/ MAINTAINER= sunpoet@FreeBSD.org COMMENT= Bonjour (zero-configuration networking) by Apple -WWW= https://opensource.apple.com/tarballs/mDNSResponder/ +WWW= https://developer.apple.com/bonjour/ \ + https://github.com/apple-oss-distributions/mDNSResponder LICENSE= APACHE20 BSD3CLAUSE LICENSE_COMB= dual USES= compiler:c11 cpe gmake ALL_TARGET= all dnsextd BUILD_WRKSRC= ${WRKSRC}/mDNSPosix INSTALL_WRKSRC= ${WRKSRC}/mDNSPosix MAKE_ARGS= LDCONFIG=${TRUE} LOCALBASE=${PREFIX} MAN_PATH=${PREFIX}/share/man STRIP=${STRIP_CMD} os=freebsd MAKE_JOBS_UNSAFE= yes USE_LDCONFIG= yes USE_RC_SUBR= mdnsd mdnsresponderposix +WRKSRC= ${WRKDIR}/mDNSResponder-mDNSResponder-${PORTVERSION} CPE_VENDOR= apple EXTRA_BIN= mDNSClientPosix mDNSNetMonitor mDNSProxyResponderPosix mDNSResponderPosix EXTRA_MAN1= dns-sd.1 EXTRA_MAN8= dnsextd.8 mDNSResponderPosix.8 EXTRA_SBIN= dnsextd # lib/libdns_sd.so.1 sbin/mdnsd CONFLICTS_INSTALL= avahi-libdns openmdns OPTIONS_DEFINE= IPV6 post-patch: @${REINPLACE_CMD} -e '/^CFLAGS_DEBUG/ s|-Os|${CFLAGS}|' ${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-patch-IPV6-off: @${REINPLACE_CMD} -e '/^CFLAGS_OS/ s|-DHAVE_IPV6|-UHAVE_IPV6|' ${WRKSRC}/mDNSPosix/Makefile post-install: cd ${WRKSRC}/mDNSPosix/build/prod/ && ${INSTALL_PROGRAM} ${EXTRA_BIN} ${STAGEDIR}${PREFIX}/bin/ cd ${WRKSRC}/mDNSShared/ && ${INSTALL_MAN} ${EXTRA_MAN1} ${STAGEDIR}${PREFIX}/share/man/man1/ cd ${WRKSRC}/mDNSShared/ && ${INSTALL_MAN} ${EXTRA_MAN8} ${STAGEDIR}${PREFIX}/share/man/man8/ cd ${WRKSRC}/mDNSPosix/build/prod/ && ${INSTALL_PROGRAM} ${EXTRA_SBIN} ${STAGEDIR}${PREFIX}/sbin/ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/dns-sd .include diff --git a/net/mDNSResponder/distinfo b/net/mDNSResponder/distinfo index faabb32e885c..e01e9852eca3 100644 --- a/net/mDNSResponder/distinfo +++ b/net/mDNSResponder/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1632227472 -SHA256 (mDNSResponder-1310.140.1.tar.gz) = 040f6495c18b9f0557bcf9e00cbcfc82b03405f5ba6963dc147730ca0ca90d6f -SIZE (mDNSResponder-1310.140.1.tar.gz) = 2631247 +TIMESTAMP = 1679498540 +SHA256 (mDNSResponder-1790.80.10.tar.gz) = ffb990231639dfe8c7f0b15d0665206a9013f1aacfb2cbb934eb87f6a57f38b7 +SIZE (mDNSResponder-1790.80.10.tar.gz) = 2989629 diff --git a/net/mDNSResponder/files/patch-Clients-dns-sd.c b/net/mDNSResponder/files/patch-Clients-dns-sd.c deleted file mode 100644 index 54a373644e53..000000000000 --- a/net/mDNSResponder/files/patch-Clients-dns-sd.c +++ /dev/null @@ -1,16 +0,0 @@ ---- Clients/dns-sd.c.orig 2021-01-26 20:47:47 UTC -+++ Clients/dns-sd.c -@@ -58,11 +58,13 @@ - //#define TEST_NEW_CLIENTSTUB 1 - - #include -+#include // For va_list - #include // For stdout, stderr - #include // For exit() - #include // For strlen(), strcpy() - #include // For errno, EINTR - #include -+#include // For MIN - #include // For u_char - #ifdef APPLE_OSX_mDNSResponder - #include // For PRId64 diff --git a/net/mDNSResponder/files/patch-mDNSCore-mDNS.c b/net/mDNSResponder/files/patch-mDNSCore-mDNS.c deleted file mode 100644 index 3fe093e1ec49..000000000000 --- a/net/mDNSResponder/files/patch-mDNSCore-mDNS.c +++ /dev/null @@ -1,10 +0,0 @@ ---- mDNSCore/mDNS.c.orig 2019-07-20 09:39:10 UTC -+++ mDNSCore/mDNS.c -@@ -23,6 +23,7 @@ - * routines, or types (which may or may not be present on any given platform). - */ - -+#include - #include "DNSCommon.h" // Defines general DNS utility routines - #include "uDNS.h" // Defines entry points into unicast-specific routines - #include "nsec.h" diff --git a/net/mDNSResponder/files/patch-mDNSPosix-Makefile b/net/mDNSResponder/files/patch-mDNSPosix-Makefile index 8d970dd1166c..3da6d455e4dd 100644 --- a/net/mDNSResponder/files/patch-mDNSPosix-Makefile +++ b/net/mDNSResponder/files/patch-mDNSPosix-Makefile @@ -1,114 +1,114 @@ ---- mDNSPosix/Makefile.orig 2020-01-31 03:01:55 UTC +--- mDNSPosix/Makefile.orig 2023-01-24 00:43:17 UTC +++ mDNSPosix/Makefile -@@ -62,8 +62,8 @@ else ifeq ($(SYSTEM), Linux) +@@ -53,8 +53,8 @@ else ifeq ($(SYSTEM), Linux) os=linux endif -CC = cc -BISON = bison +CC ?= cc +BISON = yacc FLEX = flex ST = strip LD = ld -@@ -144,9 +144,9 @@ else +@@ -135,9 +135,9 @@ else ifeq ($(os),freebsd) # If not already defined, set LOCALBASE to /usr/local -LOCALBASE?=/usr/local -INSTBASE=$(LOCALBASE) -CFLAGS_OS = -DHAVE_IPV6 +LOCALBASE ?= /usr/local +INSTBASE ?= $(DESTDIR)$(LOCALBASE) +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: -@@ -211,11 +211,12 @@ endif +@@ -202,11 +202,12 @@ endif endif # If directory /usr/share/man exists, then we install man pages into that, else /usr/man -ifeq ($(wildcard /usr/share/man), /usr/share/man) -MANPATH := /usr/share/man -else -MANPATH := /usr/man -endif +#ifeq ($(wildcard /usr/share/man), /usr/share/man) +#MANPATH := /usr/share/man +#else +#MANPATH := /usr/man +#endif +MANPATH := $(DESTDIR)$(MAN_PATH) # If directories /etc/init.d/rc*.d exist, then we install into that (Suse) ifeq ($(wildcard /etc/init.d/rc2.d/), /etc/init.d/rc2.d/) -@@ -244,7 +245,7 @@ MDNSCFLAGS = $(CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_OS) $ +@@ -235,7 +236,7 @@ MDNSCFLAGS = $(CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_OS) $ all: setup Daemon libdns_sd Clients SAClient SAResponder SAProxyResponder NetMonitor $(OPTIONALTARG) -install: setup InstalledStartup InstalledDaemon InstalledLib InstalledManPages InstalledClients $(OPTINSTALL) +install: setup InstalledDaemon InstalledLib InstalledManPages InstalledClients $(OPTINSTALL) # 'setup' sets up the build directory structure the way we want setup: -@@ -286,13 +287,13 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) - CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o +@@ -276,13 +277,13 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) + CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o $(OBJDIR)/dnssd_errstring.c.so.o $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS) - $(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+ + $(CC) $(SOOPTS) $(LINKOPTS) -Wl,-soname=libdns_sd.$(LDSUFFIX).$(LIBVERS) -o $@ $+ $(STRIP) $@ -Clients: setup libdns_sd ../Clients/build/dns-sd +Clients: setup ../Clients/build/dns-sd @echo "Clients done" -../Clients/build/dns-sd: ../Clients/dns-sd.c +../Clients/build/dns-sd: setup libdns_sd ../Clients/dns-sd.c $(MAKE) -C ../Clients DEBUG=$(DEBUG) SUPMAKE_CFLAGS="$(MDNSCFLAGS)" # nss_mdns target builds the Name Service Switch module -@@ -300,7 +301,7 @@ nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE) +@@ -290,7 +291,7 @@ nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE) @echo "Name Service Switch module done" $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o - $(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+ + $(CC) $(SOOPTS) $(LINKOPTS) -Wl,-soname=$(NSSLINKNAME) -o $@ $+ $(STRIP) $@ ############################################################################# -@@ -325,14 +326,12 @@ InstalledNSS: $(NSSINSTPATH)/$(NSSLINKNAME) /etc/nss_m +@@ -315,14 +316,12 @@ InstalledNSS: $(NSSINSTPATH)/$(NSSLINKNAME) /etc/nss_m @echo $+ " installed" # Note: If daemon already installed, we make sure it's stopped before overwriting it -$(INSTBASE)/sbin/mdnsd: $(BUILDDIR)/mdnsd $(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME) - if test -x $@; then $(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME) stop; fi +$(INSTBASE)/sbin/mdnsd: $(BUILDDIR)/mdnsd $(CP) $< $@ - $(STARTUPSCRIPTDIR)/$(STARTUPSCRIPTNAME) start $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX).$(LIBVERS): $(BUILDDIR)/libdns_sd.$(LDSUFFIX) $(CP) $< $@ - $(LN) $@ $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX) + $(LN) $(notdir $@) $(INSTBASE)/lib/libdns_sd.$(LDSUFFIX) ifdef LDCONFIG # -m means 'merge into existing database', -R means 'rescan directories' $(LDCONFIG) -mR -@@ -365,7 +364,7 @@ $(MANPATH)/man8/%.8: %.8 +@@ -355,7 +354,7 @@ $(MANPATH)/man8/%.8: %.8 cp $< $@ chmod 444 $@ -$(MANPATH)/man8/mdnsd.8: $(SHAREDDIR)/mDNSResponder.8 +$(MANPATH)/man8/mdnsd.8: $(SHAREDDIR)/mDNSResponderPosix.8 cp $< $@ chmod 444 $@ -@@ -509,6 +508,8 @@ $(OBJDIR)/NetMonitor.c.o: $(COREDIR)/mDNS.c +@@ -500,6 +499,8 @@ $(OBJDIR)/NetMonitor.c.o: $(COREDIR)/mDNS.c $(BUILDDIR)/dnsextd: $(DNSEXTDOBJ) $(OBJDIR)/dnsextd.c.threadsafe.o $(CC) $+ -o $@ $(LINKOPTS) $(LINKOPTS_PTHREAD) + +$(OBJDIR)/dnsextd_lexer.l.o: $(OBJDIR)/dnsextd_parser.y.o ############################################################################# diff --git a/net/mDNSResponder/files/patch-mDNSPosix-mDNSPosix.c b/net/mDNSResponder/files/patch-mDNSPosix-mDNSPosix.c deleted file mode 100644 index 63f5f505ab66..000000000000 --- a/net/mDNSResponder/files/patch-mDNSPosix-mDNSPosix.c +++ /dev/null @@ -1,42 +0,0 @@ ---- mDNSPosix/mDNSPosix.c.orig 2019-06-27 09:29:40 UTC -+++ mDNSPosix/mDNSPosix.c -@@ -971,7 +971,7 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, m - // to bind to the socket. Our suggestion was to switch the order in which - // SO_REUSEPORT and SO_REUSEADDR was tested so that SO_REUSEADDR stays on - // top and SO_REUSEPORT to be used only if SO_REUSEADDR doesn't exist. -- #if defined(SO_REUSEADDR) && !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) -+ #if defined(SO_REUSEADDR) && !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && !defined(__FreeBSD__) - err = setsockopt(*sktPtr, SOL_SOCKET, SO_REUSEADDR, &kOn, sizeof(kOn)); - #elif defined(SO_REUSEPORT) - err = setsockopt(*sktPtr, SOL_SOCKET, SO_REUSEPORT, &kOn, sizeof(kOn)); -@@ -1074,16 +1074,28 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, m - { - 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)); - if (err < 0) { err = errno; perror("setsockopt - IPV6_PKTINFO"); } - } - #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)); diff --git a/net/mDNSResponder/files/patch-mDNSShared-PlatformCommon.c b/net/mDNSResponder/files/patch-mDNSShared-PlatformCommon.c deleted file mode 100644 index eccf1e2212b5..000000000000 --- a/net/mDNSResponder/files/patch-mDNSShared-PlatformCommon.c +++ /dev/null @@ -1,53 +0,0 @@ ---- mDNSShared/PlatformCommon.c.orig 2019-06-27 09:29:40 UTC -+++ mDNSShared/PlatformCommon.c -@@ -335,7 +335,9 @@ mDNSexport mDNSBool mDNSPosixTCPSocketSetup(int *fd, m - int sa_family = (addrType == mDNSAddrType_IPv4) ? AF_INET : AF_INET6; - int err; - int sock; -+#if !defined(TARGET_OS_FREEBSD) - mDNSu32 lowWater = 15384; -+#endif - - sock = socket(sa_family, SOCK_STREAM, IPPROTO_TCP); - if (sock < 3) -@@ -398,12 +400,14 @@ mDNSexport mDNSBool mDNSPosixTCPSocketSetup(int *fd, m - if (port) - port->NotAnInteger = outTcpPort->NotAnInteger; - -+#if !defined(TARGET_OS_FREEBSD) - err = setsockopt(sock, IPPROTO_TCP, TCP_NOTSENT_LOWAT, &lowWater, sizeof lowWater); - if (err < 0) - { - LogMsg("mDNSPosixTCPSocketSetup: TCP_NOTSENT_LOWAT failed: %s", strerror(errno)); - return mDNSfalse; - } -+#endif - - return mDNStrue; - } -@@ -426,7 +430,9 @@ mDNSexport TCPSocket *mDNSPosixDoTCPListenCallback(int - int failed; - char *nbp; - int i; -+#if !defined(TARGET_OS_FREEBSD) - mDNSu32 lowWater = 16384; -+#endif - // When we remember our connection, we remember a name that we can print for logging. But - // since we are the listener in this case, we don't /have/ a name for it. This buffer - // is used to print the IP address into a human readable string which will serve that purpose -@@ -448,6 +454,7 @@ mDNSexport TCPSocket *mDNSPosixDoTCPListenCallback(int - goto out; - } - -+#if !defined(TARGET_OS_FREEBSD) - failed = setsockopt(remoteSock, IPPROTO_TCP, TCP_NOTSENT_LOWAT, - &lowWater, sizeof lowWater); - if (failed < 0) -@@ -456,6 +463,7 @@ mDNSexport TCPSocket *mDNSPosixDoTCPListenCallback(int - LogMsg("mDNSPosixDoTCPListenCallback: TCP_NOTSENT_LOWAT returned %d", errno); - goto out; - } -+#endif - - if (address.sa.sa_family == AF_INET6) - { diff --git a/net/mDNSResponder/files/patch-mDNSShared-dnsextd_lexer.l b/net/mDNSResponder/files/patch-mDNSShared-dnsextd_lexer.l deleted file mode 100644 index fe64231f18c4..000000000000 --- a/net/mDNSResponder/files/patch-mDNSShared-dnsextd_lexer.l +++ /dev/null @@ -1,15 +0,0 @@ ---- mDNSShared/dnsextd_lexer.l.orig 2016-03-11 09:47:07 UTC -+++ mDNSShared/dnsextd_lexer.l -@@ -23,6 +23,12 @@ - - extern YYSTYPE yylval; - -+#if !defined YYSTYPE_yylineno -+#if YY_FLEX_MAJOR_VERSION <= 2 && YY_FLEX_MINOR_VERSION <= 5 && YY_FLEX_SUBMINOR_VERSION <= 4 -+int yylineno = 1; -+#endif -+#endif -+ - #define YY_NO_INPUT 1 - int yylex(void); - diff --git a/net/mDNSResponder/files/patch-mDNSShared-uds_daemon.c b/net/mDNSResponder/files/patch-mDNSShared-uds_daemon.c new file mode 100644 index 000000000000..aad8d5f6b5a4 --- /dev/null +++ b/net/mDNSResponder/files/patch-mDNSShared-uds_daemon.c @@ -0,0 +1,11 @@ +--- mDNSShared/uds_daemon.c.orig 2023-01-24 00:43:17 UTC ++++ mDNSShared/uds_daemon.c +@@ -2913,7 +2913,7 @@ exit: + mDNSlocal mStatus add_domain_to_browser(request_state *info, const domainname *d) + { + browser_t *b, *p; +- __block mStatus err; ++ mStatus err; + + for (p = info->u.browser.browsers; p; p = p->next) + { diff --git a/net/mDNSResponder/pkg-descr b/net/mDNSResponder/pkg-descr index 808c3b37406e..073cb40b776a 100644 --- a/net/mDNSResponder/pkg-descr +++ b/net/mDNSResponder/pkg-descr @@ -1,10 +1,8 @@ Bonjour, also known as zero-configuration networking, enables automatic discovery of devices and services on a local network using industry standard IP protocols. Bonjour makes it easy to discover, publish, and resolve network services with a sophisticated, yet easy-to-use, programming interface that is accessible from Cocoa, Ruby, Python, and other languages. The mDNSResponder project is a component of Bonjour, Apple's ease-of-use IP networking initiative. - -See also: https://developer.apple.com/bonjour/