aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2020-09-07 18:08:32 +0000
committerXin LI <delphij@FreeBSD.org>2020-09-07 18:08:32 +0000
commit06884a22870be147a069c54850b64bf1bdff174d (patch)
tree7c8b79969888d4e28525eff298256cd60bfbea8f
parent22d9b1f92ff6ca4f5c7b6ca91bd536c29e766aa0 (diff)
downloadports-06884a22870be147a069c54850b64bf1bdff174d.tar.gz
ports-06884a22870be147a069c54850b64bf1bdff174d.zip
MFH: r545507, r546343, r546946, r547867:
net/mpd5: import r2272 from upstream net/mpd5: improve logging in rare case of libpdel failure. net/mpd5: remove required_files from startup script net/mpd5: update to version 5.9 Approved by: ports-secteam Security: CVE-2020-7465, CVE-2020-7466
Notes
Notes: svn path=/branches/2020Q3/; revision=547914
-rw-r--r--net/mpd5/Makefile5
-rw-r--r--net/mpd5/distinfo5
-rw-r--r--net/mpd5/files/extra-patch-no-ng_ipacct10
-rw-r--r--net/mpd5/files/mpd5.in1
-rw-r--r--net/mpd5/files/patch-configure23
-rw-r--r--net/mpd5/files/patch-console.c76
-rw-r--r--net/mpd5/files/patch-fixbuffer158
-rw-r--r--net/mpd5/files/patch-fixstats30
-rw-r--r--net/mpd5/files/patch-mtu-override121
-rw-r--r--net/mpd5/files/patch-src-Makefile279
-rw-r--r--net/mpd5/files/patch-src_pppoe.c126
11 files changed, 5 insertions, 829 deletions
diff --git a/net/mpd5/Makefile b/net/mpd5/Makefile
index 6551d7ce907c..37c7cbdcd502 100644
--- a/net/mpd5/Makefile
+++ b/net/mpd5/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= mpd
-DISTVERSION= 5.8
-PORTREVISION= 10
+DISTVERSION= 5.9
CATEGORIES= net
MASTER_SITES= SF/${PORTNAME}/Mpd5/Mpd-${PORTVERSION}
PKGNAMESUFFIX= 5
@@ -35,7 +34,7 @@ RUN_DEPENDS+= /boot/modules/ng_ipacct.ko:net-mgmt/ng_ipacct
.endif
.else
CONFIGURE_ENV+= USE_NG_IPACCT=no
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-no-ng_ipacct
+MAKE_ARGS+= USE_NG_IPACCT=no
.endif
USE_RC_SUBR= mpd5
diff --git a/net/mpd5/distinfo b/net/mpd5/distinfo
index 04ac9c4fffa9..edc8d0ec230b 100644
--- a/net/mpd5/distinfo
+++ b/net/mpd5/distinfo
@@ -1,2 +1,3 @@
-SIZE (mpd5/mpd-5.8.tar.gz) = 597043
-SHA256 (mpd5/mpd-5.8.tar.gz) = 8c59e01c79c5d35ecfd0d540ddf37dd1eed8da9c980fa4c5b01ed50bb53e7665
+TIMESTAMP = 1599406684
+SHA256 (mpd5/mpd-5.9.tar.gz) = 1f2cda9b3e610713f94e90f3826bbb0d638c6fb678986b1eaa9cd9930b0d66ba
+SIZE (mpd5/mpd-5.9.tar.gz) = 627566
diff --git a/net/mpd5/files/extra-patch-no-ng_ipacct b/net/mpd5/files/extra-patch-no-ng_ipacct
deleted file mode 100644
index dd8291302d78..000000000000
--- a/net/mpd5/files/extra-patch-no-ng_ipacct
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/Makefile.orig 2018-11-25 14:23:23.317174000 +0700
-+++ src/Makefile 2018-11-25 14:26:24.356555000 +0700
-@@ -56,7 +56,6 @@
- USE_NG_BPF= yes
- USE_NG_CAR= yes
- USE_NG_DEFLATE= yes
--USE_NG_IPACCT= yes
- USE_NG_MPPC= yes
- USE_NG_NAT= yes
- USE_NG_NETFLOW= yes
diff --git a/net/mpd5/files/mpd5.in b/net/mpd5/files/mpd5.in
index 01428558ce06..2b74afd08a86 100644
--- a/net/mpd5/files/mpd5.in
+++ b/net/mpd5/files/mpd5.in
@@ -27,7 +27,6 @@ load_rc_config ${name}
pidfile="/var/run/${name}.pid"
command="%%PREFIX%%/sbin/${name}"
-required_files="%%PREFIX%%/etc/${name}/mpd.conf"
case "${mpd_flags}" in
*-p\ *)
diff --git a/net/mpd5/files/patch-configure b/net/mpd5/files/patch-configure
deleted file mode 100644
index 03f0ffc28671..000000000000
--- a/net/mpd5/files/patch-configure
+++ /dev/null
@@ -1,23 +0,0 @@
-Index: configure
-===================================================================
---- src/configure (revision 2259)
-+++ src/configure (working copy)
-@@ -33,7 +33,9 @@ else
- fi
-
- echo -n "Looking for ng_ipacct ..."
--if [ -e /usr/include/netgraph/ng_ipacct.h \
-+if [ "$USE_NG_IPACCT" = no ]; then
-+ echo " disabled."
-+else if [ -e /usr/include/netgraph/ng_ipacct.h \
- -o -e /usr/local/include/netgraph/ng_ipacct.h ]
- then
- echo " found."
-@@ -41,6 +43,7 @@ then
- else
- echo " not found."
- fi
-+fi
-
- echo -n "Looking for ng_mppc ..."
- if [ -e /usr/include/netgraph/ng_mppc.h \
diff --git a/net/mpd5/files/patch-console.c b/net/mpd5/files/patch-console.c
deleted file mode 100644
index 85c51e999cad..000000000000
--- a/net/mpd5/files/patch-console.c
+++ /dev/null
@@ -1,76 +0,0 @@
---- src/console.h.orig 2016-01-06 22:42:06.000000000 +0700
-+++ src/console.h 2017-06-16 21:12:59.268715000 +0700
-@@ -119,6 +119,7 @@
- extern int ConsoleStat(Context ctx, int ac, char *av[], void *arg);
- extern Context StdConsoleConnect(Console c);
- extern void ConsoleShutdown(Console c);
-+ extern void ConsoleCancelCleanup(void *rwlock);
-
- extern int UserCommand(Context ctx, int ac, char *av[], void *arg);
- extern int UserStat(Context ctx, int ac, char *av[], void *arg);
---- src/console.c.orig 2016-01-06 22:42:06.000000000 +0700
-+++ src/console.c 2017-06-16 21:54:48.919442000 +0700
-@@ -175,6 +175,14 @@ ConsoleClose(Console c)
- return 0;
- }
-
-+void
-+ConsoleCancelCleanup(void *rwlock)
-+{
-+ pthread_rwlock_t p = (pthread_rwlock_t)rwlock;
-+
-+ RWLOCK_UNLOCK(p);
-+}
-+
- /*
- * ConsoleStat()
- */
-@@ -192,13 +200,14 @@ ConsoleStat(Context ctx, int ac, char *a
- Printf("\tIP-Address : %s\r\n", u_addrtoa(&c->addr,addrstr,sizeof(addrstr)));
- Printf("\tPort : %d\r\n", c->port);
-
-+ pthread_cleanup_push(ConsoleCancelCleanup, c->lock);
- RWLOCK_RDLOCK(c->lock);
- Printf("Active sessions:\r\n");
- SLIST_FOREACH(s, &c->sessions, next) {
- Printf("\tUsername: %s\tFrom: %s\r\n",
- s->user.username, u_addrtoa(&s->peer_addr,addrstr,sizeof(addrstr)));
- }
-- RWLOCK_UNLOCK(c->lock);
-+ pthread_cleanup_pop(1);
-
- Printf("Global options:\r\n");
- OptStat(ctx, &c->options, gConfList);
-@@ -905,13 +914,14 @@ UserStat(Context ctx, int ac, char *av[]
- ConsoleUser u;
-
- Printf("Configured users:\r\n");
-+ pthread_cleanup_push(ConsoleCancelCleanup, gUsersLock);
- RWLOCK_RDLOCK(gUsersLock);
- ghash_walk_init(gUsers, &walk);
- while ((u = ghash_walk_next(gUsers, &walk)) != NULL) {
- Printf("\tUsername: %-15s Priv: %s\r\n", u->username,
- ((u->priv == 2)?"admin":((u->priv == 1)?"operator":"user")));
- }
-- RWLOCK_UNLOCK(gUsersLock);
-+ pthread_cleanup_pop(1);
-
- return 0;
- }
---- src/log.c.orig 2016-01-06 22:42:06.000000000 +0700
-+++ src/log.c 2017-06-16 21:16:19.643625000 +0700
-@@ -256,12 +256,13 @@ vLogPrintf(const char *fmt, va_list args
- #ifdef SYSLOG_FACILITY
- syslog(LOG_INFO, "%s", buf);
- #endif
-+ pthread_cleanup_push(ConsoleCancelCleanup, gConsole.lock);
- RWLOCK_RDLOCK(gConsole.lock);
- SLIST_FOREACH(s, &gConsole.sessions, next) {
- if (Enabled(&s->options, CONSOLE_LOGGING))
- s->write(s, "%s\r\n", buf);
- }
-- RWLOCK_UNLOCK(gConsole.lock);
-+ pthread_cleanup_pop(1);
- #ifdef SYSLOG_FACILITY
- } else {
- vsyslog(LOG_INFO, fmt, args);
diff --git a/net/mpd5/files/patch-fixbuffer b/net/mpd5/files/patch-fixbuffer
deleted file mode 100644
index 393d7cb22a6a..000000000000
--- a/net/mpd5/files/patch-fixbuffer
+++ /dev/null
@@ -1,158 +0,0 @@
-Index: src/iface.c
-===================================================================
-RCS file: /cvsroot/mpd/mpd/src/iface.c,v
-retrieving revision 1.228
-retrieving revision 1.230
-diff -u -p -r1.228 -r1.230
---- src/iface.c 17 May 2017 08:47:53 -0000 1.228
-+++ src/iface.c 1 Jul 2017 21:32:07 -0000 1.230
-@@ -141,6 +141,7 @@
- static int IfaceAllocACL (struct acl_pool ***ap, int start, char * ifname, int number);
- static int IfaceFindACL (struct acl_pool *ap, char * ifname, int number);
- static char * IfaceParseACL (char * src, IfaceState iface);
-+ static char * IfaceFixAclForDelete(char *r, char *buf, size_t len);
- #endif
-
- static int IfaceSetName(Bund b, const char * ifname);
-@@ -602,18 +603,18 @@ IfaceUp(Bund b, int ready)
- while (acls != NULL) {
- /* allow both %aX and `peer_addr` macros */
- buf = IfaceParseACL(acls->rule, iface);
-- strcpy(acls->rule, buf);
-+ acl = Mdup2(MB_IPFW, acls, sizeof(struct acl), sizeof(struct acl) + strlen(buf));
-+ strcpy(acl->rule, buf);
- Freee(buf);
-- acl = Mdup(MB_IPFW, acls, sizeof(struct acl) + strlen(acls->rule));
- acl->next = iface->tables;
- iface->tables = acl;
-- if (strncmp(acls->rule, "peer_addr", 9) == 0) {
-+ if (strncmp(acl->rule, "peer_addr", 9) == 0) {
- char hisaddr[20];
- ExecCmd(LG_IFACE2, b->name, "%s table %d add %s",
-- PATH_IPFW, acls->real_number,
-+ PATH_IPFW, acl->real_number,
- u_addrtoa(&iface->peer_addr, hisaddr, sizeof(hisaddr)));
- } else {
-- ExecCmd(LG_IFACE2, b->name, "%s table %d add %s", PATH_IPFW, acls->real_number, acls->rule);
-+ ExecCmd(LG_IFACE2, b->name, "%s table %d add %s", PATH_IPFW, acl->real_number, acl->rule);
- }
- acls = acls->next;
- };
-@@ -697,8 +698,10 @@ IfaceDown(Bund b)
- PATH_IPFW, acl->real_number,
- u_addrtoa(&iface->peer_addr, hisaddr, sizeof(hisaddr)));
- } else {
-+ char buf[ACL_LEN];
- ExecCmd(LG_IFACE2, b->name, "%s table %d delete %s",
-- PATH_IPFW, acl->real_number, acl->rule);
-+ PATH_IPFW, acl->real_number,
-+ IfaceFixAclForDelete(acl->rule, buf, sizeof(buf)));
- }
- aclnext = acl->next;
- Freee(acl);
-@@ -946,6 +949,60 @@ IfaceParseACL (char * src, IfaceState if
- Freee(buf1);
- return(buf);
- }
-+
-+/*
-+ * IfaceFixAclForDelete()
-+ *
-+ * Removes values from ipfw 'table-key value [...]' expression r, if any.
-+ * Returns buf pointer for modified expression or original r pointer
-+ * if no modifications were performed when no values were found or
-+ * buf found too short.
-+ *
-+ * len is size of buf. Strings are zero-terminated.
-+ * r and buf must point to non-overlapping memory areas.
-+ */
-+
-+static char*
-+IfaceFixAclForDelete(char *r, char *buf, size_t len)
-+{
-+ static const char sep[] = " \t";
-+ char *limit, *s;
-+ int i, state = 0;
-+
-+/*
-+ * Possible state values:
-+ *
-+ * -1: skip value (otherwise copy);
-+ * 0: first iteration, do copy;
-+ * 1: not first iteration, do copy.
-+*/
-+
-+ s = buf;
-+ limit = buf + len;
-+
-+ for (r += strspn(r, sep); /* Skip leading spaces. */
-+ *r; /* Check for end of string. */
-+ r += i, r += strspn(r, sep)) /* Advance and skip spaces again. */
-+ {
-+ i = strcspn(r, sep); /* Find separator or end of string. */
-+ if (state == 0 && r[i] == '\0') /* No separators in the rule? */
-+ return r;
-+ if (state < 0) { /* Skip value. */
-+ state = 1;
-+ continue;
-+ }
-+ if (limit - s < i + 1 + state) /* Check space. */
-+ return r;
-+ if (state != 0) /* Insert separator. */
-+ *s++ = ' ';
-+ memcpy(s, r, i); /* Copy IP address from the rule. */
-+ s += i;
-+ state = -1;
-+ }
-+ *s = '\0';
-+
-+ return buf;
-+}
- #endif /* USE_IPFW */
-
- /*
-Index: src/mbuf.c
-===================================================================
-RCS file: /cvsroot/mpd/mpd/src/mbuf.c,v
-retrieving revision 1.30
-retrieving revision 1.31
-diff -u -p -r1.30 -r1.31
---- src/mbuf.c 14 Jun 2011 10:40:19 -0000 1.30
-+++ src/mbuf.c 29 Jun 2017 08:21:35 -0000 1.31
-@@ -55,6 +55,20 @@ Mdup(const char *type, const void *src,
- }
-
- void *
-+Mdup2(const char *type, const void *src, size_t oldsize, size_t newsize)
-+{
-+ const char **memory;
-+ if ((memory = MALLOC(type, sizeof(char *) + newsize)) == NULL) {
-+ Perror("Mdup2: malloc");
-+ DoExit(EX_ERRDEAD);
-+ }
-+
-+ memory[0] = type;
-+ memcpy(memory + 1, src, oldsize < newsize ? oldsize : newsize);
-+ return(memory + 1);
-+}
-+
-+void *
- Mstrdup(const char *type, const void *src)
- {
- return (Mdup(type, src, strlen(src) + 1));
-Index: src/mbuf.h
-===================================================================
-RCS file: /cvsroot/mpd/mpd/src/mbuf.h,v
-retrieving revision 1.25
-retrieving revision 1.26
-diff -u -p -r1.25 -r1.26
---- src/mbuf.h 7 Oct 2013 11:52:35 -0000 1.25
-+++ src/mbuf.h 29 Jun 2017 08:21:35 -0000 1.26
-@@ -73,6 +73,7 @@
-
- extern void *Malloc(const char *type, size_t size) __malloc_like;
- extern void *Mdup(const char *type, const void *src, size_t size) __malloc_like;
-+ extern void *Mdup2(const char *type, const void *src, size_t oldsize, size_t newsize) __malloc_like;
- extern void *Mstrdup(const char *type, const void *src) __malloc_like;
- extern void Freee(void *ptr);
-
diff --git a/net/mpd5/files/patch-fixstats b/net/mpd5/files/patch-fixstats
deleted file mode 100644
index 065d094f50dc..000000000000
--- a/net/mpd5/files/patch-fixstats
+++ /dev/null
@@ -1,30 +0,0 @@
-Index: src/bund.c
-===================================================================
---- src/bund.c (revision 2246)
-+++ src/bund.c (revision 2247)
-@@ -1394,9 +1394,9 @@ BundUpdateStats(Bund b)
- b->stats.runts += abs(stats.runts - b->oldStats.runts);
- b->stats.dupFragments += abs(stats.dupFragments - b->oldStats.dupFragments);
- b->stats.dropFragments += abs(stats.dropFragments - b->oldStats.dropFragments);
-+ b->oldStats = stats;
- }
-
-- b->oldStats = stats;
- #else
- NgFuncGetStats64(b, l, &b->stats);
- #endif
-Index: src/link.c
-===================================================================
---- src/link.c (revision 2246)
-+++ src/link.c (revision 2247)
-@@ -1359,9 +1359,9 @@ LinkUpdateStats(Link l)
- l->stats.runts += abs(stats.runts - l->oldStats.runts);
- l->stats.dupFragments += abs(stats.dupFragments - l->oldStats.dupFragments);
- l->stats.dropFragments += abs(stats.dropFragments - l->oldStats.dropFragments);
-+ l->oldStats = stats;
- }
-
-- l->oldStats = stats;
- #else
- NgFuncGetStats64(l->bund, l->bundleIndex, &l->stats);
- #endif
diff --git a/net/mpd5/files/patch-mtu-override b/net/mpd5/files/patch-mtu-override
deleted file mode 100644
index 2bd957df1bfa..000000000000
--- a/net/mpd5/files/patch-mtu-override
+++ /dev/null
@@ -1,121 +0,0 @@
-Index: src/iface.h
-===================================================================
---- src/iface.h (revision 2246)
-+++ src/iface.h (working copy)
-@@ -107,6 +107,7 @@
- u_char traffic[IFACE_IDLE_SPLIT]; /* Mark any traffic */
- u_short mtu; /* Interface MTU */
- u_short max_mtu; /* Configured maximum MTU */
-+ u_short mtu_override; /* Configured MTU override */
- struct optinfo options; /* Configuration options */
- u_int idle_timeout; /* Idle timeout */
- u_int session_timeout; /* Session timeout */
-Index: src/iface.c
-===================================================================
---- src/iface.c (revision 2246)
-+++ src/iface.c (working copy)
-@@ -162,7 +162,7 @@
- IfaceSetCommand, NULL, 2, (void *) SET_ADDRS },
- { "route {dest}[/{width}]", "Add IP route",
- IfaceSetCommand, NULL, 2, (void *) SET_ROUTE },
-- { "mtu {size}", "Set max allowed interface MTU",
-+ { "mtu {size} [override]", "Set max allowed or override interface MTU",
- IfaceSetCommand, NULL, 2, (void *) SET_MTU },
- { "name [{name}]", "Set interface name",
- IfaceSetCommand, NULL, 2, (void *) SET_NAME },
-@@ -289,6 +289,7 @@ IfaceInit(Bund b)
- /* Default configuration */
- iface->mtu = NG_IFACE_MTU_DEFAULT;
- iface->max_mtu = NG_IFACE_MTU_DEFAULT;
-+ iface->mtu_override = 0;
- #ifdef SIOCSIFDESCR
- iface->ifdescr = NULL;
- iface->conf.ifdescr = NULL;
-@@ -1606,15 +1607,30 @@ IfaceSetCommand(Context ctx, int ac, cha
- case SET_MTU:
- {
- int max_mtu;
-+ int override;
-
- /* Check */
-- if (ac != 1)
-+ if (ac < 1 || ac > 2)
- return(-1);
-
- max_mtu = atoi(av[0]);
-+ override = 0;
-+
-+ if (ac == 2 && av[1][0]) {
-+ if (strcmp(av[1], "override") == 0)
-+ override = 1;
-+ else
-+ Error("Invalid keyword %s", av[1]);
-+ }
-+
- if (max_mtu < IFACE_MIN_MTU || max_mtu > IFACE_MAX_MTU)
-- Error("Invalid interface mtu %d", max_mtu);
-- iface->max_mtu = max_mtu;
-+ if (!override || max_mtu != 0)
-+ Error("Invalid interface mtu %d", max_mtu);
-+
-+ if (max_mtu != 0)
-+ iface->max_mtu = max_mtu;
-+ if (override)
-+ iface->mtu_override = max_mtu;
- }
- break;
-
-@@ -1743,6 +1759,7 @@ IfaceStat(Context ctx, int ac, char *av[
- Printf("\tGroup : %s\r\n", iface->conf.ifgroup);
- #endif
- Printf("\tMaximum MTU : %d bytes\r\n", iface->max_mtu);
-+ Printf("\tMTU override : %d bytes\r\n", iface->mtu_override);
- Printf("\tIdle timeout : %d seconds\r\n", iface->idle_timeout);
- Printf("\tSession timeout : %d seconds\r\n", iface->session_timeout);
- if (!u_rangeempty(&iface->conf.self_addr)) {
-@@ -1873,14 +1890,18 @@ IfaceSetMTU(Bund b, int mtu)
- return;
- }
-
-- if ((b->params.mtu > 0) && (mtu > b->params.mtu)) {
-+ if (!iface->mtu_override && (b->params.mtu > 0) && (mtu > b->params.mtu)) {
- mtu = b->params.mtu;
- Log(LG_IFACE2, ("[%s] IFACE: forcing MTU of auth backend: %d bytes",
- b->name, mtu));
- }
-
-- /* Limit MTU to configured maximum */
-- if (mtu > iface->max_mtu)
-+ /* Limit MTU to configured maximum/override */
-+ if (iface->mtu_override) {
-+ mtu = iface->mtu_override;
-+ Log(LG_IFACE2, ("[%s] IFACE: forcing MTU override: %d bytes",
-+ b->name, mtu));
-+ } else if (mtu > iface->max_mtu)
- mtu = iface->max_mtu;
-
- /* Set MTU on interface */
-@@ -3061,6 +3082,9 @@ IfaceSetupMSS(Bund b, uint16_t maxMSS)
- memset(&tcpmsscfg, 0, sizeof(tcpmsscfg));
- tcpmsscfg.maxMSS = maxMSS;
-
-+ Log(LG_IFACE2, ("[%s] IFACE: Configuring ng_tcpmss %s %u",
-+ b->name, path, (unsigned)tcpmsscfg.maxMSS));
-+
- snprintf(tcpmsscfg.inHook, sizeof(tcpmsscfg.inHook), "in");
- snprintf(tcpmsscfg.outHook, sizeof(tcpmsscfg.outHook), "out");
- if (NgSendMsg(gLinksCsock, path, NGM_TCPMSS_COOKIE, NGM_TCPMSS_CONFIG,
-Index: src/bund.c
-===================================================================
---- src/bund.c (revision 2253)
-+++ src/bund.c (revision 2254)
-@@ -328,7 +328,8 @@ BundJoin(Link l)
-
- /* Configure this link */
- b->pppConfig.links[l->bundleIndex].enableLink = 1;
-- b->pppConfig.links[l->bundleIndex].mru = lcp->peer_mru;
-+ b->pppConfig.links[l->bundleIndex].mru = b->iface.mtu_override ?
-+ b->iface.mtu_override : lcp->peer_mru;
- b->pppConfig.links[l->bundleIndex].enableACFComp = lcp->peer_acfcomp;
- b->pppConfig.links[l->bundleIndex].enableProtoComp = lcp->peer_protocomp;
- b->pppConfig.links[l->bundleIndex].bandwidth =
diff --git a/net/mpd5/files/patch-src-Makefile b/net/mpd5/files/patch-src-Makefile
deleted file mode 100644
index 8b37480e4711..000000000000
--- a/net/mpd5/files/patch-src-Makefile
+++ /dev/null
@@ -1,279 +0,0 @@
---- src/Makefile.orig
-+++ src/Makefile
-@@ -9,11 +9,12 @@
-
- PROG?= mpd5
- PREFIX?= /usr/local
-+LOCALBASE?= ${PREFIX}
- BINDIR?= ${PREFIX}/sbin
- VERSION= 5.8
--NOMAN=
--NO_MAN=
-
-+MAN=
-+
- BINOWN!= /usr/bin/id -n -u
- BINGRP!= /usr/bin/id -n -g
-
-@@ -59,9 +60,6 @@
- USE_AUTH_PAM= yes
- USE_AUTH_SYSTEM= yes
-
--# Build with builtin libpdel
--NOLIBPDEL= yes
--
- # Build without builtin web server.
- #NOWEB= yes
-
-@@ -71,7 +69,7 @@
-
- # Print wide protocol names instead of short names.
- # Comment this line, to save about 10 KB space
--COPTS+= -DPROTO_NAME_LIST
-+CFLAGS+= -DPROTO_NAME_LIST
-
- # Reduce some internal structures size to save more memory
- # This is to limit amount of active sessions
-@@ -83,27 +81,27 @@
- ## filter TCP accept connections
- LDADD+= -lwrap
- DPADD+= ${LIBWRAP}
--COPTS+= -DUSE_WRAP
-+CFLAGS+= -DUSE_WRAP
- .endif
-
- ## authentication methods: opie, pam, /etc/password
- .if defined ( USE_AUTH_OPIE )
- LDADD+= -lopie
- DPADD+= ${LIBOPIE}
--COPTS+= -DUSE_OPIE
-+CFLAGS+= -DUSE_OPIE
- .endif
-
- .if exists ( /usr/lib/libpam.so ) && defined ( USE_AUTH_PAM )
- LDADD+= -lpam
- DPADD+= ${LIBPAM}
--COPTS+= -DUSE_PAM
-+CFLAGS+= -DUSE_PAM
- .endif
-
- .if defined ( USE_AUTH_SYSTEM )
- ## based on /etc/password
- LDADD+= -lcrypt
- DPADD+= ${LIBCRYPT} ${LIBUTIL}
--COPTS+= -DUSE_SYSTEM
-+CFLAGS+= -DUSE_SYSTEM
- .endif
-
- LDADD+= -lnetgraph -lutil
-@@ -112,19 +110,12 @@
- LDADD+= -L/usr/lib -lradius
- DPADD+= ${LIBRADIUS}
-
--## libpdel needs ssl and libexpat (libxml2 cannot be used)
--.if !defined ( NOLIBPDEL )
--LDADD+= -L${PREFIX}/lib
--LDADD+= -lpdel
--LDADD+= -lexpat
--.endif
--
- MPD_VERSION!= echo -n "${VERSION} (`id -un`@`uname -n` `LC_TIME=C date +'%R %v'`)"
-
--COPTS+= -DPATH_CONF_DIR='"${MPD_CONF_DIR}"'
--COPTS+= -DMPD_VERSION='"${MPD_VERSION}"'
--COPTS+= -g
--COPTS+= -Wall \
-+CFLAGS+= -DPATH_CONF_DIR='"${MPD_CONF_DIR}"'
-+CFLAGS+= -DMPD_VERSION='"${MPD_VERSION}"'
-+CFLAGS+= -g
-+CFLAGS+= -Wall \
- -Wcast-align \
- -Wchar-subscripts \
- -Wformat \
-@@ -134,15 +125,14 @@
- -Wnested-externs \
- -Wpointer-arith \
- -Wwrite-strings \
-- -pthread \
-- -I${PREFIX}/include
-+ -pthread
-
- .if defined ( MPD_VENDOR )
--COPTS+= -DMPD_VENDOR='"${MPD_VENDOR}"'
-+CFLAGS+= -DMPD_VENDOR='"${MPD_VENDOR}"'
- .endif
-
- .if defined ( SYSLOG_FACILITY )
--COPTS+= -DSYSLOG_FACILITY='"${SYSLOG_FACILITY}"'
-+CFLAGS+= -DSYSLOG_FACILITY='"${SYSLOG_FACILITY}"'
- .endif
-
- # Standard sources
-@@ -154,14 +144,13 @@
- util.c vars.c eap.c msoft.c ippool.c
-
- .if defined ( NOWEB )
--COPTS+= -DNOWEB
-+CFLAGS+= -DNOWEB
- .else
- STDSRCS+= web.c
- LDADD+= -lssl
- .endif
-
--.if defined ( NOLIBPDEL )
--COPTS+= -DNOLIBPDEL -I./contrib/libpdel
-+CFLAGS+= -DNOLIBPDEL -I./contrib/libpdel
- PDPATH1= contrib/libpdel/util:contrib/libpdel/structs
- PDPATH2= contrib/libpdel/structs/type
- .if defined ( NOWEB )
-@@ -199,60 +188,59 @@
- string_fp.c \
- timeout_fp.c
- .endif
--.endif
-
- # Add sources and flags for the various physical layer types
-
- .if defined ( PHYSTYPE_MODEM )
- SRCS+= modem.c chat.c
--COPTS+= -DPHYSTYPE_MODEM
-+CFLAGS+= -DPHYSTYPE_MODEM
- .endif
- .if defined ( PHYSTYPE_UDP )
- SRCS+= udp.c
--COPTS+= -DPHYSTYPE_UDP
-+CFLAGS+= -DPHYSTYPE_UDP
- .endif
- .if defined ( PHYSTYPE_TCP )
- SRCS+= tcp.c
--COPTS+= -DPHYSTYPE_TCP
-+CFLAGS+= -DPHYSTYPE_TCP
- .endif
- .if defined ( PHYSTYPE_NG_SOCKET )
- SRCS+= ng.c
--COPTS+= -DPHYSTYPE_NG_SOCKET
-+CFLAGS+= -DPHYSTYPE_NG_SOCKET
- .endif
- .if defined ( PHYSTYPE_PPTP )
- SRCS+= pptp.c pptp_ctrl.c
--COPTS+= -DPHYSTYPE_PPTP
--COPTS+= -DRANDOMIZE_CID
--#COPTS+= -DLOOK_LIKE_NT
-+CFLAGS+= -DPHYSTYPE_PPTP
-+CFLAGS+= -DRANDOMIZE_CID
-+#CFLAGS+= -DLOOK_LIKE_NT
- .endif
- .if defined ( PHYSTYPE_PPPOE )
- SRCS+= pppoe.c
--COPTS+= -DPHYSTYPE_PPPOE
-+CFLAGS+= -DPHYSTYPE_PPPOE
- .endif
- .if defined ( PHYSTYPE_L2TP )
- SRCS+= l2tp.c l2tp_avp.c l2tp_ctrl.c
--COPTS+= -DPHYSTYPE_L2TP
-+CFLAGS+= -DPHYSTYPE_L2TP
- .endif
-
- # CCP
-
- .if defined ( CCP_DEFLATE ) && defined ( USE_NG_DEFLATE )
- SRCS+= ccp_deflate.c
--COPTS+= -DCCP_DEFLATE
--COPTS+= -DUSE_NG_DEFLATE
-+CFLAGS+= -DCCP_DEFLATE
-+CFLAGS+= -DUSE_NG_DEFLATE
- .endif
-
- .if defined ( CCP_MPPC ) && defined ( USE_NG_MPPC )
- SRCS+= ccp_mppc.c
--COPTS+= -DCCP_MPPC
--COPTS+= -DUSE_NG_MPPC
-+CFLAGS+= -DCCP_MPPC
-+CFLAGS+= -DUSE_NG_MPPC
- .endif
-
- .if defined ( CCP_PRED1 )
- SRCS+= ccp_pred1.c
--COPTS+= -DCCP_PRED1
-+CFLAGS+= -DCCP_PRED1
- .if defined ( USE_NG_PRED1 )
--COPTS+= -DUSE_NG_PRED1
-+CFLAGS+= -DUSE_NG_PRED1
- .endif
- .endif
-
-@@ -261,46 +249,46 @@
- .if defined ( ECP_DES )
- SRCS+= ecp_dese.c
- SRCS+= ecp_dese_bis.c
--COPTS+= -DECP_DES
-+CFLAGS+= -DECP_DES
- NEED_DES= yes
- .endif
-
- # Features
-
- .if defined ( USE_NG_BPF )
--COPTS+= -DUSE_NG_BPF
-+CFLAGS+= -DUSE_NG_BPF
- LDADD+= -lpcap
- DPADD+= ${LIBPCAP}
- .endif
- .if defined ( USE_NG_CAR )
--COPTS+= -DUSE_NG_CAR
-+CFLAGS+= -DUSE_NG_CAR
- .endif
- .if defined ( USE_NG_IPACCT )
--COPTS+= -DUSE_NG_IPACCT
-+CFLAGS+= -DUSE_NG_IPACCT -nostdinc -I/usr/include -I${LOCALBASE}/include
- .endif
- .if defined ( USE_NG_NAT )
- SRCS+= nat.c
--COPTS+= -DUSE_NG_NAT
-+CFLAGS+= -DUSE_NG_NAT
- .endif
- .if defined ( USE_NG_NETFLOW )
--COPTS+= -DUSE_NG_NETFLOW
-+CFLAGS+= -DUSE_NG_NETFLOW
- .endif
- .if defined ( USE_NG_TCPMSS )
--COPTS+= -DUSE_NG_TCPMSS
-+CFLAGS+= -DUSE_NG_TCPMSS
- .endif
- .if defined ( USE_NG_VJC )
--COPTS+= -DUSE_NG_VJC
-+CFLAGS+= -DUSE_NG_VJC
- .endif
- .if defined ( USE_IPFW )
--COPTS+= -DUSE_IPFW
-+CFLAGS+= -DUSE_IPFW
- .endif
- .if defined ( USE_FETCH )
--COPTS+= -DUSE_FETCH
-+CFLAGS+= -DUSE_FETCH
- LDADD+= -lfetch
- DPADD+= ${LIBFETCH}
- .endif
- .if defined ( SMALL_SYSTEM )
--COPTS+= -DSMALL_SYSTEM
-+CFLAGS+= -DSMALL_SYSTEM
- .endif
-
- # Add in required support files and libraries
-@@ -309,15 +297,12 @@
-
- .if exists ( /usr/lib/libexecinfo.so )
- LDADD+= -lexecinfo
--COPTS+= -DUSE_BACKTRACE
-+CFLAGS+= -DUSE_BACKTRACE
- .endif
-
- # Now add standard sources
-
- SRCS+= ${STDSRCS}
--
--.if defined ( NOLIBPDEL )
- SRCS+= ${PDELSRCS}
--.endif
-
- .include <bsd.prog.mk>
diff --git a/net/mpd5/files/patch-src_pppoe.c b/net/mpd5/files/patch-src_pppoe.c
deleted file mode 100644
index 639cfcd4668f..000000000000
--- a/net/mpd5/files/patch-src_pppoe.c
+++ /dev/null
@@ -1,126 +0,0 @@
---- src/pppoe.c.orig 2016-01-06 15:42:06 UTC
-+++ src/pppoe.c
-@@ -71,6 +71,7 @@
-
- /* Per link private info */
- struct pppoeinfo {
-+ char iface[IFNAMSIZ]; /* PPPoE interface name */
- char path[MAX_PATH]; /* PPPoE node path */
- char hook[NG_HOOKSIZ]; /* hook on that node */
- char session[MAX_SESSION]; /* session name */
-@@ -165,7 +166,7 @@ static int PppoeListen(Link l);
- static int PppoeUnListen(Link l);
- static void PppoeNodeUpdate(Link l);
- static void PppoeListenEvent(int type, void *arg);
--static int CreatePppoeNode(struct PppoeIf *PIf, const char *path, const char *hook);
-+static int CreatePppoeNode(struct PppoeIf *PIf, const char *iface, const char *path, const char *hook);
-
- static void PppoeDoClose(Link l);
-
-@@ -282,6 +283,7 @@ PppoeInit(Link l)
- pe = (PppoeInfo)(l->info = Malloc(MB_PHYS, sizeof(*pe)));
- pe->incoming = 0;
- pe->opened = 0;
-+ snprintf(pe->iface, sizeof(pe->iface), "undefined");
- snprintf(pe->path, sizeof(pe->path), "undefined:");
- snprintf(pe->hook, sizeof(pe->hook), "undefined");
- snprintf(pe->session, sizeof(pe->session), "*");
-@@ -660,6 +662,16 @@ PppoeCtrlReadEvent(int type, void *arg)
- break;
- }
- #endif
-+#ifdef NGM_PPPOE_PADM_COOKIE
-+ case NGM_PPPOE_HURL:
-+ Log(LG_PHYS, ("PPPoE: rec'd HURL \"%s\"",
-+ ((struct ngpppoe_padm *)u.resp.data)->msg));
-+ break;
-+ case NGM_PPPOE_MOTM:
-+ Log(LG_PHYS, ("PPPoE: rec'd MOTM \"%s\"",
-+ ((struct ngpppoe_padm *)u.resp.data)->msg));
-+ break;
-+#endif
- default:
- Log(LG_PHYS, ("PPPoE: rec'd command %lu from \"%s\"",
- (u_long)u.resp.header.cmd, path));
-@@ -695,6 +707,7 @@ PppoeStat(Context ctx)
- }
-
- Printf("PPPoE configuration:\r\n");
-+ Printf("\tIface Name : %s\r\n", pe->iface);
- Printf("\tIface Node : %s\r\n", pe->path);
- Printf("\tIface Hook : %s\r\n", pe->hook);
- Printf("\tSession : %s\r\n", pe->session);
-@@ -748,12 +761,8 @@ static int
- PppoePeerIface(Link l, void *buf, size_t buf_len)
- {
- PppoeInfo const pppoe = (PppoeInfo)l->info;
-- char iface[IFNAMSIZ];
-
-- strlcpy(iface, pppoe->path, sizeof(iface));
-- if (iface[strlen(iface) - 1] == ':')
-- iface[strlen(iface) - 1] = '\0';
-- strlcpy(buf, iface, buf_len);
-+ strlcpy(buf, pppoe->iface, buf_len);
- return (0);
- }
-
-@@ -880,7 +889,7 @@ PppoeGetMru(Link l, int conf)
- }
-
- static int
--CreatePppoeNode(struct PppoeIf *PIf, const char *path, const char *hook)
-+CreatePppoeNode(struct PppoeIf *PIf, const char *iface, const char *path, const char *hook)
- {
- union {
- u_char buf[sizeof(struct ng_mesg) + 2048];
-@@ -892,11 +901,6 @@ CreatePppoeNode(struct PppoeIf *PIf, con
- uint32_t f;
-
- /* Make sure interface is up. */
-- char iface[IFNAMSIZ];
--
-- strlcpy(iface, path, sizeof(iface));
-- if (iface[strlen(iface) - 1] == ':')
-- iface[strlen(iface) - 1] = '\0';
- if (ExecCmdNosh(LG_PHYS2, iface, "%s %s up", _PATH_IFCONFIG, iface) != 0) {
- Log(LG_ERR, ("PPPoE: can't bring up interface %s",
- iface));
-@@ -1501,7 +1505,7 @@ PppoeGetNode(Link l)
- l->name));
- return;
- }
-- if (CreatePppoeNode(&PppoeIfs[free], pi->path, pi->hook)) {
-+ if (CreatePppoeNode(&PppoeIfs[free], pi->iface, pi->path, pi->hook)) {
- strlcpy(PppoeIfs[free].ifnodepath,
- pi->path,
- sizeof(PppoeIfs[free].ifnodepath));
-@@ -1673,7 +1677,7 @@ PppoeSetCommand(Context ctx, int ac, cha
- {
- const PppoeInfo pi = (PppoeInfo) ctx->lnk->info;
- const char *hookname = ETHER_DEFAULT_HOOK;
-- const char *colon;
-+ int i;
- #ifdef NGM_PPPOE_SETMAXP_COOKIE
- int ap;
- #endif
-@@ -1684,9 +1688,17 @@ PppoeSetCommand(Context ctx, int ac, cha
- hookname = av[1];
- /* fall through */
- case 1:
-- colon = (av[0][strlen(av[0]) - 1] == ':') ? "" : ":";
-- snprintf(pi->path, sizeof(pi->path),
-- "%s%s", av[0], colon);
-+ strlcpy(pi->iface, av[0], sizeof(pi->iface));
-+ strlcpy(pi->path, pi->iface, sizeof(pi->path) - 1);
-+ for (i = 0; i < sizeof(pi->path) - 1; i++) {
-+ if (pi->path[i] == '.' || pi->path[i] == ':')
-+ pi->path[i] = '_';
-+ else if (pi->path[i] == '\0') {
-+ pi->path[i] = ':';
-+ pi->path[i + 1] = '\0';
-+ break;
-+ }
-+ }
- strlcpy(pi->hook, hookname, sizeof(pi->hook));
- break;
- default: