From e7942a3f7f9879fa239027d4224b20e7fae70d07 Mon Sep 17 00:00:00 2001 From: florian Date: Thu, 3 Aug 2006 11:49:46 +0000 Subject: [PATCH] Port l2tpns to -ng git-svn-id: svn://svn.openwrt.org/openwrt/packages@4418 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- net/l2tpns/Makefile | 55 ++++++++ .../01-honor_includes_remove_backtrace.patch | 128 ++++++++++++++++++ 2 files changed, 183 insertions(+) create mode 100644 net/l2tpns/Makefile create mode 100644 net/l2tpns/patches/01-honor_includes_remove_backtrace.patch diff --git a/net/l2tpns/Makefile b/net/l2tpns/Makefile new file mode 100644 index 000000000..fc8d5473b --- /dev/null +++ b/net/l2tpns/Makefile @@ -0,0 +1,55 @@ +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# $Id$ + +include $(TOPDIR)/rules.mk + +PKG_NAME:=l2tpns +PKG_VERSION:=2.1.14 +PKG_RELEASE:=1 +PKG_MD5SUM:=2a0ee2a3678160c335f1d68c17c4f871 + +PKG_SOURCE_URL:=@SF/l2tpns +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_CAT:=zcat + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) +PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install + +include $(INCLUDE_DIR)/package.mk + +define Package/l2tpns + SECTION:=net + CATEGORY:=Network + DEPENDS:=+libcli + TITLE:=An L2TP enhanced server + DESCRIPTION:=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.\\\ + URL:=http://sourceforge.net/projects/l2tpns +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) \ + CC=$(TARGET_CC) \ + LD=$(TARGET_CC) \ + OPTIM="$(TARGET_CFLAGS)" \ + DESTDIR=$(PKG_INSTALL_DIR) \ + STAGING_DIR=$(STAGING_DIR) \ + all install +endef + +define Package/l2tpns/install + install -d -m0755 $(1)/etc/l2tpns + $(CP) $(PKG_INSTALL_DIR)/etc/l2tpns/* $(1)/etc/l2tpns/ + install -d -m0755 $(1)/usr/lib/l2tpns + $(CP) $(PKG_INSTALL_DIR)/usr/lib/l2tpns/* $(1)/usr/lib/l2tpns/ + install -d -m0755 $(1)/usr/sbin + $(CP) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/ +endef + +$(eval $(call BuildPackage,l2tpns)) diff --git a/net/l2tpns/patches/01-honor_includes_remove_backtrace.patch b/net/l2tpns/patches/01-honor_includes_remove_backtrace.patch new file mode 100644 index 000000000..a8e4d754a --- /dev/null +++ b/net/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, ¶ms)) == 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 +-#include + #include + #include + #include +@@ -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; + } +