forked from Lainports/opnsense-ports
net/mpd5: sync with upstream
Taken from: FreeBSD
This commit is contained in:
parent
5a8e5046de
commit
e9a01c5ace
2 changed files with 74 additions and 2 deletions
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
PORTNAME= mpd
|
||||
DISTVERSION= 5.9
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= SF/${PORTNAME}/Mpd5/Mpd-${PORTVERSION}
|
||||
PKGNAMESUFFIX= 5
|
||||
|
|
@ -12,14 +13,14 @@ COMMENT= Multi-link PPP daemon based on netgraph(4)
|
|||
|
||||
LICENSE= BSD3CLAUSE
|
||||
|
||||
USES= ssl
|
||||
|
||||
OPTIONS_DEFINE= DOCS NG_IPACCT
|
||||
NG_IPACCT_DESC= Use ng_ipacct kernel module from port
|
||||
|
||||
HAS_CONFIGURE= YES
|
||||
CONFIGURE_WRKSRC= "${WRKSRC}/src"
|
||||
|
||||
USES= ssl
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
MAKE_ARGS+= OSVERSION=${OSVERSION}
|
||||
|
|
|
|||
71
net/mpd5/files/patch-l2tp-ctrl-c.diff
Normal file
71
net/mpd5/files/patch-l2tp-ctrl-c.diff
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
Index: src/l2tp_ctrl.c
|
||||
===================================================================
|
||||
--- src/l2tp_ctrl.c (revision 2409)
|
||||
+++ src/l2tp_ctrl.c (revision 2411)
|
||||
@@ -244,7 +244,8 @@ Notes
|
||||
************************************************************************/
|
||||
|
||||
static int ppp_l2tp_ctrl_setup_1(struct ppp_l2tp_ctrl *ctrl,
|
||||
- struct ppp_l2tp_avp_ptrs *ptrs);
|
||||
+ struct ppp_l2tp_avp_ptrs *ptrs,
|
||||
+ struct ppp_l2tp_avp_list *avps);
|
||||
static int ppp_l2tp_ctrl_setup_2(struct ppp_l2tp_ctrl *ctrl,
|
||||
struct ppp_l2tp_avp_ptrs *ptrs);
|
||||
static void ppp_l2tp_ctrl_send(struct ppp_l2tp_ctrl *ctrl,
|
||||
@@ -1031,7 +1032,8 @@ ppp_l2tp_sess_hooked(struct ppp_l2tp_sess *sess) {
|
||||
*/
|
||||
static int
|
||||
ppp_l2tp_ctrl_setup_1(struct ppp_l2tp_ctrl *ctrl,
|
||||
- struct ppp_l2tp_avp_ptrs *ptrs)
|
||||
+ struct ppp_l2tp_avp_ptrs *ptrs,
|
||||
+ struct ppp_l2tp_avp_list *avps)
|
||||
{
|
||||
/* Log */
|
||||
Log(LOG_INFO, ("L2TP: connected to \"%s\", version=%u.%u",
|
||||
@@ -1092,7 +1094,7 @@ ppp_l2tp_ctrl_setup_1(struct ppp_l2tp_ctrl *ctrl,
|
||||
MD5_Update(&md5ctx, &ptrs->challenge->value, ptrs->challenge->length);
|
||||
MD5_Final(hash, &md5ctx);
|
||||
|
||||
- if (ppp_l2tp_avp_list_append(ctrl->avps, 0,
|
||||
+ if (ppp_l2tp_avp_list_append(avps, 0,
|
||||
0, AVP_CHALLENGE_RESPONSE, hash, sizeof(hash)) == -1)
|
||||
return (0);
|
||||
}
|
||||
@@ -2085,7 +2087,7 @@ ppp_l2tp_handle_SCCRQ(struct ppp_l2tp_ctrl *ctrl,
|
||||
|
||||
ok:
|
||||
/* Do control connection setup */
|
||||
- if (ppp_l2tp_ctrl_setup_1(ctrl, ptrs) == -1)
|
||||
+ if (ppp_l2tp_ctrl_setup_1(ctrl, ptrs, ctrl->avps) == -1)
|
||||
return (-1);
|
||||
|
||||
/* Send response and update state */
|
||||
@@ -2098,18 +2100,24 @@ static int
|
||||
ppp_l2tp_handle_SCCRP(struct ppp_l2tp_ctrl *ctrl,
|
||||
const struct ppp_l2tp_avp_list *avps, struct ppp_l2tp_avp_ptrs *ptrs)
|
||||
{
|
||||
+ struct ppp_l2tp_avp_list *avps0;
|
||||
+
|
||||
(void)avps;
|
||||
+ avps0 = ppp_l2tp_avp_list_create();
|
||||
+
|
||||
/* Do control connection setup */
|
||||
- if (ppp_l2tp_ctrl_setup_1(ctrl, ptrs) == -1)
|
||||
+ if ((ppp_l2tp_ctrl_setup_1(ctrl, ptrs, avps0) == -1) ||
|
||||
+ (ppp_l2tp_ctrl_setup_2(ctrl, ptrs) == -1)) {
|
||||
+ ppp_l2tp_avp_list_destroy(&avps0);
|
||||
return (-1);
|
||||
- if (ppp_l2tp_ctrl_setup_2(ctrl, ptrs) == -1)
|
||||
- return (-1);
|
||||
+ }
|
||||
|
||||
/* Send response and update state */
|
||||
ctrl->state = CS_ESTABLISHED;
|
||||
- ppp_l2tp_ctrl_send(ctrl, 0, SCCCN, ctrl->avps);
|
||||
+ ppp_l2tp_ctrl_send(ctrl, 0, SCCCN, avps0);
|
||||
if (*ctrl->cb->ctrl_connected != NULL)
|
||||
(*ctrl->cb->ctrl_connected)(ctrl);
|
||||
+ ppp_l2tp_avp_list_destroy(&avps0);
|
||||
return (0);
|
||||
}
|
||||
|
||||
Loading…
Add table
Reference in a new issue