|
|
- From 7a343f7b79b70a8e7e04b2bd465d344ad0ef4c49 Mon Sep 17 00:00:00 2001
- From: Yousong Zhou <yszhou4tech@gmail.com>
- Date: Wed, 29 Apr 2015 16:30:17 +0800
- Subject: [PATCH 4/7] start_pppd: place opts after "plugin pppol2tp.so".
-
- so that plugin options like pppol2tp_debug_mark can be recognized by pppd.
- ---
- xl2tpd.c | 21 ++++++++++-----------
- 1 file changed, 10 insertions(+), 11 deletions(-)
-
- --- a/xl2tpd.c
- +++ b/xl2tpd.c
- @@ -382,7 +382,6 @@ int start_pppd (struct call *c, struct p
- /* char a, b; */
- char tty[512];
- char *stropt[80];
- - struct ppp_opts *p;
- #ifdef USE_KERNEL
- struct sockaddr_pppol2tp sax;
- int flags;
- @@ -396,16 +395,7 @@ int start_pppd (struct call *c, struct p
- struct call *sc;
- struct tunnel *st;
-
- - p = opts;
- stropt[0] = strdup (PPPD);
- - while (p)
- - {
- - stropt[pos] = (char *) malloc (strlen (p->option) + 1);
- - strncpy (stropt[pos], p->option, strlen (p->option) + 1);
- - pos++;
- - p = p->next;
- - }
- - stropt[pos] = NULL;
- if (c->pppd > 0)
- {
- l2tp_log(LOG_WARNING, "%s: PPP already started on call!\n", __FUNCTION__);
- @@ -467,7 +457,6 @@ int start_pppd (struct call *c, struct p
- snprintf (stropt[pos], 10, "%d", c->ourcid);
- pos++;
- }
- - stropt[pos] = NULL;
- }
- else
- #endif
- @@ -497,6 +486,16 @@ int start_pppd (struct call *c, struct p
- return -EINVAL;
- }
- stropt[pos++] = strdup(tty);
- + }
- +
- + {
- + struct ppp_opts *p = opts;
- + while (p)
- + {
- + stropt[pos] = strdup (p->option);
- + pos++;
- + p = p->next;
- + }
- stropt[pos] = NULL;
- }
-
|