diff --git a/net/mdnsresponder/Makefile b/net/mdnsresponder/Makefile index 72d01aa3f..2b2660a5e 100644 --- a/net/mdnsresponder/Makefile +++ b/net/mdnsresponder/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mDNSResponder -PKG_VERSION:=576.30.4 -PKG_RELEASE:=2 +PKG_VERSION:=878.70.2 +PKG_RELEASE:=1 PKG_SOURCE:=mDNSResponder-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://opensource.apple.com/tarballs/mDNSResponder/ -PKG_HASH:=4737cb51378377e11d0edb7bcdd1bec79cbdaa7b27ea09c13e3006e58f8d92c0 +PKG_HASH:=cdd03171ca05f16ea987bba1f8b0c4847d3035283ea0f5fa0ade75f64ec83ed5 PKG_MAINTAINER:=Steven Barth PKG_LICENSE:=Apache-2.0 diff --git a/net/mdnsresponder/patches/001-cross_compile.patch b/net/mdnsresponder/patches/001-cross_compile.patch index b1685fc45..aa90eb98b 100644 --- a/net/mdnsresponder/patches/001-cross_compile.patch +++ b/net/mdnsresponder/patches/001-cross_compile.patch @@ -48,8 +48,8 @@ LINKOPTS = -lsocket -lnsl -lresolv JAVACFLAGS_OS += -I$(JDK)/include/solaris ifneq ($(DEBUG),1) -@@ -148,7 +149,8 @@ CFLAGS_OS = -DHAVE_IPV6 -no-cpp-precomp - -D__MAC_OS_X_VERSION_MIN_REQUIRED=__MAC_OS_X_VERSION_10_4 \ +@@ -149,7 +150,8 @@ -D__MAC_OS_X_VERSION_MIN_REQUIRED=__MAC_OS_X_VERSION_10_4 \ + -DHAVE_STRLCPY=1 \ -D__APPLE_USE_RFC_2292 #-Wunreachable-code CC = gcc -LD = $(CC) -dynamiclib @@ -58,7 +58,7 @@ LINKOPTS = -lSystem LDSUFFIX = dylib JDK = /System/Library/Frameworks/JavaVM.framework/Home -@@ -170,8 +172,9 @@ NSSLIBFILE := $(NSSLIBNAME)-$(NSSVERSIO +@@ -172,8 +174,9 @@ NSSLIBFILE := $(NSSLIBNAME)-$(NSSVERSIO NSSLINKNAME := $(NSSLIBNAME).so.2 NSSINSTPATH := /lib @@ -69,7 +69,7 @@ INSTBASE?=/usr STARTUPSCRIPTNAME?=mdns -@@ -257,7 +260,7 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$ +@@ -259,7 +262,7 @@ 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) @@ -78,7 +78,7 @@ @$(STRIP) $@ Clients: setup libdns_sd ../Clients/build/dns-sd -@@ -292,7 +295,7 @@ InstalledManPages: $(MANPATH)/man8/mdnsd +@@ -294,7 +297,7 @@ InstalledManPages: $(MANPATH)/man8/mdnsd InstalledClients: $(INSTBASE)/bin/dns-sd @echo $+ " installed" @@ -112,4 +112,3 @@ + -[ -f $(ETCBASE)/nsswitch.conf ] && sed -e '/mdns/!s/^\(hosts:.*\)dns\(.*\)/\1mdns dns\2/' $(ETCBASE)/nsswitch.conf.pre-mdns > $(ETCBASE)/nsswitch.conf ############################################################################# - diff --git a/net/mdnsresponder/patches/100-linux_fixes.patch b/net/mdnsresponder/patches/100-linux_fixes.patch index 974588d20..998c241c5 100644 --- a/net/mdnsresponder/patches/100-linux_fixes.patch +++ b/net/mdnsresponder/patches/100-linux_fixes.patch @@ -1,10 +1,5 @@ ---- /dev/null -+++ b/.gitignore -@@ -0,0 +1,4 @@ -+Clients/build -+mDNSPosix/build -+mDNSPosix/objects -+ +diff --git a/Clients/Makefile b/Clients/Makefile +index 383af31..925c20e 100755 --- a/Clients/Makefile +++ b/Clients/Makefile @@ -36,7 +36,7 @@ TARGETS = build/dns-sd build/dns-sd64 @@ -16,6 +11,8 @@ endif all: $(TARGETS) +diff --git a/mDNSPosix/PosixDaemon.c b/mDNSPosix/PosixDaemon.c +index 88b3292..e86a6c7 100644 --- a/mDNSPosix/PosixDaemon.c +++ b/mDNSPosix/PosixDaemon.c @@ -37,6 +37,11 @@ @@ -81,50 +78,11 @@ if (mStatus_NoError == err) err = MainLoop(&mDNSStorage); ---- a/mDNSPosix/Responder.c -+++ b/mDNSPosix/Responder.c -@@ -603,7 +603,8 @@ static mStatus RegisterServicesInFile(co - status = mStatus_UnknownErr; - } - -- assert(0 == fclose(fp)); -+ int rv = fclose(fp); -+ assert(0 == rv); - - return status; - } +diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c +index 6effa12..7c1d6eb 100755 --- a/mDNSPosix/mDNSPosix.c +++ b/mDNSPosix/mDNSPosix.c -@@ -138,7 +138,7 @@ mDNSlocal void SockAddrTomDNSAddr(const - - // mDNS core calls this routine when it needs to send a packet. - mDNSexport mStatus mDNSPlatformSendUDP(const mDNS *const m, const void *const msg, const mDNSu8 *const end, -- mDNSInterfaceID InterfaceID, UDPSocket *src, const mDNSAddr *dst, -+ mDNSInterfaceID InterfaceID, UDPSocket *src, const mDNSAddr *dst, - mDNSIPPort dstPort, mDNSBool useBackgroundTrafficClass) - { - int err = 0; -@@ -583,9 +583,17 @@ mDNSlocal void FreePosixNetworkInterface - { - assert(intf != NULL); - if (intf->intfName != NULL) free((void *)intf->intfName); -- if (intf->multicastSocket4 != -1) assert(close(intf->multicastSocket4) == 0); -+ if (intf->multicastSocket4 != -1) -+ { -+ int rv = close(intf->multicastSocket4); -+ assert(rv == 0); -+ } - #if HAVE_IPV6 -- if (intf->multicastSocket6 != -1) assert(close(intf->multicastSocket6) == 0); -+ if (intf->multicastSocket6 != -1) -+ { -+ int rv = close(intf->multicastSocket6); -+ assert(rv == 0); -+ } - #endif - - // Move interface to the RecentInterfaces list for a minute -@@ -724,6 +732,29 @@ mDNSlocal int SetupSocket(struct sockadd +@@ -733,6 +741,29 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf if (err < 0) { err = errno; perror("setsockopt - IP_MULTICAST_TTL"); } } @@ -154,7 +112,7 @@ // And start listening for packets if (err == 0) { -@@ -805,6 +836,29 @@ mDNSlocal int SetupSocket(struct sockadd +@@ -814,6 +845,29 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf if (err < 0) { err = errno; perror("setsockopt - IPV6_MULTICAST_HOPS"); } } @@ -184,21 +142,7 @@ // And start listening for packets if (err == 0) { -@@ -836,7 +890,12 @@ mDNSlocal int SetupSocket(struct sockadd - } - - // Clean up -- if (err != 0 && *sktPtr != -1) { assert(close(*sktPtr) == 0); *sktPtr = -1; } -+ if (err != 0 && *sktPtr != -1) -+ { -+ int rv = close(*sktPtr); -+ assert(rv == 0); -+ *sktPtr = -1; -+ } - assert((err == 0) == (*sktPtr != -1)); - return err; - } -@@ -942,19 +1001,14 @@ mDNSlocal int SetupInterfaceList(mDNS *c +@@ -958,19 +1017,14 @@ mDNSlocal int SetupInterfaceList(mDNS *const m) int err = 0; struct ifi_info *intfList = get_ifi_info(AF_INET, mDNStrue); struct ifi_info *firstLoopback = NULL; @@ -221,7 +165,7 @@ #endif if (err == 0) -@@ -1030,7 +1084,7 @@ mDNSlocal mStatus OpenIfNotifySocket(int +@@ -1046,7 +1100,7 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD) /* Subscribe the socket to Link & IP addr notifications. */ mDNSPlatformMemZero(&snl, sizeof snl); snl.nl_family = AF_NETLINK; @@ -230,7 +174,7 @@ ret = bind(sock, (struct sockaddr *) &snl, sizeof snl); if (0 == ret) *pFD = sock; -@@ -1108,11 +1162,18 @@ mDNSlocal mDNSu32 ProcessRoutingNo +@@ -1124,11 +1178,18 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd) PrintNetLinkMsg(pNLMsg); #endif @@ -251,7 +195,7 @@ // Advance pNLMsg to the next message in the buffer if ((pNLMsg->nlmsg_flags & NLM_F_MULTI) != 0 && pNLMsg->nlmsg_type != NLMSG_DONE) -@@ -1283,8 +1344,12 @@ mDNSexport mStatus mDNSPlatformInit(mDNS +@@ -1299,8 +1360,12 @@ mDNSexport mStatus mDNSPlatformInit(mDNS *const m) if (err == mStatus_NoError) err = SetupSocket(&sa, zeroIPPort, 0, &m->p->unicastSocket6); #endif @@ -264,43 +208,8 @@ // Tell mDNS core about DNS Servers mDNS_Lock(m); -@@ -1317,9 +1382,17 @@ mDNSexport void mDNSPlatformClose(mDNS * - { - assert(m != NULL); - ClearInterfaceList(m); -- if (m->p->unicastSocket4 != -1) assert(close(m->p->unicastSocket4) == 0); -+ if (m->p->unicastSocket4 != -1) -+ { -+ int rv = close(m->p->unicastSocket4); -+ assert(rv == 0); -+ } - #if HAVE_IPV6 -- if (m->p->unicastSocket6 != -1) assert(close(m->p->unicastSocket6) == 0); -+ if (m->p->unicastSocket6 != -1) -+ { -+ int rv = close(m->p->unicastSocket6); -+ assert(rv == 0); -+ } - #endif - } - -@@ -1575,14 +1648,14 @@ mDNSexport mStatus mDNSPlatformClearS - mDNSexport mDNSu16 mDNSPlatformGetUDPPort(UDPSocket *sock) - { - (void) sock; // unused -- -+ - return (mDNSu16)-1; - } - - mDNSexport mDNSBool mDNSPlatformInterfaceIsD2D(mDNSInterfaceID InterfaceID) - { - (void) InterfaceID; // unused -- -+ - return mDNSfalse; - } - +diff --git a/mDNSPosix/mDNSUNP.c b/mDNSPosix/mDNSUNP.c +index b392fc7..f551ad5 100755 --- a/mDNSPosix/mDNSUNP.c +++ b/mDNSPosix/mDNSUNP.c @@ -63,6 +63,7 @@ @@ -311,16 +220,16 @@ /* Converts a prefix length to IPv6 network mask */ void plen_to_mask(int plen, char *addr) { -@@ -86,7 +87,7 @@ struct ifi_info *get_ifi_info_linuxv6(in - FILE *fp; +@@ -86,7 +87,7 @@ struct ifi_info *get_ifi_info_linuxv6(int family, int doaliases) + FILE *fp = NULL; char addr[8][5]; int flags, myflags, index, plen, scope; - char ifname[9], lastname[IFNAMSIZ]; + char ifname[IFNAMSIZ], lastname[IFNAMSIZ]; char addr6[32+7+1]; /* don't forget the seven ':' */ struct addrinfo hints, *res0; - struct sockaddr_in6 *sin6; -@@ -94,7 +95,8 @@ struct ifi_info *get_ifi_info_linuxv6(in + int err; +@@ -92,7 +93,8 @@ struct ifi_info *get_ifi_info_linuxv6(int family, int doaliases) int err; int sockfd = -1; struct ifreq ifr; @@ -330,7 +239,7 @@ res0=NULL; ifihead = NULL; ifipnext = &ifihead; -@@ -106,11 +108,12 @@ struct ifi_info *get_ifi_info_linuxv6(in +@@ -104,11 +106,12 @@ struct ifi_info *get_ifi_info_linuxv6(int family, int doaliases) goto gotError; } while (fscanf(fp, @@ -344,19 +253,8 @@ myflags = 0; if (strncmp(lastname, ifname, IFNAMSIZ) == 0) { if (doaliases == 0) -@@ -204,8 +207,11 @@ gotError: - res0=NULL; - } - done: -+ if (fp) -+ fclose(fp); - if (sockfd != -1) { -- assert(close(sockfd) == 0); -+ int rv = close(sockfd); -+ assert(rv == 0); - } - return(ifihead); /* pointer to first structure in linked list */ - } +diff --git a/mDNSShared/dnsextd_parser.y b/mDNSShared/dnsextd_parser.y +index 18c5990..d4b63ce 100644 --- a/mDNSShared/dnsextd_parser.y +++ b/mDNSShared/dnsextd_parser.y @@ -15,6 +15,8 @@ @@ -377,7 +275,7 @@ int yylex(void); -@@ -378,7 +380,7 @@ int yywrap(void); +@@ -409,7 +419,7 @@ int yywrap(void); extern int yylineno; diff --git a/net/mdnsresponder/patches/114-fix_posix_build.patch b/net/mdnsresponder/patches/114-fix_posix_build.patch deleted file mode 100644 index d3fbae5f5..000000000 --- a/net/mdnsresponder/patches/114-fix_posix_build.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/mDNSPosix/mDNSPosix.c -+++ b/mDNSPosix/mDNSPosix.c -@@ -1673,7 +1673,7 @@ mDNSexport mDNSs32 mDNSPlatformGetServic - return -1; - } - --mDNSexport void mDNSPlatformSetDelegatePID(UDPSocket *src, const mDNSAddr *dst, DNSQuestion *q) -+mDNSexport void mDNSPlatformSetuDNSSocktOpt(UDPSocket *src, const mDNSAddr *dst, DNSQuestion *q) - { - (void) src; - (void) dst; diff --git a/net/mdnsresponder/patches/120-reproducible-builds.patch b/net/mdnsresponder/patches/120-reproducible-builds.patch index b1e7caa4f..611187676 100644 --- a/net/mdnsresponder/patches/120-reproducible-builds.patch +++ b/net/mdnsresponder/patches/120-reproducible-builds.patch @@ -1,6 +1,6 @@ --- a/Clients/dns-sd.c +++ b/Clients/dns-sd.c -@@ -1811,7 +1811,7 @@ Fail: +@@ -2288,7 +2288,7 @@ Fail: // NOT static -- otherwise the compiler may optimize it out // The "@(#) " pattern is a special prefix the "what" command looks for @@ -11,7 +11,7 @@ // If the process crashes, then this string will be magically included in the automatically-generated crash log --- a/mDNSPosix/PosixDaemon.c +++ b/mDNSPosix/PosixDaemon.c -@@ -289,9 +289,9 @@ asm (".desc ___crashreporter_info__, 0x1 +@@ -290,9 +290,9 @@ asm (".desc ___crashreporter_info__, 0x1 // For convenience when using the "strings" command, this is the last thing in the file #if mDNSResponderVersion > 1 @@ -33,7 +33,7 @@ +const char VersionString_SCCS[] = "@(#) libjdns_sd " STRINGIFY(mDNSResponderVersion); --- a/mDNSShared/dnsextd.c +++ b/mDNSShared/dnsextd.c -@@ -3141,7 +3141,7 @@ mDNS mDNSStorage; +@@ -3136,7 +3136,7 @@ mDNS mDNSStorage; // For convenience when using the "strings" command, this is the last thing in the file // The "@(#) " pattern is a special prefix the "what" command looks for