summaryrefslogtreecommitdiff
path: root/package/l2tpns
diff options
context:
space:
mode:
authorwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
committerwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
commit219a6dab8995aad9ac4860cc1a84d6f3509a03a4 (patch)
treeb9c0f3c43aebba2fcfef777592d0add39f2072f4 /package/l2tpns
Initial import
Diffstat (limited to 'package/l2tpns')
-rw-r--r--package/l2tpns/Config.in12
-rw-r--r--package/l2tpns/Makefile32
-rw-r--r--package/l2tpns/ipkg/l2tpns.conffiles3
-rw-r--r--package/l2tpns/ipkg/l2tpns.control4
-rw-r--r--package/l2tpns/patches/01-honor_includes_remove_backtrace.patch128
5 files changed, 179 insertions, 0 deletions
diff --git a/package/l2tpns/Config.in b/package/l2tpns/Config.in
new file mode 100644
index 000000000..b1e1bad72
--- /dev/null
+++ b/package/l2tpns/Config.in
@@ -0,0 +1,12 @@
+config ADK_PACKAGE_L2TPNS
+ prompt "l2tpns............................ An L2TP enhanced server"
+ tristate
+ default n
+ select ADK_PACKAGE_LIBCLI
+ help
+ l2tpns is a layer 2 tunneling protocol network server (LNS).
+ It supports up to 65535 concurrent sessions per server/cluster
+ plus ISP features such as rate limiting, walled garden, usage
+ accounting, and more.
+
+ http://sourceforge.net/projects/l2tpns
diff --git a/package/l2tpns/Makefile b/package/l2tpns/Makefile
new file mode 100644
index 000000000..f78b3c421
--- /dev/null
+++ b/package/l2tpns/Makefile
@@ -0,0 +1,32 @@
+# $Id$
+#-
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= l2tpns
+PKG_VERSION:= 2.1.14
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 2a0ee2a3678160c335f1d68c17c4f871
+MASTER_SITES:= ${MASTER_SITE_SOURCEFORGE:=l2tpns/}
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,L2TPNS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${ARCH}))
+
+BUILD_FLAGS= auto
+INSTALL_STYLE= auto
+XAKE_FLAGS+= OPTIM="${TARGET_CFLAGS}" \
+ STAGING_DIR=${STAGING_DIR} \
+ LD="${TARGET_CC}"
+
+post-install:
+ ${INSTALL_DIR} ${IDIR_L2TPNS}/etc/l2tpns
+ ${CP} ${WRKINST}/etc/l2tpns/* ${IDIR_L2TPNS}/etc/l2tpns/
+ ${INSTALL_DIR} ${IDIR_L2TPNS}/usr/lib/l2tpns
+ ${CP} ${WRKINST}/usr/lib/l2tpns/* ${IDIR_L2TPNS}/usr/lib/l2tpns/
+ ${INSTALL_DIR} ${IDIR_L2TPNS}/usr/sbin
+ ${CP} ${WRKINST}/usr/sbin/* ${IDIR_L2TPNS}/usr/sbin/
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/l2tpns/ipkg/l2tpns.conffiles b/package/l2tpns/ipkg/l2tpns.conffiles
new file mode 100644
index 000000000..eaf3a5095
--- /dev/null
+++ b/package/l2tpns/ipkg/l2tpns.conffiles
@@ -0,0 +1,3 @@
+/etc/l2tpns/ip_pool
+/etc/l2tpns/startup-config
+/etc/l2tpns/users
diff --git a/package/l2tpns/ipkg/l2tpns.control b/package/l2tpns/ipkg/l2tpns.control
new file mode 100644
index 000000000..1946f8888
--- /dev/null
+++ b/package/l2tpns/ipkg/l2tpns.control
@@ -0,0 +1,4 @@
+Package: l2tpns
+Section: net
+Priority: optional
+Description: A layer 2 tunneling protocol network server (LNS).
diff --git a/package/l2tpns/patches/01-honor_includes_remove_backtrace.patch b/package/l2tpns/patches/01-honor_includes_remove_backtrace.patch
new file mode 100644
index 000000000..a8e4d754a
--- /dev/null
+++ b/package/l2tpns/patches/01-honor_includes_remove_backtrace.patch
@@ -0,0 +1,128 @@
+diff -urN orig/l2tpns-2.1.14/Makefile l2tpns-2.1.14/Makefile
+--- orig/l2tpns-2.1.14/Makefile 2005-12-07 06:21:37.000000000 +0100
++++ l2tpns-2.1.14/Makefile 2005-12-14 12:50:49.000000000 +0100
+@@ -11,17 +11,14 @@
+ DEFINES += -DETCDIR='"$(etcdir)"'
+
+ OPTIM =
+-OPTIM += -g
+ OPTIM += -O3
+
+-CC = gcc
+-LD = gcc
+-INCLUDES = -I.
++INCLUDES = -I. -I$(STAGING_DIR)/usr/include
+ CPPFLAGS = $(INCLUDES) $(DEFINES)
+ CFLAGS = -Wall -Wformat-security -Wno-format-zero-length $(OPTIM)
+-LDFLAGS =
++LDFLAGS = -L$(STAGING_DIR)/usr/lib
+ LDLIBS =
+-INSTALL = install -c -D -o root -g root
++INSTALL = install -c -D
+
+ l2tpns.LIBS = -lm -lcli -ldl
+
+diff -urN orig/l2tpns-2.1.14/l2tpns.c l2tpns-2.1.14/l2tpns.c
+--- orig/l2tpns-2.1.14/l2tpns.c 2005-12-07 06:21:37.000000000 +0100
++++ l2tpns-2.1.14/l2tpns.c 2005-12-14 12:50:36.000000000 +0100
+@@ -940,18 +940,14 @@
+
+ if (!t)
+ {
+- static int backtrace_count = 0;
+ LOG(0, 0, t, "tunnelsend called with 0 as tunnel id\n");
+ STAT(tunnel_tx_errors);
+- log_backtrace(backtrace_count, 5)
+ return;
+ }
+
+ if (!tunnel[t].ip)
+ {
+- static int backtrace_count = 0;
+ LOG(1, 0, t, "Error sending data out tunnel: no remote endpoint (tunnel not set up)\n");
+- log_backtrace(backtrace_count, 5)
+ STAT(tunnel_tx_errors);
+ return;
+ }
+@@ -4125,23 +4121,8 @@
+ struct sched_param params = {0};
+ params.sched_priority = 1;
+
+- if (get_nprocs() < 2)
+- {
+- LOG(0, 0, 0, "Not using FIFO scheduler, there is only 1 processor in the system.\n");
+- config->scheduler_fifo = 0;
+- }
+- else
+- {
+- if ((ret = sched_setscheduler(0, SCHED_FIFO, &params)) == 0)
+- {
+- LOG(1, 0, 0, "Using FIFO scheduler. Say goodbye to any other processes running\n");
+- }
+- else
+- {
+- LOG(0, 0, 0, "Error setting scheduler to FIFO: %s\n", strerror(errno));
+- config->scheduler_fifo = 0;
+- }
+- }
++ LOG(0, 0, 0, "Not using FIFO scheduler, there is only 1 processor in the system.\n");
++ config->scheduler_fifo = 0;
+ }
+
+ /* Set up the cluster communications port. */
+diff -urN orig/l2tpns-2.1.14/l2tpns.h l2tpns-2.1.14/l2tpns.h
+--- orig/l2tpns-2.1.14/l2tpns.h 2005-12-09 01:43:17.000000000 +0100
++++ l2tpns-2.1.14/l2tpns.h 2005-12-14 07:43:51.000000000 +0100
+@@ -5,7 +5,6 @@
+ #define __L2TPNS_H__
+
+ #include <netinet/in.h>
+-#include <execinfo.h>
+ #include <stdio.h>
+ #include <signal.h>
+ #include <stdlib.h>
+@@ -766,21 +765,6 @@
+ extern ippoolt *ip_address_pool;
+ #define sessionfree (session[0].next)
+
+-#define log_backtrace(count, max) \
+-if (count++ < max) { \
+- void *array[20]; \
+- char **strings; \
+- int size, i; \
+- LOG(0, 0, t, "Backtrace follows:\n"); \
+- size = backtrace(array, 10); \
+- strings = backtrace_symbols(array, size); \
+- if (strings) for (i = 0; i < size; i++) \
+- { \
+- LOG(0, 0, t, " %s\n", strings[i]); \
+- } \
+- free(strings); \
+-}
+-
+
+ extern configt *config;
+ extern time_t basetime; // Time when this process started.
+diff -urN orig/l2tpns-2.1.14/ppp.c l2tpns-2.1.14/ppp.c
+--- orig/l2tpns-2.1.14/ppp.c 2005-12-07 06:21:37.000000000 +0100
++++ l2tpns-2.1.14/ppp.c 2005-12-14 07:43:08.000000000 +0100
+@@ -1755,9 +1755,7 @@
+ {
+ if (size < 12) // Need more space than this!!
+ {
+- static int backtrace_count = 0;
+ LOG(0, s, t, "makeppp buffer too small for L2TP header (size=%d)\n", size);
+- log_backtrace(backtrace_count, 5)
+ return NULL;
+ }
+
+@@ -1780,9 +1778,7 @@
+
+ if (l + 12 > size)
+ {
+- static int backtrace_count = 0;
+ LOG(2, s, t, "makeppp would overflow buffer (size=%d, header+payload=%d)\n", size, l + 12);
+- log_backtrace(backtrace_count, 5)
+ return NULL;
+ }
+