diff options
Diffstat (limited to 'recipes/rp-pppoe/rp-pppoe-3.8')
-rw-r--r-- | recipes/rp-pppoe/rp-pppoe-3.8/configure_in_cross.patch | 136 | ||||
-rw-r--r-- | recipes/rp-pppoe/rp-pppoe-3.8/dont-swallow-errors.patch | 11 | ||||
-rw-r--r-- | recipes/rp-pppoe/rp-pppoe-3.8/pppoe-no-timeout.patch | 16 | ||||
-rw-r--r-- | recipes/rp-pppoe/rp-pppoe-3.8/pppoe-server.default | 22 | ||||
-rwxr-xr-x | recipes/rp-pppoe/rp-pppoe-3.8/pppoe-server.init | 59 | ||||
-rw-r--r-- | recipes/rp-pppoe/rp-pppoe-3.8/pppoe-src-restrictions.patch | 18 | ||||
-rw-r--r-- | recipes/rp-pppoe/rp-pppoe-3.8/top-autoconf.patch | 25 | ||||
-rw-r--r-- | recipes/rp-pppoe/rp-pppoe-3.8/update-config.patch | 30 |
8 files changed, 317 insertions, 0 deletions
diff --git a/recipes/rp-pppoe/rp-pppoe-3.8/configure_in_cross.patch b/recipes/rp-pppoe/rp-pppoe-3.8/configure_in_cross.patch new file mode 100644 index 0000000000..381a44d303 --- /dev/null +++ b/recipes/rp-pppoe/rp-pppoe-3.8/configure_in_cross.patch @@ -0,0 +1,136 @@ +Index: src/configure.in +=================================================================== +--- rp-pppoe-3.8.orig/src/configure.in 2006-04-03 00:29:42.000000000 +1000 ++++ rp-pppoe-3.8/src/configure.in 2007-06-07 22:19:36.000000000 +1000 +@@ -5,6 +5,13 @@ + dnl pppd directory for kernel-mode PPPoE + PPPD_DIR=ppp-2.4.1.pppoe2 + ++dnl hard code some paths ++PPPD=/usr/sbin/pppd ++ID=/usr/bin/id ++ECHO=/bin/echo ++AC_ARG_VAR(PPPD) ++AC_ARG_VAR(ID) ++ + AC_CONFIG_HEADER(config.h) + + AC_PREFIX_DEFAULT(/usr) +@@ -44,7 +51,7 @@ + AC_MSG_RESULT($ac_cv_struct_sockaddr_ll) + + if test "$ac_cv_struct_sockaddr_ll" = yes ; then +-AC_DEFINE(HAVE_STRUCT_SOCKADDR_LL) ++AC_DEFINE([HAVE_STRUCT_SOCKADDR_LL], [], [Have struct SOCKADDR_LL]) + fi + + dnl Check for N_HDLC line discipline +@@ -55,7 +62,7 @@ + ac_cv_n_hdlc=no) + AC_MSG_RESULT($ac_cv_n_hdlc) + if test "$ac_cv_n_hdlc" = yes ; then +-AC_DEFINE(HAVE_N_HDLC) ++AC_DEFINE([HAVE_N_HDLC], [], [Have N_HDLC]) + fi + + AC_ARG_ENABLE(plugin, [ --enable-plugin=pppd_src_path build pppd plugin], ac_cv_pluginpath=$enableval, ac_cv_pluginpath=no) +@@ -100,13 +107,13 @@ + if test "$ac_cv_header_linux_if_pppox_h" = yes ; then + if test "$ac_cv_pluginpath" != no ; then + LINUX_KERNELMODE_PLUGIN=rp-pppoe.so +- AC_DEFINE(HAVE_LINUX_KERNEL_PPPOE) ++ AC_DEFINE([HAVE_LINUX_KERNEL_PPPOE], [], [Have kernel PPPoE]) + PPPD_INCDIR=$ac_cv_pluginpath + fi + fi + + if test "$ac_cv_debugging" = "yes" ; then +- AC_DEFINE(DEBUGGING_ENABLED) ++ AC_DEFINE([DEBUGGING_ENABLED], [], [Debugging enabled]) + fi + + AC_SUBST(LINUX_KERNELMODE_PLUGIN) +@@ -131,15 +138,8 @@ + AC_CHECK_SIZEOF(unsigned int) + AC_CHECK_SIZEOF(unsigned long) + +-dnl Check for location of pppd +-AC_PATH_PROG(PPPD, pppd, NOTFOUND, $PATH:/sbin:/usr/sbin:/usr/local/sbin) +-AC_PATH_PROG(ECHO, echo, echo) +- +-dnl Check for setsid (probably Linux-specific) +-AC_PATH_PROG(SETSID, setsid, "", $PATH:/sbin:/usr/sbin:/usr/local/sbin) +- + dnl Check for an "id" which accepts "-u" option -- hack for Solaris. +-AC_PATH_PROG(ID, id, "", /usr/xpg4/bin:$PATH) ++dnl AC_PATH_PROG(ID, id, "", /usr/xpg4/bin:$PATH) + + dnl Check for Linux-specific kernel support for PPPoE + AC_MSG_CHECKING(for Linux 2.4.X kernel-mode PPPoE support) +@@ -183,44 +183,8 @@ + CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -ansi" + fi + +-dnl If we couldn't find pppd, die +-if test "$PPPD" = "NOTFOUND"; then +- AC_MSG_WARN([*** Oops! I couldn't find pppd, the PPP daemon anywhere.]) +- AC_MSG_WARN([*** You must install pppd, version 2.3.10 or later.]) +- AC_MSG_WARN([*** I will keep going, but it may not work.]) +- PPPD=pppd +-fi +- +-dnl Figure out pppd version. 2.3.7 to 2.3.9 -- issue warning. Less than +-dnl 2.3.7 -- stop +- +-PPPD_VERSION=`$PPPD --version 2>&1 | awk ' /version/ {print $NF}'` +- +-case "$PPPD_VERSION" in +-1.*|2.0.*|2.1.*|2.2.*|2.3.0|2.3.1|2.3.2|2.3.3|2.3.4|2.3.5|2.3.6) +- AC_MSG_WARN([*** Oops! Your version of pppd is $PPPD_VERSION, which is too old.]) +- AC_MSG_WARN([*** You need at least 2.3.7 (2.3.10 or newer recommended.]) +- AC_MSG_WARN([*** I will keep going, but it may not work.]) +- ;; +- +-2.3.7|2.3.8|2.3.9) +- AC_MSG_WARN([*** Warning. Your version of pppd is $PPPD_VERSION. You will]) +- AC_MSG_WARN([*** not be able to use connect-on-demand. Upgrade to pppd]) +- AC_MSG_WARN([*** 2.3.10 or newer if you need connect-on-demand.]) +- ;; +- +-2*|3*|4*|5*|6*|7*|8*|9*) +- ;; +- +-*) +- AC_MSG_WARN([*** Oops. I cannot figure out what version of pppd you have.]) +- AC_MSG_WARN([*** All I got back was '$PPPD_VERSION']) +- AC_MSG_WARN([*** I will keep going, but it may not work.]) +- ;; +-esac +- + dnl Figure out packing order of structures +-AC_MSG_CHECKING([packing order of bit fields]) ++AC_CACHE_CHECK([packing order of bit fields],rpppoe_cv_pack_bitfields,[ + AC_TRY_RUN([ + union foo { + struct bar { +@@ -245,10 +209,11 @@ + } + }], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev, + $ECHO "no defaults for cross-compiling"; exit 0) ++]) + + if test "$rpppoe_cv_pack_bitfields" = "rev" ; then + AC_MSG_RESULT(reversed) +- AC_DEFINE(PACK_BITFIELDS_REVERSED) ++ AC_DEFINE([PACK_BITFIELDS_REVERSED], [], [Reversed bitfields]) + else + AC_MSG_RESULT(normal) + fi +@@ -312,6 +277,7 @@ + AC_SUBST(RDYNAMIC) + AC_SUBST(LIBEVENT) + AC_SUBST(ECHO) ++AC_SUBST(HAVE_STRUCT_SOCKADDR_LL) + + datadir_evaluated=`eval echo $datadir` + AC_SUBST(datadir_evaluated) diff --git a/recipes/rp-pppoe/rp-pppoe-3.8/dont-swallow-errors.patch b/recipes/rp-pppoe/rp-pppoe-3.8/dont-swallow-errors.patch new file mode 100644 index 0000000000..81ce2db335 --- /dev/null +++ b/recipes/rp-pppoe/rp-pppoe-3.8/dont-swallow-errors.patch @@ -0,0 +1,11 @@ +--- a/src/configure.in.org 2008-01-14 21:08:38.000000000 +0200 ++++ a/src/configure.in 2008-01-14 21:20:09.000000000 +0200 +@@ -208,7 +208,7 @@ + return 2; + } + }], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev, +-$ECHO "no defaults for cross-compiling"; exit 0) ++$ECHO "no defaults for cross-compiling"; exit 1) + ]) + + if test "$rpppoe_cv_pack_bitfields" = "rev" ; then diff --git a/recipes/rp-pppoe/rp-pppoe-3.8/pppoe-no-timeout.patch b/recipes/rp-pppoe/rp-pppoe-3.8/pppoe-no-timeout.patch new file mode 100644 index 0000000000..a10a1b87e9 --- /dev/null +++ b/recipes/rp-pppoe/rp-pppoe-3.8/pppoe-no-timeout.patch @@ -0,0 +1,16 @@ +Don't time out and give up re-trying PPPoE. We want PPPD to control +if we give up or not. From debian. This fixes lots of bugs and makes +it compatible with the default debian version. + + +--- rp-pppoe-3.8.orig/configs/pppoe.conf ++++ rp-pppoe-3.8/configs/pppoe.conf +@@ -66,7 +66,7 @@ + # to connect forever after pppoe-start is called. Otherwise, it will + # give out after CONNECT_TIMEOUT seconds and will not attempt to + # connect again, making it impossible to reach. +-CONNECT_TIMEOUT=30 ++CONNECT_TIMEOUT=0 + + # How often in seconds pppoe-start polls to check if link is up + CONNECT_POLL=2 diff --git a/recipes/rp-pppoe/rp-pppoe-3.8/pppoe-server.default b/recipes/rp-pppoe/rp-pppoe-3.8/pppoe-server.default new file mode 100644 index 0000000000..996d57f3cf --- /dev/null +++ b/recipes/rp-pppoe/rp-pppoe-3.8/pppoe-server.default @@ -0,0 +1,22 @@ +# PPPoE Server options + +# Maximum segment size, not used for in kernel PPPoE +#MSS=1412 + +# Device(s) - Space seperated list of devices to listen on +#DEVICES="eth1" + +# Local IP +#LOCAL_IP=10.0.0.1 + +# Starting remote IP +#REMOTE_IP=10.67.15.1 + +# Service name +#SERVICE_NAME="acme" + +# Maximum number of sessions, default is 16 +#MAX_SESSIONS=64 + +# Access concentrator name, default is the hostname +#ACCESS_CONCENTRATOR_NAME="pppoe-rtr-1" diff --git a/recipes/rp-pppoe/rp-pppoe-3.8/pppoe-server.init b/recipes/rp-pppoe/rp-pppoe-3.8/pppoe-server.init new file mode 100755 index 0000000000..21afe0be39 --- /dev/null +++ b/recipes/rp-pppoe/rp-pppoe-3.8/pppoe-server.init @@ -0,0 +1,59 @@ +#! /bin/sh + +test -f /usr/sbin/pppoe-server || exit 0 +test -f /etc/default/pppoe-server && . /etc/default/pppoe-server + +case $1 in + start) + OPTIONS="" + if [ -n "$MSS" ]; then + OPTIONS="$OPTIONS -m $MSS" + fi + if [ -n "$DEVICES" ]; then + for i in $DEVICES; do + OPTIONS="$OPTIONS -I $i" + done + fi + if [ -n "$LOCAL_IP" ]; then + OPTIONS="$OPTIONS -L $LOCAL_IP" + fi + if [ -n "$REMOTE_IP" ]; then + OPTIONS="$OPTIONS -R $REMOTE_IP" + fi + if [ -n "$SERVICE_NAME" ]; then + OPTIONS="$OPTIONS -S $SERVICE_NAME" + fi + if [ -n "$MAX_SESSIONS" ]; then + OPTIONS="$OPTIONS -N $MAX_SESSIONS" + fi + if [ -n "$ACCESS_CONCENTRATOR_NAME" ]; then + OPTIONS="$OPTIONS -C $ACCESS_CONCENTRATOR_NAME" + fi + echo -n "Starting PPPoE server: pppoe-server" + start-stop-daemon --start --quiet --exec /usr/sbin/pppoe-server -- $OPTIONS + echo "." + ;; + stop) + echo -n "Stopping PPPoE server: pppoe-server" + start-stop-daemon --stop --quiet --exec /usr/sbin/pppoe-server -- $OPTIONS + echo "." + ;; + status) + pid=$(pidof pppoe-server) + if [ -n "$pid" ] ; then + echo "Running with pid $pid" + else + echo "Not running" + fi + ;; + restart|force-reload) + $0 stop + $0 start + ;; + *) + echo "Usage: /etc/init.d/pppoe-server {start|stop|restart|force-reload}" + exit 1 + ;; +esac + +exit 0 diff --git a/recipes/rp-pppoe/rp-pppoe-3.8/pppoe-src-restrictions.patch b/recipes/rp-pppoe/rp-pppoe-3.8/pppoe-src-restrictions.patch new file mode 100644 index 0000000000..e7e1c2ee36 --- /dev/null +++ b/recipes/rp-pppoe/rp-pppoe-3.8/pppoe-src-restrictions.patch @@ -0,0 +1,18 @@ +Relax restrictions on the PPPoE src address, as per debian bug +293811: + + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=293811 + +--- rp-pppoe-3.8.orig/src/discovery.c ++++ rp-pppoe-3.8/src/discovery.c +@@ -376,8 +376,8 @@ + if (!packetIsForMe(conn, &packet)) continue; + + if (packet.code == CODE_PADO) { +- if (NOT_UNICAST(packet.ethHdr.h_source)) { +- printErr("Ignoring PADO packet from non-unicast MAC address"); ++ if (BROADCAST(packet.ethHdr.h_source)) { ++ printErr("Ignoring broadcast PADO packet"); + continue; + } + parsePacket(&packet, parsePADOTags, &pc); diff --git a/recipes/rp-pppoe/rp-pppoe-3.8/top-autoconf.patch b/recipes/rp-pppoe/rp-pppoe-3.8/top-autoconf.patch new file mode 100644 index 0000000000..e3b0482984 --- /dev/null +++ b/recipes/rp-pppoe/rp-pppoe-3.8/top-autoconf.patch @@ -0,0 +1,25 @@ +The autoconf stuff is all in a subdirectory, which is rather annoying +as OE expects patches to be applied and autoconf stuff to be done in +S. This adds enough autoconf at the top level to allow it to be +called there - all it does is run a sub autoconf stuff in the src +directory. + +Index: rp-pppoe-3.8/Makefile.am +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ rp-pppoe-3.8/Makefile.am 2007-06-08 15:58:16.000000000 +1000 +@@ -0,0 +1,5 @@ ++PACKAGE = rp-pppoe ++VERSION = 3.8 ++ ++dnl AM_CFLAGS = -Wall -DDEBUG ++SUBDIRS = src +Index: rp-pppoe-3.8/configure.in +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ rp-pppoe-3.8/configure.in 2007-06-08 15:58:16.000000000 +1000 +@@ -0,0 +1,4 @@ ++AC_INIT(src/pppoe.c) ++AM_INIT_AUTOMAKE([rp-pppoe], [3.8]) ++AC_CONFIG_SUBDIRS(src) ++AC_OUTPUT(Makefile) diff --git a/recipes/rp-pppoe/rp-pppoe-3.8/update-config.patch b/recipes/rp-pppoe/rp-pppoe-3.8/update-config.patch new file mode 100644 index 0000000000..5642e3cfee --- /dev/null +++ b/recipes/rp-pppoe/rp-pppoe-3.8/update-config.patch @@ -0,0 +1,30 @@ +Set the timeout to 0 since we don't want pppoe to try reconnecting, +we want whatever is calling it to reconnect. Lots of odd things +happen when you have pppoe retrying itself. + +The path for the plugin is wrong, it's now part of ppp and is in a +ppp's plugin lib directory. If no path is specified then that's where +ppp looks, so that's what we do here. + +Index: rp-pppoe-3.8/configs/pppoe.conf +=================================================================== +--- rp-pppoe-3.8.orig/configs/pppoe.conf 2006-04-03 00:29:41.000000000 +1000 ++++ rp-pppoe-3.8/configs/pppoe.conf 2007-06-08 16:02:47.000000000 +1000 +@@ -66,7 +66,7 @@ + # to connect forever after pppoe-start is called. Otherwise, it will + # give out after CONNECT_TIMEOUT seconds and will not attempt to + # connect again, making it impossible to reach. +-CONNECT_TIMEOUT=30 ++CONNECT_TIMEOUT=0 + + # How often in seconds pppoe-start polls to check if link is up + CONNECT_POLL=2 +@@ -115,7 +115,7 @@ + FIREWALL=NONE + + # Linux kernel-mode plugin for pppd. If you want to try the kernel-mode +-# plugin, use LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so ++# plugin, use LINUX_PLUGIN=rp-pppoe.so + LINUX_PLUGIN= + + # Any extra arguments to pass to pppoe. Normally, use a blank string |