From: Florian Fainelli Date: Mon, 7 Aug 2006 12:47:31 +0000 (+0000) Subject: Port rp-l2tpd to -ng X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=2a6509678c011fc300622e097e05e16fada919e8;p=openwrt%2Fsvn-archive%2Farchive.git Port rp-l2tpd to -ng SVN-Revision: 4506 --- diff --git a/net/rp-l2tp/Makefile b/net/rp-l2tp/Makefile new file mode 100644 index 0000000000..d482cae66d --- /dev/null +++ b/net/rp-l2tp/Makefile @@ -0,0 +1,85 @@ +# +# 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:=rp-l2tp +PKG_VERSION:=0.4 +PKG_RELEASE:=1 +PKG_MD5SUM:=0e45d11cb4fa6c56cce6b1d119733ed9 + +PKG_SOURCE_URL:=@SF/rp-l2tp +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/rp-l2tpd + SECTION:=net + CATEGORY:=Network + TITLE:=an L2TP (Layer 2 Tunneling Protocol) daemon + DESCRIPTION:=An L2TP (Layer 2 Tunneling Protocol) daemon. + URL:=http://sourceforge.net/projects/rp-l2tp/ + MENU:=1 +endef + +define Package/rp-l2tpd-mod-cmd + SECTION:=net + CATEGORY:=Network + DEPENDS:=rp-l2tpd + TITLE:=a simple command handler for the L2TP daemon +endef + +define Package/rp-l2tpd-mod-ppp + SECTION:=net + CATEGORY:=Network + DEPENDS:=rp-l2tpd + TITLE:=a PPP handler for the L2TP daeomon +endef + +define Build/Configure +$(call Build/Configure/Default) +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) \ + $(TARGET_CONFIGURE_OPTS) \ + DESTDIR="$(PKG_INSTALL_DIR)" \ + all install +endef + +define Package/rp-l2tpd/install + install -d -m0755 $(1)/etc + $(CP) $(PKG_INSTALL_DIR)/etc/l2tp.conf.example $(1)/etc/l2tp.conf + install -d -m0755 $(1)/etc/init.d + install -m0755 ./files/rp-l2tpd.init $(1)/etc/init.d/rp-l2tpd + install -d -m0755 $(1)/usr/lib/l2tp + install -d -m0755 $(1)/usr/sbin + $(CP) $(PKG_INSTALL_DIR)/usr/sbin/l2tpd $(1)/usr/sbin/ +endef + +define Package/rp-l2tpd-mod-cmd/install + install -d -m0755 $(1)/usr/lib/l2tp + $(CP) $(PKG_INSTALL_DIR)/usr/lib/l2tp/cmd.so $(1)/usr/lib/l2tp/ + install -d -m0755 $(1)/usr/sbin + $(CP) $(PKG_INSTALL_DIR)/usr/sbin/l2tp-control $(1)/usr/sbin/ +endef + +define Package/rp-l2tpd-mod-ppp/install + install -d -m0755 $(1)/usr/lib/l2tp + $(CP) $(PKG_INSTALL_DIR)/usr/lib/l2tp/sync-pppd.so $(1)/usr/lib/l2tp/ +endef + +$(eval $(call BuildPackage,rp-l2tpd)) +$(eval $(call BuildPackage,rp-l2tpd-mod-cmd)) +$(eval $(call BuildPackage,rp-l2tpd-mod-ppp)) + + diff --git a/net/rp-l2tp/files/rp-l2tpd.init b/net/rp-l2tp/files/rp-l2tpd.init new file mode 100755 index 0000000000..4e03836bbe --- /dev/null +++ b/net/rp-l2tp/files/rp-l2tpd.init @@ -0,0 +1,17 @@ +#!/bin/sh + +DEFAULT=/etc/default/rp-l2tpd +RUN_D=/var/run +[ -f $DEFAULT ] && . $DEFAULT + +case $1 in + start) + [ -d $RUN_D ] || mkdir -p $RUN_D + l2tpd $OPTIONS + ;; + *) + echo "usage: $0 (start)" + exit 1 +esac + +exit $? diff --git a/net/rp-l2tp/patches/01-cross.patch b/net/rp-l2tp/patches/01-cross.patch new file mode 100644 index 0000000000..654402efd0 --- /dev/null +++ b/net/rp-l2tp/patches/01-cross.patch @@ -0,0 +1,235 @@ +diff -ruN rp-l2tp-0.4-orig/Makefile.in rp-l2tp-0.4-4/Makefile.in +--- rp-l2tp-0.4-orig/Makefile.in 2004-07-01 17:17:11.000000000 +0200 ++++ rp-l2tp-0.4-4/Makefile.in 2005-03-09 16:26:49.000000000 +0100 +@@ -27,10 +27,10 @@ + sbindir=@sbindir@ + + OBJS=auth.o debug.o dgram.o main.o md5.o network.o options.o peer.o session.o tunnel.o utils.o +-EXTRA_LIBS=@LIBEVENT@/*.o -ldl ++EXTRA_LIBS=@LIBEVENT@/*.o -lc -ldl + + SRCS=$(OBJS:.o=.c) +-CFLAGS=-g -I.. -I@LIBEVENT@ -Wall -Wstrict-prototypes -ansi -pedantic -D_GNU_SOURCE -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(prefix)\" ++CFLAGS=@CFLAGS@ -I@LIBEVENT@ -Wall -Wstrict-prototypes -ansi -pedantic -D_GNU_SOURCE -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(prefix)\" + + TARGETS=l2tpd libl2tp.a handlers + +@@ -38,12 +38,12 @@ + + libl2tp.a: $(OBJS) + rm -f $@ +- ar -rc $@ $^ +- ranlib $@ || true ++ $(AR) -rc $@ $^ ++ @RANLIB@ $@ || true + + l2tpd: libl2tp.a libevent/libevent.a + $(MAKE) -C handlers +- @CC@ -o l2tpd -rdynamic $(OBJS) $(EXTRA_LIBS) ++ @CC@ $(CFLAGS) -o l2tpd -rdynamic $(OBJS) $(EXTRA_LIBS) + + libevent/libevent.a: + test -d libevent || ln -s ../libevent . +@@ -72,18 +72,20 @@ + rm -f *.o *.a *~ + rm -f l2tpd + $(MAKE) -C handlers clean ++ $(MAKE) -C libevent clean + + distclean: clean +- rm -f Makefile config.cache ++ rm -f Makefile config.cache config.log config.status .depend + $(MAKE) -C handlers distclean ++ $(MAKE) -C libevent distclean + + -include .depend + + install: all + -mkdir -p $(RPM_INSTALL_ROOT)$(DESTDIR)$(sbindir) +- $(install) -m 755 -s l2tpd $(RPM_INSTALL_ROOT)$(DESTDIR)$(sbindir) ++ $(install) -m 755 l2tpd $(RPM_INSTALL_ROOT)$(DESTDIR)$(sbindir) + -mkdir -p $(RPM_INSTALL_ROOT)$(DESTDIR)/etc/l2tp +- $(install) -m 644 l2tp.conf $(RPM_INSTALL_ROOT)$(DESTDIR)/etc/l2tp/l2tp.conf.example ++ $(install) -m 644 l2tp.conf $(RPM_INSTALL_ROOT)$(DESTDIR)/etc/l2tp.conf.example + -mkdir -p $(RPM_INSTALL_ROOT)$(DESTDIR)$(mandir)/man8 + -mkdir -p $(RPM_INSTALL_ROOT)$(DESTDIR)$(mandir)/man5 + $(install) -m 644 man/l2tpd.8 $(RPM_INSTALL_ROOT)$(DESTDIR)$(mandir)/man8 +diff -ruN rp-l2tp-0.4-orig/handlers/Makefile.in rp-l2tp-0.4-4/handlers/Makefile.in +--- rp-l2tp-0.4-orig/handlers/Makefile.in 2002-09-30 21:45:00.000000000 +0200 ++++ rp-l2tp-0.4-4/handlers/Makefile.in 2005-03-09 16:26:49.000000000 +0100 +@@ -14,32 +14,34 @@ + + OBJS=pty.o sync-pppd.o dstring.o + SRCS=$(OBJS:.o=.c) +-CFLAGS=-g -O2 -I.. -I../libevent -I../../libevent -Wall ++CFLAGS=@CFLAGS@ -I.. -I../libevent -I../../libevent -Wall + + all: $(HANDLERS) l2tp-control + + l2tp-control: cmd-control.o +- gcc -o l2tp-control cmd-control.o ++ $(CC) $(CFLAGS) -o l2tp-control cmd-control.o + + cmd-control.o: cmd-control.c +- gcc -c -o $@ $^ ++ $(CC) $(CFLAGS) -c -o $@ $^ + + %.o: %.c +- gcc $(CFLAGS) -fPIC -c -o $@ $< ++ $(CC) $(CFLAGS) -fPIC -c -o $@ $< + + sync-pppd.so: pty.o sync-pppd.o +- gcc -shared -o $@ $^ ++ $(CC) $(CFLAGS) -shared -o $@ $^ + + cmd.so: cmd.o dstring.o +- gcc -shared -o $@ $^ ++ $(CC) $(CFLAGS) -shared -o $@ $^ + + clean: + rm -f *.so *.o *~ + rm -f l2tp-control + + install: all +- -mkdir -p $(RPM_INSTALL_ROOT)$(sbindir) +- -mkdir -p $(RPM_INSTALL_ROOT)$(prefix)/lib/l2tp/plugins +- $(install) -m 755 -s l2tp-control $(RPM_INSTALL_ROOT)$(sbindir) +- $(install) -m 755 $(HANDLERS) $(RPM_INSTALL_ROOT)$(prefix)/lib/l2tp/plugins ++ -mkdir -p $(RPM_INSTALL_ROOT)$(DESTDIR)$(sbindir) ++ -mkdir -p $(RPM_INSTALL_ROOT)$(DESTDIR)$(prefix)/lib/l2tp ++ $(install) -m 755 l2tp-control $(RPM_INSTALL_ROOT)$(DESTDIR)$(sbindir) ++ $(install) -m 755 $(HANDLERS) $(RPM_INSTALL_ROOT)$(DESTDIR)$(prefix)/lib/l2tp ++ + distclean: clean ++ rm -f Makefile +diff -ruN rp-l2tp-0.4-orig/handlers/cmd-control.c rp-l2tp-0.4-4/handlers/cmd-control.c +--- rp-l2tp-0.4-orig/handlers/cmd-control.c 2002-09-30 21:45:00.000000000 +0200 ++++ rp-l2tp-0.4-4/handlers/cmd-control.c 2005-03-09 16:26:49.000000000 +0100 +@@ -52,7 +52,7 @@ + + memset(&addr, 0, sizeof(addr)); + addr.sun_family = AF_LOCAL; +- strncpy(addr.sun_path, "/var/run/l2tpctrl", sizeof(addr.sun_path) - 1); ++ strncpy(addr.sun_path, "/var/run/l2tp.sock", sizeof(addr.sun_path) - 1); + + fd = socket(AF_LOCAL, SOCK_STREAM, 0); + if (fd < 0) { +diff -ruN rp-l2tp-0.4-orig/handlers/cmd.c rp-l2tp-0.4-4/handlers/cmd.c +--- rp-l2tp-0.4-orig/handlers/cmd.c 2004-07-01 16:58:56.000000000 +0200 ++++ rp-l2tp-0.4-4/handlers/cmd.c 2005-03-09 16:26:49.000000000 +0100 +@@ -162,7 +162,7 @@ + + /* We have hit the end of our options. Open command socket */ + if (!sockname) { +- sockname = "/var/run/l2tpctrl"; ++ sockname = "/var/run/l2tp.sock"; + } + + (void) remove(sockname); +diff -ruN rp-l2tp-0.4-orig/libevent/Makefile.in rp-l2tp-0.4-4/libevent/Makefile.in +--- rp-l2tp-0.4-orig/libevent/Makefile.in 2002-09-30 21:45:00.000000000 +0200 ++++ rp-l2tp-0.4-4/libevent/Makefile.in 2005-03-09 16:26:49.000000000 +0100 +@@ -18,24 +18,27 @@ + + libevent.a: $(OBJS) + rm -f libevent.a +- ar -cq libevent.a $(OBJS) ++ $(AR) r libevent.a $(OBJS) + @RANLIB@ libevent.a + + event.o: event.c $(HDRS) +- gcc $(CFLAGS) -c -o event.o event.c ++ $(CC) $(CFLAGS) -c -o event.o event.c + + hash.o: hash.c $(HDRS) +- gcc $(CFLAGS) -c -o hash.o hash.c ++ $(CC) $(CFLAGS) -c -o hash.o hash.c + + event_sig.o: event_sig.c $(HDRS) +- gcc $(CFLAGS) -c -o event_sig.o event_sig.c ++ $(CC) $(CFLAGS) -c -o event_sig.o event_sig.c + + event_tcp.o: event_tcp.c $(HDRS) +- gcc $(CFLAGS) -c -o event_tcp.o event_tcp.c ++ $(CC) $(CFLAGS) -c -o event_tcp.o event_tcp.c + + clean: FORCE + rm -f *.a *.o *~ + ++distclean: clean ++ rm -f Makefile ++ + FORCE: + +-.phony: FORCE +\ No newline at end of file ++.phony: FORCE +diff -ruN rp-l2tp-0.4-orig/main.c rp-l2tp-0.4-4/main.c +--- rp-l2tp-0.4-orig/main.c 2002-09-30 21:45:00.000000000 +0200 ++++ rp-l2tp-0.4-4/main.c 2005-03-09 16:26:49.000000000 +0100 +@@ -68,7 +68,7 @@ + l2tp_peer_init(); + l2tp_debug_set_bitmask(debugmask); + +- if (l2tp_parse_config_file(es, "/etc/l2tp/l2tp.conf") < 0) { ++ if (l2tp_parse_config_file(es, "/etc/l2tp.conf") < 0) { + l2tp_die(); + } + +diff -ruN rp-l2tp-0.4-orig/man/l2tp.conf.5 rp-l2tp-0.4-4/man/l2tp.conf.5 +--- rp-l2tp-0.4-orig/man/l2tp.conf.5 2004-07-01 16:58:56.000000000 +0200 ++++ rp-l2tp-0.4-4/man/l2tp.conf.5 2005-03-09 16:26:49.000000000 +0100 +@@ -155,7 +155,7 @@ + in the global section. The only option available is: + .IP "\fBsocket-path\fP \fIpathname\fR" + Specifies the path name of the UNIX-domain socket for controlling the +-daemon. Defaults to \fI/var/run/l2tpctrl\fR. ++daemon. Defaults to \fI/var/run/l2tp.sock\fR. + .PP + Even if you do not supply any options to cmd, you \fImust\fR have + a \fBsection cmd\fR line to activate the handler. +diff -ruN rp-l2tp-0.4-orig/man/l2tpd.8 rp-l2tp-0.4-4/man/l2tpd.8 +--- rp-l2tp-0.4-orig/man/l2tpd.8 2002-09-30 21:45:00.000000000 +0200 ++++ rp-l2tp-0.4-4/man/l2tpd.8 2005-03-09 16:26:49.000000000 +0100 +@@ -47,17 +47,17 @@ + fairly lightweight and efficient. + + .SH L2TPD CONFIGURATION +-On startup, \fBl2tpd\fR reads the configuration file \fB/etc/l2tp/l2tp.conf\fR. ++On startup, \fBl2tpd\fR reads the configuration file \fB/etc/l2tp.conf\fR. + This configuration file sets operating parameters, describes peers and loads + and configures handlers. See \fBl2tp.conf\fR(5) for configuration + file details. + + .SH FILES + .TP +-.B /etc/l2tp/l2tp.conf ++.B /etc/l2tp.conf + Main configuration file. + .TP +-.B /var/run/l2tpctrl ++.B /var/run/l2tp.sock + Control socket for \fBcmd.so\fR handler. + + .SH AUTHORS +diff -ruN rp-l2tp-0.4-orig/utils.c rp-l2tp-0.4-4/utils.c +--- rp-l2tp-0.4-orig/utils.c 2002-09-30 21:45:00.000000000 +0200 ++++ rp-l2tp-0.4-4/utils.c 2005-03-09 16:26:49.000000000 +0100 +@@ -182,7 +182,7 @@ + * -1 on error, 0 if OK + * %DESCRIPTION: + * Dynamically-loads a handler and initializes it. If fname is not +-* an absolute path name, we load the handler from /usr/lib/l2tp/plugins ++* an absolute path name, we load the handler from /usr/lib/l2tp + ***********************************************************************/ + int + l2tp_load_handler(EventSelector *es, +@@ -196,7 +196,7 @@ + if (*fname == '/') { + handle = dlopen(fname, RTLD_NOW); + } else { +- snprintf(buf, sizeof(buf), "%s/lib/l2tp/plugins/%s", PREFIX, fname); ++ snprintf(buf, sizeof(buf), "%s/lib/l2tp/%s", PREFIX, fname); + buf[sizeof(buf)-1] = 0; + handle = dlopen(buf, RTLD_NOW); + }