xl2tpd: switch to github devel branch.
authorYousong Zhou <[email protected]>
Thu, 13 Aug 2015 01:17:29 +0000 (09:17 +0800)
committerYousong Zhou <[email protected]>
Fri, 14 Aug 2015 04:16:27 +0000 (12:16 +0800)
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 <[email protected]>
12 files changed:
net/xl2tpd/Makefile
net/xl2tpd/patches/200-xl2tpd-control-check-end-of-file-when-reading-pipe-t.patch [deleted file]
net/xl2tpd/patches/201-xl2tpd-control-define-_GNU_SOURCE-to-use-fmemopen-an.patch [deleted file]
net/xl2tpd/patches/202-xl2tpd-control-open-control-file-with-O_NONBLOCK.patch [deleted file]
net/xl2tpd/patches/203-xl2tpd-control-cleaup-result-file-atexit.patch [deleted file]
net/xl2tpd/patches/204-xl2tpd-control-enhance-output-of-print_error.patch [deleted file]
net/xl2tpd/patches/205-xl2tpd-fix-typo-in-reporting-available-lns-count.patch [deleted file]
net/xl2tpd/patches/206-xl2tpd-start_pppd-place-opts-after-plugin-pppol2tp.s.patch [deleted file]
net/xl2tpd/patches/207-xl2tpd-introduce-new-option-l-for-using-syslog-as-th.patch [deleted file]
net/xl2tpd/patches/208-xl2tpd-unlink-result-file-to-prevent-leftover-a-regu.patch [deleted file]
net/xl2tpd/patches/209-xl2tpd-ignore-SIGPIPE-signal.patch [deleted file]
net/xl2tpd/patches/210-xl2tpd-control-show-all-available-commands-in-help.patch [deleted file]

index 6f9bce8691a2fd43ed188b00ede25be79c1820dc..f46cec615840654d02accb19e76c4859c2338fab 100644 (file)
@@ -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 <[email protected]>
 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 (file)
index 811f9af..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-From 7973d45a0e1716ddc6bfb6caf600f826f59a7932 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <[email protected]>
-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 (file)
index a4f704a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From efa0a18b5dfd827792b07acdcb35101229ccf612 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <[email protected]>
-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 (file)
index 17721f2..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-From fedfd6685e5f81f0460beb4c448a30e7a6cfbd31 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <[email protected]>
-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 (file)
index 66eee64..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-From 07e522cd7e223517389582a8eb647a4a6a8a5cf8 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <[email protected]>
-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 (file)
index 4e57507..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-From f6eaaabb0b2fab12cf597b8c1d12d470a13e581f Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <[email protected]>
-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 (file)
index b25e82b..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From 1c148f6645f43bf5abd8a9b8f0708a598b357d97 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <[email protected]>
-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 (file)
index 60d8b84..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-From 18fdf802d31354c62a27cc5a63b196780a0d486e Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <[email protected]>
-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 (file)
index 5ab94cb..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-From b3402a68a4d29e9b1ae4e012e39a7bcb14fea3cf Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <[email protected]>
-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 (file)
index 90694f2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From a2b163a65a2d4fbca57c3aa82b526cf8fbc8e449 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <[email protected]>
-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 (file)
index a0d88bd..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From 2d0eff7f56936823d784425d2171be295ba11027 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <[email protected]>
-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 (file)
index 8eccffa..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-From 26b77b7cdc70beddc68507f74372a4e2815720f0 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <[email protected]>
-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
-