aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYousong Zhou <yszhou4tech@gmail.com>2015-08-13 09:17:29 +0800
committerYousong Zhou <yszhou4tech@gmail.com>2015-08-14 12:16:27 +0800
commit7955dbbc2d73010d63f6ff866d639d1e8b3d9f16 (patch)
tree93d74f7e82a490958b8f051cb5b419d9ecc025f9
parent18038a504324c04790183b52fd74b399d80d9aa5 (diff)
xl2tpd: switch to github devel branch.
Several patches here and pull requests at the upstream github project page were merged into the devel branch. Switch to that until the next stable release. Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
-rw-r--r--net/xl2tpd/Makefile6
-rw-r--r--net/xl2tpd/patches/200-xl2tpd-control-check-end-of-file-when-reading-pipe-t.patch42
-rw-r--r--net/xl2tpd/patches/201-xl2tpd-control-define-_GNU_SOURCE-to-use-fmemopen-an.patch26
-rw-r--r--net/xl2tpd/patches/202-xl2tpd-control-open-control-file-with-O_NONBLOCK.patch42
-rw-r--r--net/xl2tpd/patches/203-xl2tpd-control-cleaup-result-file-atexit.patch75
-rw-r--r--net/xl2tpd/patches/204-xl2tpd-control-enhance-output-of-print_error.patch58
-rw-r--r--net/xl2tpd/patches/205-xl2tpd-fix-typo-in-reporting-available-lns-count.patch34
-rw-r--r--net/xl2tpd/patches/206-xl2tpd-start_pppd-place-opts-after-plugin-pppol2tp.s.patch71
-rw-r--r--net/xl2tpd/patches/207-xl2tpd-introduce-new-option-l-for-using-syslog-as-th.patch104
-rw-r--r--net/xl2tpd/patches/208-xl2tpd-unlink-result-file-to-prevent-leftover-a-regu.patch26
-rw-r--r--net/xl2tpd/patches/209-xl2tpd-ignore-SIGPIPE-signal.patch32
-rw-r--r--net/xl2tpd/patches/210-xl2tpd-control-show-all-available-commands-in-help.patch119
12 files changed, 3 insertions, 632 deletions
diff --git a/net/xl2tpd/Makefile b/net/xl2tpd/Makefile
index 6f9bce869..f46cec615 100644
--- a/net/xl2tpd/Makefile
+++ b/net/xl2tpd/Makefile
@@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=xl2tpd
-PKG_VERSION:=1.3.7pre20150524
-PKG_RELEASE:=3
+PKG_VERSION:=devel-20150812
+PKG_RELEASE:=1
PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=LICENSE
@@ -17,7 +17,7 @@ PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/xelerance/xl2tpd.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=1cda2a266e2e957b81019d63a8902b28304a0ac4
+PKG_SOURCE_VERSION:=5674a5835e9b89b7438917a380f3a6d68528fa3e
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_INSTALL:=1
diff --git a/net/xl2tpd/patches/200-xl2tpd-control-check-end-of-file-when-reading-pipe-t.patch b/net/xl2tpd/patches/200-xl2tpd-control-check-end-of-file-when-reading-pipe-t.patch
deleted file mode 100644
index 811f9affe..000000000
--- a/net/xl2tpd/patches/200-xl2tpd-control-check-end-of-file-when-reading-pipe-t.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 7973d45a0e1716ddc6bfb6caf600f826f59a7932 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Tue, 28 Apr 2015 21:26:15 +0800
-Subject: [PATCH 200/210] xl2tpd-control: check end-of-file when reading pipe
- to avoid dead loop.
-
----
- xl2tpd-control.c | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/xl2tpd-control.c b/xl2tpd-control.c
-index feafe10..e5904d8 100644
---- a/xl2tpd-control.c
-+++ b/xl2tpd-control.c
-@@ -306,17 +306,20 @@ int read_result(int result_fd, char* buf, ssize_t size)
- /*FIXME: there is a chance to hang up reading.
- Should I create watching thread with timeout?
- */
-- ssize_t readed;
-+ ssize_t readed = 0;
-+ ssize_t len;
-+
- do
- {
-- readed = read (result_fd, buf, size);
-- if (readed < 0)
-+ len = read (result_fd, buf + readed, size - readed);
-+ if (len < 0)
- {
- print_error (ERROR_LEVEL,
- "error: can't read command result: %s\n", strerror (errno));
- break;
- }
-- } while (readed == 0);
-+ readed += len;
-+ } while (len > 0 && (size - readed) > 0);
- buf[readed] = '\0';
-
- /* scan result code */
---
-1.7.10.4
-
diff --git a/net/xl2tpd/patches/201-xl2tpd-control-define-_GNU_SOURCE-to-use-fmemopen-an.patch b/net/xl2tpd/patches/201-xl2tpd-control-define-_GNU_SOURCE-to-use-fmemopen-an.patch
deleted file mode 100644
index a4f704aa3..000000000
--- a/net/xl2tpd/patches/201-xl2tpd-control-define-_GNU_SOURCE-to-use-fmemopen-an.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From efa0a18b5dfd827792b07acdcb35101229ccf612 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Wed, 29 Apr 2015 10:32:37 +0800
-Subject: [PATCH 201/210] xl2tpd-control: define _GNU_SOURCE to use fmemopen()
- and friends.
-
----
- xl2tpd-control.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/xl2tpd-control.c b/xl2tpd-control.c
-index e5904d8..9b6235d 100644
---- a/xl2tpd-control.c
-+++ b/xl2tpd-control.c
-@@ -10,6 +10,8 @@
- *
- */
-
-+#define _GNU_SOURCE
-+
- #include <stdio.h>
- #include <string.h>
- #include <stdarg.h>
---
-1.7.10.4
-
diff --git a/net/xl2tpd/patches/202-xl2tpd-control-open-control-file-with-O_NONBLOCK.patch b/net/xl2tpd/patches/202-xl2tpd-control-open-control-file-with-O_NONBLOCK.patch
deleted file mode 100644
index 17721f278..000000000
--- a/net/xl2tpd/patches/202-xl2tpd-control-open-control-file-with-O_NONBLOCK.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From fedfd6685e5f81f0460beb4c448a30e7a6cfbd31 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Wed, 29 Apr 2015 14:21:12 +0800
-Subject: [PATCH 202/210] xl2tpd-control: open control file with O_NONBLOCK.
-
-Otherwise xl2tpd-control would block indefinitely in case xl2tpd is
-not running.
----
- xl2tpd-control.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/xl2tpd-control.c b/xl2tpd-control.c
-index 9b6235d..973ee87 100644
---- a/xl2tpd-control.c
-+++ b/xl2tpd-control.c
-@@ -246,7 +246,7 @@ int main (int argc, char *argv[])
- print_error (DEBUG_LEVEL, "command to be passed:\n%s\n", buf);
-
- /* try to open control file for writing */
-- int control_fd = open (control_filename, O_WRONLY, 0600);
-+ int control_fd = open (control_filename, O_WRONLY | O_NONBLOCK, 0600);
- if (control_fd < 0)
- {
- int errorno = errno;
-@@ -265,6 +265,14 @@ int main (int argc, char *argv[])
- }
- return -1;
- }
-+
-+ /* turn off O_NONBLOCK */
-+ if (fcntl (control_fd, F_SETFL, O_WRONLY) == -1) {
-+ print_error (ERROR_LEVEL,
-+ "Can not turn off nonblocking mode for control_fd: %s\n",
-+ strerror(errno));
-+ return -2;
-+ }
-
- /* pass command to control pipe */
- if (write (control_fd, buf, ftell (mesf)) < 0)
---
-1.7.10.4
-
diff --git a/net/xl2tpd/patches/203-xl2tpd-control-cleaup-result-file-atexit.patch b/net/xl2tpd/patches/203-xl2tpd-control-cleaup-result-file-atexit.patch
deleted file mode 100644
index 66eee642f..000000000
--- a/net/xl2tpd/patches/203-xl2tpd-control-cleaup-result-file-atexit.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 07e522cd7e223517389582a8eb647a4a6a8a5cf8 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Thu, 30 Apr 2015 13:53:11 +0800
-Subject: [PATCH 203/210] xl2tpd-control: cleaup result file atexit().
-
----
- xl2tpd-control.c | 21 ++++++++++++++-------
- 1 file changed, 14 insertions(+), 7 deletions(-)
-
-diff --git a/xl2tpd-control.c b/xl2tpd-control.c
-index 973ee87..abc0324 100644
---- a/xl2tpd-control.c
-+++ b/xl2tpd-control.c
-@@ -12,6 +12,7 @@
-
- #define _GNU_SOURCE
-
-+#include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- #include <stdarg.h>
-@@ -35,6 +36,9 @@
- #define TUNNEL_REQUIRED 1
- #define TUNNEL_NOT_REQUIRED 0
-
-+char result_filename[128];
-+int result_fd = -1;
-+
- int log_level = ERROR_LEVEL;
-
- void print_error (int level, const char *fmt, ...);
-@@ -117,6 +121,14 @@ void help()
- );
- }
-
-+void cleanup(void)
-+{
-+ /* cleaning up */
-+ if (result_fd >= 0)
-+ close (result_fd);
-+ unlink (result_filename);
-+}
-+
- int main (int argc, char *argv[])
- {
- char* control_filename = NULL;
-@@ -195,11 +207,11 @@ int main (int argc, char *argv[])
- FILE* mesf = fmemopen (buf, CONTROL_PIPE_MESSAGE_SIZE, "w");
-
- /* create result pipe for reading */
-- char result_filename[128];
- snprintf (result_filename, 128, RESULT_FILENAME_FORMAT, getpid());
- unlink (result_filename);
- mkfifo (result_filename, 0600);
-- int result_fd = open (result_filename, O_RDONLY | O_NONBLOCK, 0600);
-+ atexit(cleanup);
-+ result_fd = open (result_filename, O_RDONLY | O_NONBLOCK, 0600);
- if (result_fd < 0)
- {
- print_error (ERROR_LEVEL,
-@@ -293,11 +305,6 @@ int main (int argc, char *argv[])
- );
- printf ("%s", rbuf);
-
-- /* cleaning up */
--
-- close (result_fd);
-- unlink (result_filename);
--
- return command_result_code;
- }
-
---
-1.7.10.4
-
diff --git a/net/xl2tpd/patches/204-xl2tpd-control-enhance-output-of-print_error.patch b/net/xl2tpd/patches/204-xl2tpd-control-enhance-output-of-print_error.patch
deleted file mode 100644
index 4e575078a..000000000
--- a/net/xl2tpd/patches/204-xl2tpd-control-enhance-output-of-print_error.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From f6eaaabb0b2fab12cf597b8c1d12d470a13e581f Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Thu, 14 May 2015 14:58:10 +0800
-Subject: [PATCH 204/210] xl2tpd-control: enhance output of print_error().
-
- - Add prefix "xl2tpd-control: " to print_error() output.
- - Output response from xl2tpd only when -d is enabled as result of
- control command can be retrieved from exit code.
- - Remove some redundant and not that useful verbose output.
----
- xl2tpd-control.c | 10 ++++------
- 1 file changed, 4 insertions(+), 6 deletions(-)
-
-diff --git a/xl2tpd-control.c b/xl2tpd-control.c
-index abc0324..6b08850 100644
---- a/xl2tpd-control.c
-+++ b/xl2tpd-control.c
-@@ -164,7 +164,6 @@ int main (int argc, char *argv[])
- {
- control_filename = strdup (CONTROL_PIPE);
- }
-- print_error (DEBUG_LEVEL, "set control filename to %s\n", control_filename);
-
- /* parse command name */
- for (command = commands; command->name; command++)
-@@ -176,10 +175,7 @@ int main (int argc, char *argv[])
- }
- }
-
-- if (command->name)
-- {
-- print_error (DEBUG_LEVEL, "get command %s\n", command->name);
-- } else {
-+ if (!command->name) {
- print_error (ERROR_LEVEL, "error: no such command %s\n", argv[i]);
- return -1;
- }
-@@ -303,7 +299,8 @@ int main (int argc, char *argv[])
- int command_result_code = read_result (
- result_fd, rbuf, CONTROL_PIPE_MESSAGE_SIZE
- );
-- printf ("%s", rbuf);
-+ /* rbuf contains a newline, make it double to form a boundary. */
-+ print_error (DEBUG_LEVEL, "command response: \n%s\n", rbuf);
-
- return command_result_code;
- }
-@@ -313,6 +310,7 @@ void print_error (int level, const char *fmt, ...)
- if (level > log_level) return;
- va_list args;
- va_start (args, fmt);
-+ fprintf (stderr, "xl2tpd-control: ");
- vfprintf (stderr, fmt, args);
- va_end (args);
- }
---
-1.7.10.4
-
diff --git a/net/xl2tpd/patches/205-xl2tpd-fix-typo-in-reporting-available-lns-count.patch b/net/xl2tpd/patches/205-xl2tpd-fix-typo-in-reporting-available-lns-count.patch
deleted file mode 100644
index b25e82be4..000000000
--- a/net/xl2tpd/patches/205-xl2tpd-fix-typo-in-reporting-available-lns-count.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 1c148f6645f43bf5abd8a9b8f0708a598b357d97 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Thu, 14 May 2015 19:56:39 +0800
-Subject: [PATCH 205/210] xl2tpd: fix typo in reporting available lns count.
-
----
- xl2tpd.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/xl2tpd.c b/xl2tpd.c
-index c9b7579..6c945fc 100644
---- a/xl2tpd.c
-+++ b/xl2tpd.c
-@@ -1039,7 +1039,7 @@ int control_handle_available(FILE* resf, char* bufp){
- lns_count++;
- }
-
-- write_res (resf, "%02i AVAILABLE lns.cout=%d\n", 0, lns_count);
-+ write_res (resf, "%02i AVAILABLE lns.count=%d\n", 0, lns_count);
-
- lac = laclist;
- int lac_count = 0;
-@@ -1053,7 +1053,7 @@ int control_handle_available(FILE* resf, char* bufp){
- if(deflac){
- write_res (resf, "%02i AVAILABLE lac.%d.name=%s\n", 0, lac_count, deflac->entname);
- lac_count++;
-- }
-+ }
-
- write_res (resf, "%02i AVAILABLE lac.count=%d\n", 0, lac_count);
- return 1;
---
-1.7.10.4
-
diff --git a/net/xl2tpd/patches/206-xl2tpd-start_pppd-place-opts-after-plugin-pppol2tp.s.patch b/net/xl2tpd/patches/206-xl2tpd-start_pppd-place-opts-after-plugin-pppol2tp.s.patch
deleted file mode 100644
index 60d8b84db..000000000
--- a/net/xl2tpd/patches/206-xl2tpd-start_pppd-place-opts-after-plugin-pppol2tp.s.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 18fdf802d31354c62a27cc5a63b196780a0d486e Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Wed, 29 Apr 2015 16:30:17 +0800
-Subject: [PATCH 206/210] xl2tpd: start_pppd: place opts after "plugin
- pppol2tp.so".
-
-so that plugin options like pppol2tp_debug_mark can be recognized by
-pppd. While doing this also add bound check to prevent potential buffer
-overflow problem.
----
- xl2tpd.c | 22 +++++++++++-----------
- 1 file changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/xl2tpd.c b/xl2tpd.c
-index 6c945fc..017adfd 100644
---- a/xl2tpd.c
-+++ b/xl2tpd.c
-@@ -382,7 +382,6 @@ int start_pppd (struct call *c, struct ppp_opts *opts)
- /* 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 ppp_opts *opts)
- 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 ppp_opts *opts)
- snprintf (stropt[pos], 10, "%d", c->ourcid);
- pos++;
- }
-- stropt[pos] = NULL;
- }
- else
- #endif
-@@ -497,6 +486,17 @@ int start_pppd (struct call *c, struct ppp_opts *opts)
- return -EINVAL;
- }
- stropt[pos++] = strdup(tty);
-+ }
-+
-+ {
-+ struct ppp_opts *p = opts;
-+ int maxn_opts = sizeof(stropt) / sizeof(stropt[0]) - 1;
-+ while (p && pos < maxn_opts)
-+ {
-+ stropt[pos] = strdup (p->option);
-+ pos++;
-+ p = p->next;
-+ }
- stropt[pos] = NULL;
- }
-
---
-1.7.10.4
-
diff --git a/net/xl2tpd/patches/207-xl2tpd-introduce-new-option-l-for-using-syslog-as-th.patch b/net/xl2tpd/patches/207-xl2tpd-introduce-new-option-l-for-using-syslog-as-th.patch
deleted file mode 100644
index 5ab94cb05..000000000
--- a/net/xl2tpd/patches/207-xl2tpd-introduce-new-option-l-for-using-syslog-as-th.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From b3402a68a4d29e9b1ae4e012e39a7bcb14fea3cf Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Thu, 30 Apr 2015 13:57:36 +0800
-Subject: [PATCH 207/210] xl2tpd: introduce new option -l for using syslog as
- the logging facility.
-
-Defaults to old behaviour if no -l option was specified. Also update
-manual doc to reflect this change.
----
- doc/xl2tpd.8 | 5 +++++
- file.h | 1 +
- misc.c | 2 +-
- xl2tpd.c | 13 ++++++++++++-
- 4 files changed, 19 insertions(+), 2 deletions(-)
-
-diff --git a/doc/xl2tpd.8 b/doc/xl2tpd.8
-index 915b247..7afccac 100644
---- a/doc/xl2tpd.8
-+++ b/doc/xl2tpd.8
-@@ -20,6 +20,11 @@ This option prevents xl2tpd from detaching from the terminal and
- daemonizing.
-
- .TP
-+.B -l
-+This option tells xl2tpd to use syslog for logging even when \fB\-D\fR
-+was specified.
-+
-+.TP
- .B -c <config file>
- Tells xl2tpd to use an alternate config file. Default is
- /etc/xl2tpd/xl2tpd.conf. Fallback configuration file is
-diff --git a/file.h b/file.h
-index 89987ae..92df046 100644
---- a/file.h
-+++ b/file.h
-@@ -151,6 +151,7 @@ struct global
- char pidfile[STRLEN]; /* File containing the pid number*/
- char controlfile[STRLEN]; /* Control file name (named pipe) */
- int daemon; /* Use daemon mode? */
-+ int syslog; /* Use syslog for logging? */
- int accesscontrol; /* Use access control? */
- int forceuserspace; /* Force userspace? */
- int packet_dump; /* Dump (print) all packets? */
-diff --git a/misc.c b/misc.c
-index 3092401..cccf4ca 100644
---- a/misc.c
-+++ b/misc.c
-@@ -57,7 +57,7 @@ void l2tp_log (int level, const char *fmt, ...)
- vsnprintf (buf, sizeof (buf), fmt, args);
- va_end (args);
-
-- if(gconfig.daemon) {
-+ if(gconfig.syslog) {
- init_log();
- SYSLOG_CALL( syslog (level, "%s", buf) );
- } else {
-diff --git a/xl2tpd.c b/xl2tpd.c
-index 017adfd..1937690 100644
---- a/xl2tpd.c
-+++ b/xl2tpd.c
-@@ -1594,7 +1594,7 @@ void do_control ()
- void usage(void) {
- printf("\nxl2tpd version: %s\n", SERVER_VERSION);
- printf("Usage: xl2tpd [-c <config file>] [-s <secret file>] [-p <pid file>]\n"
-- " [-C <control file>] [-D]\n"
-+ " [-C <control file>] [-D] [-l]\n"
- " [-v, --version]\n");
- printf("\n");
- exit(1);
-@@ -1605,6 +1605,7 @@ void init_args(int argc, char *argv[])
- int i=0;
-
- gconfig.daemon=1;
-+ gconfig.syslog=-1;
- memset(gconfig.altauthfile,0,STRLEN);
- memset(gconfig.altconfigfile,0,STRLEN);
- memset(gconfig.authfile,0,STRLEN);
-@@ -1642,6 +1643,9 @@ void init_args(int argc, char *argv[])
- else if (! strncmp(argv[i],"-D",2)) {
- gconfig.daemon=0;
- }
-+ else if (! strncmp(argv[i],"-l",2)) {
-+ gconfig.syslog=1;
-+ }
- else if (! strncmp(argv[i],"-s",2)) {
- if(++i == argc)
- usage();
-@@ -1667,6 +1671,13 @@ void init_args(int argc, char *argv[])
- usage();
- }
- }
-+
-+ /*
-+ * defaults to syslog if no log facility was explicitly
-+ * specified and we are about to daemonize
-+ */
-+ if (gconfig.syslog < 0)
-+ gconfig.syslog = gconfig.daemon;
- }
-
-
---
-1.7.10.4
-
diff --git a/net/xl2tpd/patches/208-xl2tpd-unlink-result-file-to-prevent-leftover-a-regu.patch b/net/xl2tpd/patches/208-xl2tpd-unlink-result-file-to-prevent-leftover-a-regu.patch
deleted file mode 100644
index 90694f228..000000000
--- a/net/xl2tpd/patches/208-xl2tpd-unlink-result-file-to-prevent-leftover-a-regu.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From a2b163a65a2d4fbca57c3aa82b526cf8fbc8e449 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Fri, 15 May 2015 10:56:23 +0800
-Subject: [PATCH 208/210] xl2tpd: unlink result file to prevent leftover a
- regular file.
-
----
- xl2tpd.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/xl2tpd.c b/xl2tpd.c
-index 1937690..c11fe66 100644
---- a/xl2tpd.c
-+++ b/xl2tpd.c
-@@ -1582,6 +1582,8 @@ void do_control ()
- if (resf)
- {
- fclose (resf);
-+ /* unlink it anyway to prevent leftover a regular file. */
-+ unlink(res_filename);
- }
- }
-
---
-1.7.10.4
-
diff --git a/net/xl2tpd/patches/209-xl2tpd-ignore-SIGPIPE-signal.patch b/net/xl2tpd/patches/209-xl2tpd-ignore-SIGPIPE-signal.patch
deleted file mode 100644
index a0d88bd34..000000000
--- a/net/xl2tpd/patches/209-xl2tpd-ignore-SIGPIPE-signal.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 2d0eff7f56936823d784425d2171be295ba11027 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Fri, 15 May 2015 15:55:10 +0800
-Subject: [PATCH 209/210] xl2tpd: ignore SIGPIPE signal.
-
----
- xl2tpd.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/xl2tpd.c b/xl2tpd.c
-index c11fe66..58ed868 100644
---- a/xl2tpd.c
-+++ b/xl2tpd.c
-@@ -1551,7 +1551,6 @@ void do_control ()
- /*FIXME: check quotes to allow filenames with spaces?
- (do not forget quotes escaping to allow filenames with quotes)*/
-
-- /*FIXME: write to res_filename may cause SIGPIPE, need to catch it*/
- resf = fopen (res_filename, "w");
- if (!resf) {
- l2tp_log (LOG_DEBUG, "%s: Can't open result file %s\n",
-@@ -1811,6 +1810,7 @@ void init (int argc,char *argv[])
- signal (SIGCHLD, &sigchld_handler);
- signal (SIGUSR1, &sigusr1_handler);
- signal (SIGHUP, &sighup_handler);
-+ signal (SIGPIPE, SIG_IGN);
- init_scheduler ();
-
- unlink(gconfig.controlfile);
---
-1.7.10.4
-
diff --git a/net/xl2tpd/patches/210-xl2tpd-control-show-all-available-commands-in-help.patch b/net/xl2tpd/patches/210-xl2tpd-control-show-all-available-commands-in-help.patch
deleted file mode 100644
index 8eccffa58..000000000
--- a/net/xl2tpd/patches/210-xl2tpd-control-show-all-available-commands-in-help.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From 26b77b7cdc70beddc68507f74372a4e2815720f0 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Sun, 17 May 2015 10:53:44 +0800
-Subject: [PATCH 210/210] xl2tpd-control: show all available commands in
- --help.
-
----
- xl2tpd-control.c | 63 ++++++++++++++++++++++++++++++++++++++----------------
- 1 file changed, 44 insertions(+), 19 deletions(-)
-
-diff --git a/xl2tpd-control.c b/xl2tpd-control.c
-index 6b08850..b98ff24 100644
---- a/xl2tpd-control.c
-+++ b/xl2tpd-control.c
-@@ -51,6 +51,7 @@ struct command_t
- char *name;
- int (*handler) (FILE*, char* tunnel, int optc, char *optv[]);
- int requires_tunnel;
-+ char *help;
- };
-
- int command_add_lac (FILE*, char* tunnel, int optc, char *optv[]);
-@@ -65,13 +66,29 @@ int command_available (FILE*, char* tunnel, int optc, char *optv[]);
-
- struct command_t commands[] = {
- /* Keep this command mapping for backwards compat */
-- {"add", &command_add_lac, TUNNEL_REQUIRED},
-- {"connect", &command_connect_lac, TUNNEL_REQUIRED},
-- {"disconnect", &command_disconnect_lac, TUNNEL_REQUIRED},
-- {"remove", &command_remove_lac, TUNNEL_REQUIRED},
-+ {"add", &command_add_lac, TUNNEL_REQUIRED,
-+ "\tadd\tadds new or modify existing lac configuration.\n"
-+ "\t\tConfiguration must be specified as command options in\n"
-+ "\t\t<key>=<value> pairs format.\n"
-+ "\t\tSee available options in xl2tpd.conf(5)\n"
-+ },
-+ {"connect", &command_connect_lac, TUNNEL_REQUIRED,
-+ "\tconnect\ttries to activate the tunnel.\n"
-+ "\t\tUsername and secret for the tunnel can be passed as\n"
-+ "\t\tcommand options.\n"
-+ },
-+ {"disconnect", &command_disconnect_lac, TUNNEL_REQUIRED,
-+ "\tdisconnect\tdisconnects the tunnel.\n"
-+ },
-+ {"remove", &command_remove_lac, TUNNEL_REQUIRED,
-+ "\tremove\tremoves lac configuration from xl2tpd.\n"
-+ "\t\txl2tpd disconnects the tunnel before removing.\n"
-+ },
-
- /* LAC commands */
-- {"add-lac", &command_add_lac, TUNNEL_REQUIRED},
-+ {"add-lac", &command_add_lac, TUNNEL_REQUIRED,
-+ "\tadd-lns\tadds new or modify existing lns configuration.\n"
-+ },
- {"connect-lac", &command_connect_lac, TUNNEL_REQUIRED},
- {"disconnect-lac", &command_disconnect_lac, TUNNEL_REQUIRED},
- {"remove-lac", &command_remove_lac, TUNNEL_REQUIRED},
-@@ -89,36 +106,44 @@ struct command_t commands[] = {
-
- void usage()
- {
-+ int i;
-+
- printf ("\nxl2tpd server version %s\n", SERVER_VERSION);
- printf ("Usage: xl2tpd-control [-c <PATH>] <command> <tunnel name> [<COMMAND OPTIONS>]\n"
- "\n"
- " -c\tspecifies xl2tpd control file\n"
- " -d\tspecify xl2tpd-control to run in debug mode\n"
- "--help\tshows extended help\n"
-- "Available commands: add, connect, disconnect, remove, add-lns\n"
- );
-+
-+ printf ("Available commands: ");
-+ for (i = 0; commands[i].name; i++) {
-+ struct command_t *command = &commands[i];
-+ int last = command[1].name == NULL;
-+
-+ printf ("%s%s", command->name, !last ? ", " : "\n");
-+ }
- }
-
- void help()
- {
-+ int i;
-+
- usage();
- printf (
- "\n"
- "Commands help:\n"
-- "\tadd\tadds new or modify existing lac configuration.\n"
-- "\t\tConfiguration must be specified as command options in\n"
-- "\t\t<key>=<value> pairs format.\n"
-- "\t\tSee available options in xl2tpd.conf(5)\n"
-- "\tconnect\ttries to activate the tunnel.\n"
-- "\t\tUsername and secret for the tunnel can be passed as\n"
-- "\t\tcommand options.\n"
-- "\tdisconnect\tdisconnects the tunnel.\n"
-- "\tremove\tremoves lac configuration from xl2tpd.\n"
-- "\t\txl2tpd disconnects the tunnel before removing.\n"
-- "\n"
-- "\tadd-lns\tadds new or modify existing lns configuration.\n"
-- "See xl2tpd-control man page for more help\n"
- );
-+
-+ for (i = 0; commands[i].name; i++) {
-+ struct command_t *command = &commands[i];
-+
-+ if (!command->help)
-+ continue;
-+ printf ("%s", command->help);
-+ }
-+ /*FIXME Ha! there is currently no manpage for xl2tpd-control */
-+ printf ("See xl2tpd-control man page for more help\n");
- }
-
- void cleanup(void)
---
-1.7.10.4
-