diff --git a/net/openmdns/Makefile b/net/openmdns/Makefile index 2134d392129f..95dd599faef2 100644 --- a/net/openmdns/Makefile +++ b/net/openmdns/Makefile @@ -1,51 +1,51 @@ PORTNAME= openmdns DISTVERSION= 0.7 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= net MAINTAINER= ports@FreeBSD.org COMMENT= Multicast DNS and Service Discovery daemon LICENSE= ISCL USE_GITHUB= yes GH_ACCOUNT= haesbaert GH_PROJECT= mdnsd CONFLICTS_INSTALL= mDNSResponder # sbin/mdnsd USES= localbase uidfix USE_RC_SUBR= mdnsd MAKE_ENV= LDADD="${LIBS}" MAKE_ARGS= BINDIR="${PREFIX}/sbin" \ MANDIR="${PREFIX}/share/man/man" CFLAGS+= -D__dead=__dead2 LDFLAGS+= -Wl,--as-needed # -lutil LIBS+= -lopenbsd SUB_LIST= COMMENT="${COMMENT}" PLIST_FILES= sbin/mdnsctl \ sbin/mdnsd \ share/man/man8/mdnsctl.8.gz \ share/man/man8/mdnsd.8.gz PORTDOCS= * USERS= _mdnsd GROUPS= _mdnsd OPTIONS_DEFINE= DOCS STATIC STATIC_BUILD_DEPENDS= ${LOCALBASE}/lib/libevent.a:devel/libevent \ ${LOCALBASE}/lib/libopenbsd.a:devel/libopenbsd STATIC_MAKE_ENV= NO_SHARED=1 STATIC_LIB_DEPENDS_OFF= libevent.so:devel/libevent \ libopenbsd.so:devel/libopenbsd post-patch: # warning: duplicate script for target "maninstall" ignored @${REINPLACE_CMD} '/bsd\.man\.mk/d' ${WRKSRC}/*/Makefile post-install-DOCS-on: (cd ${WRKSRC}/docs && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}) ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR} .include diff --git a/net/openmdns/files/patch-mdnsd_mdns.c b/net/openmdns/files/patch-mdnsd_mdns.c index 51033c03b314..319ad7069259 100644 --- a/net/openmdns/files/patch-mdnsd_mdns.c +++ b/net/openmdns/files/patch-mdnsd_mdns.c @@ -1,12 +1,42 @@ --- mdnsd/mdns.c.orig 2017-03-10 09:24:12 UTC +++ mdnsd/mdns.c @@ -45,6 +45,9 @@ extern struct mdnsd_conf *conf; struct question_tree question_tree; struct cache_tree cache_tree; +pg_q pg_queue; +pge_q pge_queue; + /* * RR cache */ +@@ -155,8 +158,10 @@ cache_process(struct rr *rr) + /* TODO Cancel possible deletion */ + log_warnx("cache_process: recover %s", + rrs_str(&rr->rrs)); ++ free(rr); + return (0); + } ++ free(rr); + return (0); + } + /* +@@ -186,14 +191,17 @@ cache_process(struct rr *rr) + rr_aux->ttl = rr->ttl; + rr_aux->revision = 0; + cache_schedrev(rr_aux); ++ free(rr); + + return (0); + } + } + } + /* Got a goodbye for a record we don't have */ +- if (rr->ttl == 0) ++ if (rr->ttl == 0) { ++ free(rr); + return (0); ++ } + + return (cache_insert(rr)); + }