diff options
author | Heinrich Wendel <lanius@gentoo.org> | 2004-02-12 20:25:27 +0000 |
---|---|---|
committer | Heinrich Wendel <lanius@gentoo.org> | 2004-02-12 20:25:27 +0000 |
commit | 6b5896a3753b96eb6164e7b0b40a0eda01101029 (patch) | |
tree | 907d803a43337b66823b5b77bdc856380899db2b /net-dialup | |
parent | header fix; check return of sed (Manifest recommit) (diff) | |
download | gentoo-2-6b5896a3753b96eb6164e7b0b40a0eda01101029.tar.gz gentoo-2-6b5896a3753b96eb6164e7b0b40a0eda01101029.tar.bz2 gentoo-2-6b5896a3753b96eb6164e7b0b40a0eda01101029.zip |
added missing files
Diffstat (limited to 'net-dialup')
-rw-r--r-- | net-dialup/ppp/files/2.4.2/README.mpls | 15 | ||||
-rw-r--r-- | net-dialup/ppp/files/2.4.2/cflags.patch | 46 | ||||
-rw-r--r-- | net-dialup/ppp/files/2.4.2/chat-default | 15 | ||||
-rw-r--r-- | net-dialup/ppp/files/2.4.2/confd.ppp0 | 49 | ||||
-rw-r--r-- | net-dialup/ppp/files/2.4.2/ip-down | 33 | ||||
-rw-r--r-- | net-dialup/ppp/files/2.4.2/ip-up | 40 | ||||
-rw-r--r-- | net-dialup/ppp/files/2.4.2/killaddr-smarter.patch | 176 | ||||
-rw-r--r-- | net-dialup/ppp/files/2.4.2/modules.ppp | 9 | ||||
-rw-r--r-- | net-dialup/ppp/files/2.4.2/mpls.patch | 431 | ||||
-rw-r--r-- | net-dialup/ppp/files/2.4.2/net.ppp0 | 214 | ||||
-rw-r--r-- | net-dialup/ppp/files/2.4.2/options-pppoe | 6 | ||||
-rw-r--r-- | net-dialup/ppp/files/2.4.2/options-pptp | 18 | ||||
-rw-r--r-- | net-dialup/ppp/files/2.4.2/pppoe.html | 174 |
13 files changed, 1226 insertions, 0 deletions
diff --git a/net-dialup/ppp/files/2.4.2/README.mpls b/net-dialup/ppp/files/2.4.2/README.mpls new file mode 100644 index 000000000000..1ae7ae46057a --- /dev/null +++ b/net-dialup/ppp/files/2.4.2/README.mpls @@ -0,0 +1,15 @@ +MPLS consists of 3 components: +1. MPLS forwarding +2. MPLS signalling +3. Mapping layer 3 traffic onto MPLS LSPs + +The document mpls-forwarding basics explains item 1. + +Examples of MPLS signalling protocols are: RSVP-TE LDP and CR-LDP. +The package ldp-portable is an implementation of LDP and contains more +information about LDP based MPLS signalling. + +Mapping of layer 3 traffic to MPLS LSPs is accomplised in a couple of +different ways. +-Per FEC where FEC is an entry in the routing table +-Virtual interface that represents an LSP diff --git a/net-dialup/ppp/files/2.4.2/cflags.patch b/net-dialup/ppp/files/2.4.2/cflags.patch new file mode 100644 index 000000000000..45195e2ee45f --- /dev/null +++ b/net-dialup/ppp/files/2.4.2/cflags.patch @@ -0,0 +1,46 @@ +diff -Naur ppp-2.4.2b3-orig/pppd/Makefile.linux ppp-2.4.2b3/pppd/Makefile.linux +--- ppp-2.4.2b3-orig/pppd/Makefile.linux 2003-12-08 15:38:14.000000000 -0500 ++++ ppp-2.4.2b3/pppd/Makefile.linux 2003-12-08 15:41:52.000000000 -0500 +@@ -31,7 +31,7 @@ + + # CC = gcc + # +-COPTS = -O2 -pipe -Wall -g ++COPTS = $(COPTS) -Wall + LIBS = + + # Uncomment the next 2 lines to include support for Microsoft's +diff -Naur ppp-2.4.2b3-orig/pppd/plugins/Makefile ppp-2.4.2b3/pppd/plugins/Makefile +--- ppp-2.4.2b3-orig/pppd/plugins/Makefile 2002-12-06 04:48:53.000000000 -0500 ++++ ppp-2.4.2b3/pppd/plugins/Makefile 2003-12-08 15:42:40.000000000 -0500 +@@ -1,5 +1,5 @@ + CC = gcc +-COPTS = -O2 -g ++COPTS = ${COPTS} + CFLAGS = $(COPTS) -I.. -I../../include -fPIC + LDFLAGS = -shared + INSTALL = install -o root +diff -Naur ppp-2.4.2b3-orig/pppd/plugins/radius/Makefile.linux ppp-2.4.2b3/pppd/plugins/radius/Makefile.linux +--- ppp-2.4.2b3-orig/pppd/plugins/radius/Makefile.linux 2002-11-09 06:24:42.000000000 -0500 ++++ ppp-2.4.2b3/pppd/plugins/radius/Makefile.linux 2003-12-08 15:43:02.000000000 -0500 +@@ -5,7 +5,7 @@ + + MANDIR=/usr/man + PLUGIN=radius.so radattr.so radrealms.so +-CFLAGS=-I../.. -I../../../include -Iradiusclient/include -O2 ++CFLAGS=$(COPTS) -I../.. -I../../../include -Iradiusclient/include + + # Uncomment the next line to include support for Microsoft's + # MS-CHAP authentication protocol. +diff -Naur ppp-2.4.2b3-orig/pppd/plugins/rp-pppoe/Makefile.linux ppp-2.4.2b3/pppd/plugins/rp-pppoe/Makefile.linux +--- ppp-2.4.2b3-orig/pppd/plugins/rp-pppoe/Makefile.linux 2001-12-13 21:55:20.000000000 -0500 ++++ ppp-2.4.2b3/pppd/plugins/rp-pppoe/Makefile.linux 2003-12-08 15:43:28.000000000 -0500 +@@ -16,7 +16,7 @@ + # Version is set ONLY IN THE MAKEFILE! Don't delete this! + VERSION=3.3 + +-COPTS=-O2 -g ++COPTS=${COPTS} + CFLAGS=$(COPTS) -I../../../include/linux + all: rp-pppoe.so + diff --git a/net-dialup/ppp/files/2.4.2/chat-default b/net-dialup/ppp/files/2.4.2/chat-default new file mode 100644 index 000000000000..35d912daaea4 --- /dev/null +++ b/net-dialup/ppp/files/2.4.2/chat-default @@ -0,0 +1,15 @@ +# /etc/ppp/chat-default: +# $Header: /var/cvsroot/gentoo-x86/net-dialup/ppp/files/2.4.2/chat-default,v 1.1 2004/02/12 20:25:27 lanius Exp $ + +'ABORT' 'BUSY' +'ABORT' 'ERROR' +'ABORT' 'NO ANSWER' +'ABORT' 'NO CARRIER' +'ABORT' 'NO DIALTONE' +'ABORT' 'Invalid Login' +'ABORT' 'Login incorrect' +'' 'ATZ' +'OK' 'ATDT$NUMBER' +'CONNECT' '' +'TIMEOUT' '5' +'~--' '' diff --git a/net-dialup/ppp/files/2.4.2/confd.ppp0 b/net-dialup/ppp/files/2.4.2/confd.ppp0 new file mode 100644 index 000000000000..0b788b892657 --- /dev/null +++ b/net-dialup/ppp/files/2.4.2/confd.ppp0 @@ -0,0 +1,49 @@ +# /etc/conf.d/net.ppp0: +# $Header: /var/cvsroot/gentoo-x86/net-dialup/ppp/files/2.4.2/confd.ppp0,v 1.1 2004/02/12 20:25:27 lanius Exp $ + +# Config file for /etc/init.d/net.ppp0 + +PEER="MyPeer" # Define peer (aka ISP) +DEBUG="no" # Turn on debugging +PERSIST="no" # Redial after being dropped +ONDEMAND="no" # Only bring the interface up on demand? +MODEMPORT="/dev/ttyS1" # TTY device modem is connected to +LINESPEED="115200" # Speed pppd should try to connect at +INITSTRING="" # Extra init string for the modem +DEFROUTE="yes" # Must pppd set the default route? +HARDFLOWCTL="yes" # Use hardware flow control? +ESCAPECHARS="yes" # Use escape caracters ? +PPPOPTIONS="" # Extra options for pppd +USERNAME="user" # The PAP/CHAP username +PASSWORD="passwd" # Your password/secret. Ugly I know, but i + # will work on something more secure later + # on. 700 permission on /etc/init.d/net.ppp0 + # should be enouth for now. +NUMBER="9180000" # The telephone number of your ISP + # leave blank for leased-line operation. +REMIP="" # The ip of the remote box if it should be set +NETMASK="" # Netmask +IPADDR="" # Our IP if we have a static one +MRU="768" # Sets the MRU +MTU="768" # Sets the MTU +RETRYTIMEOUT="60" # Retry timeout for when ONDEMAND="yes" or + # PERSIST="yes" +IDLETIMEOUT="600" # Idle timeout for when ONDEMAND="yes" +PEERDNS="no" # Should pppd set the peer dns? + +AUTOCFGFILES="yes" # By default this scripts will generate + # /etc/ppp/chat-isp, /etc/ppp/chap-secrets, + # /etc/ppp/pap-secrets and /etc/ppp/peers/isp + # automatically. Set to "no" if you experience + # problems, or need specialized scripts. You + # will have to create these files by hand then. + +AUTOCHATSCRIPT="yes" # By default this script iwll generate + # /etc/ppp/chat-${PEER} automatically. Set to "no" + # if you experience problems, or need specialized + # scripts. You will have to create these files by + # hand then. + + +# Directory where the templates is stored +TEMPLATEDIR=/etc/ppp diff --git a/net-dialup/ppp/files/2.4.2/ip-down b/net-dialup/ppp/files/2.4.2/ip-down new file mode 100644 index 000000000000..2fd5ac302e76 --- /dev/null +++ b/net-dialup/ppp/files/2.4.2/ip-down @@ -0,0 +1,33 @@ +#!/bin/sh + +# this is a script which is executed after disconnecting the ppp interface. +# look at man pppd for details + +# the followings parameters are available: +# $1 = interface-name +# $2 = tty-device +# $3 = speed +# $4 = local-IP-address +# $5 = remote-IP-address +# $6 = ipparam + +if [ "$USEPEERDNS" ]; then + + # taken from debian's 0000usepeerdns + # follow any symlink to find the real file + REALRESOLVCONF=$(readlink --canonicalize /etc/resolv.conf) + + if [ "$REALRESOLVCONF" != "/etc/ppp/resolv.conf" ]; then + + # if an old resolv.conf file exists, restore it + if [ -e $REALRESOLVCONF.pppd-backup ]; then + mv $REALRESOLVCONF.pppd-backup $REALRESOLVCONF + fi + + fi + +fi + +[ -f /etc/init.d/firewall ] && /etc/init.d/firewall stop + +[ -f /etc/ppp/ip-down.local ] && . /etc/ppp/ip-down.local $1 $2 $3 $4 $5 $6 diff --git a/net-dialup/ppp/files/2.4.2/ip-up b/net-dialup/ppp/files/2.4.2/ip-up new file mode 100644 index 000000000000..20d2b99193c9 --- /dev/null +++ b/net-dialup/ppp/files/2.4.2/ip-up @@ -0,0 +1,40 @@ +#!/bin/sh + +# this is a script which is executed after connecting the ppp interface. +# look at man pppd for details + +# the followings parameters are available: +# $1 = interface-name +# $2 = tty-device +# $3 = speed +# $4 = local-IP-address +# $5 = remote-IP-address +# $6 = ipparam + +if [ "$USEPEERDNS" ]; then + + # add the server supplied DNS entries to /etc/resolv.conf + # (taken from debian's 0000usepeerdns) + + # follow any symlink to find the real file + REALRESOLVCONF=$(readlink --canonicalize /etc/resolv.conf) + + if [ "$REALRESOLVCONF" != "/etc/ppp/resolv.conf" ]; then + + # merge the new nameservers with the other options from the old configuration + { + grep --invert-match '^nameserver[[:space:]]' $REALRESOLVCONF + cat /etc/ppp/resolv.conf + } > $REALRESOLVCONF.tmp + + # backup the old configuration and install the new one + cp -a $REALRESOLVCONF $REALRESOLVCONF.pppd-backup + mv $REALRESOLVCONF.tmp $REALRESOLVCONF + + fi + +fi + +[ -f /etc/init.d/firewall ] && /etc/init.d/firewall start + +[ -f /etc/ppp/ip-up.local ] && . /etc/ppp/ip-up.local $1 $2 $3 $4 $5 $6 diff --git a/net-dialup/ppp/files/2.4.2/killaddr-smarter.patch b/net-dialup/ppp/files/2.4.2/killaddr-smarter.patch new file mode 100644 index 000000000000..b49afdce37bc --- /dev/null +++ b/net-dialup/ppp/files/2.4.2/killaddr-smarter.patch @@ -0,0 +1,176 @@ +diff -urN ppp-2.4.1.pppoe4-orig/chat/Makefile.linux ppp-2.4.1.pppoe4/chat/Makefile.linux +--- ppp-2.4.1.pppoe4-orig/chat/Makefile.linux 1999-08-12 21:54:32.000000000 -0400 ++++ ppp-2.4.1.pppoe4/chat/Makefile.linux 2002-10-04 12:46:49.000000000 -0400 +@@ -6,7 +6,7 @@ + CDEF4= -DFNDELAY=O_NDELAY # Old name value + CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4) + +-COPTS= -O2 -g -pipe $(CDEFS) ++COPTS= ${COPTS} $(CDEFS) + CFLAGS= $(COPTS) $(CDEFS) + + INSTALL= install +diff -urN ppp-2.4.1.pppoe4-orig/pppd/options.c ppp-2.4.1.pppoe4/pppd/options.c +--- ppp-2.4.1.pppoe4-orig/pppd/options.c 2001-03-30 19:33:55.000000000 -0500 ++++ ppp-2.4.1.pppoe4/pppd/options.c 2002-10-04 12:48:21.000000000 -0400 +@@ -67,6 +67,9 @@ + char user[MAXNAMELEN]; /* Username for PAP */ + char passwd[MAXSECRETLEN]; /* Password for PAP */ + bool persist = 0; /* Reopen link after it goes down */ ++bool killoldaddr = 0; /* If our IP is reassigned on ++ reconnect, kill active TCP ++ connections using the old IP. */ + char our_name[MAXNAMELEN]; /* Our name for authentication purposes */ + bool demand = 0; /* do dial-on-demand */ + char *ipparam = NULL; /* Extra parameter for ip up/down scripts */ +@@ -186,6 +189,11 @@ + { "demand", o_bool, &demand, + "Dial on demand", OPT_INITONLY | 1, &persist }, + ++ { "killoldaddr", o_bool, &killoldaddr, ++ "Kill connections from an old source address", 1}, ++ { "nokilloldaddr", o_bool,&killoldaddr, ++ "Don't kill connections from an old source address" }, ++ + { "--version", o_special_noarg, (void *)showversion, + "Show version number" }, + { "--help", o_special_noarg, (void *)showhelp, +diff -urN ppp-2.4.1.pppoe4-orig/pppd/pppd.h ppp-2.4.1.pppoe4/pppd/pppd.h +--- ppp-2.4.1.pppoe4-orig/pppd/pppd.h 2001-04-01 15:06:17.000000000 -0400 ++++ ppp-2.4.1.pppoe4/pppd/pppd.h 2002-10-04 12:46:49.000000000 -0400 +@@ -252,6 +252,9 @@ + extern char remote_name[MAXNAMELEN]; /* Peer's name for authentication */ + extern bool explicit_remote;/* remote_name specified with remotename opt */ + extern bool demand; /* Do dial-on-demand */ ++extern bool killoldaddr; /* If our IP is reassigned on ++ reconnect, kill active TCP ++ connections using the old IP. */ + extern char *ipparam; /* Extra parameter for ip up/down scripts */ + extern bool cryptpap; /* Others' PAP passwords are encrypted */ + extern int idle_time_limit;/* Shut down link if idle for this long */ +diff -urN ppp-2.4.1.pppoe4-orig/pppd/sys-linux.c ppp-2.4.1.pppoe4/pppd/sys-linux.c +--- ppp-2.4.1.pppoe4-orig/pppd/sys-linux.c 2001-07-26 16:19:33.000000000 -0400 ++++ ppp-2.4.1.pppoe4/pppd/sys-linux.c 2002-10-04 12:46:49.000000000 -0400 +@@ -114,6 +114,10 @@ + + #endif /* INET6 */ + ++#ifndef SIOCKILLADDR ++#define SIOCKILLADDR 0x8939 ++#endif ++ + /* We can get an EIO error on an ioctl if the modem has hung up */ + #define ok_error(num) ((num)==EIO) + +@@ -151,6 +155,7 @@ + static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */ + static char proxy_arp_dev[16]; /* Device for proxy arp entry */ + static u_int32_t our_old_addr; /* for detecting address changes */ ++static u_int32_t our_current_addr; + static int dynaddr_set; /* 1 if ip_dynaddr set */ + static int looped; /* 1 if using loop */ + static int link_mtu; /* mtu for the link (not bundle) */ +@@ -504,6 +509,27 @@ + return -1; + } + ++static void do_killaddr(u_int32_t oldaddr) ++{ ++ struct ifreq ifr; ++ ++ memset(&ifr,0,sizeof ifr); ++ ++ SET_SA_FAMILY (ifr.ifr_addr, AF_INET); ++ SET_SA_FAMILY (ifr.ifr_dstaddr, AF_INET); ++ SET_SA_FAMILY (ifr.ifr_netmask, AF_INET); ++ ++ SIN_ADDR(ifr.ifr_addr) = oldaddr; ++ ++ strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); ++ ++ if(ioctl(sock_fd,SIOCKILLADDR,&ifr) < 0) { ++ if (!ok_error (errno)) ++ error("ioctl(SIOCKILLADDR): %m(%d)", errno); ++ return; ++ } ++} ++ + /******************************************************************** + * + * tty_disestablish_ppp - Restore the serial port to normal operation. +@@ -2290,21 +2316,29 @@ + } + } + +- /* set ip_dynaddr in demand mode if address changes */ +- if (demand && tune_kernel && !dynaddr_set +- && our_old_addr && our_old_addr != our_adr) { ++ if(persist && our_old_addr && our_old_addr != our_adr) { ++ ++ if(killoldaddr) ++ do_killaddr(our_old_addr); ++ ++ ++ /* set ip_dynaddr in persist mode if address changes */ ++ if (tune_kernel && !dynaddr_set) { + /* set ip_dynaddr if possible */ + char *path; + int fd; + + path = path_to_procfs("/sys/net/ipv4/ip_dynaddr"); + if (path != 0 && (fd = open(path, O_WRONLY)) >= 0) { +- if (write(fd, "1", 1) != 1) +- error("Couldn't enable dynamic IP addressing: %m"); +- close(fd); ++ if (write(fd, "1", 1) != 1) ++ error("Couldn't enable dynamic IP addressing: %m"); ++ close(fd); + } + dynaddr_set = 1; /* only 1 attempt */ ++ } + } ++ ++ our_current_addr = our_adr; + our_old_addr = 0; + + return 1; +@@ -2360,7 +2394,8 @@ + } + + our_old_addr = our_adr; +- ++ our_current_addr = 0; ++ + return 1; + } + +diff -urN ppp-2.4.1.pppoe4-orig/pppdump/Makefile.linux ppp-2.4.1.pppoe4/pppdump/Makefile.linux +--- ppp-2.4.1.pppoe4-orig/pppdump/Makefile.linux 1999-07-26 07:09:29.000000000 -0400 ++++ ppp-2.4.1.pppoe4/pppdump/Makefile.linux 2002-10-04 12:46:49.000000000 -0400 +@@ -1,4 +1,4 @@ +-CFLAGS= -O -I../include/net ++CFLAGS= $(COPTS) -I../include/net + OBJS = pppdump.o bsd-comp.o deflate.o zlib.o + + INSTALL= install +@@ -6,7 +6,7 @@ + all: pppdump + + pppdump: $(OBJS) +- $(CC) -o pppdump $(OBJS) ++ $(CC) $(LDFLAGS) -o pppdump $(OBJS) + + clean: + rm -f pppdump $(OBJS) *~ +diff -urN ppp-2.4.1.pppoe4-orig/pppstats/Makefile.linux ppp-2.4.1.pppoe4/pppstats/Makefile.linux +--- ppp-2.4.1.pppoe4-orig/pppstats/Makefile.linux 1998-03-24 21:21:19.000000000 -0500 ++++ ppp-2.4.1.pppoe4/pppstats/Makefile.linux 2002-10-04 12:46:49.000000000 -0400 +@@ -22,7 +22,7 @@ + $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)/man8/pppstats.8 + + pppstats: $(PPPSTATSRCS) +- $(CC) $(CFLAGS) -o pppstats pppstats.c $(LIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o pppstats pppstats.c $(LIBS) + + clean: + rm -f pppstats *~ #* core diff --git a/net-dialup/ppp/files/2.4.2/modules.ppp b/net-dialup/ppp/files/2.4.2/modules.ppp new file mode 100644 index 000000000000..1f5ad7f9938d --- /dev/null +++ b/net-dialup/ppp/files/2.4.2/modules.ppp @@ -0,0 +1,9 @@ +alias char-major-108 ppp_generic +alias /dev/ppp ppp_generic +alias tty-ldisc-3 ppp_async +alias tty-ldisc-13 n_hdlc +alias tty-ldisc-14 ppp_synctty +alias ppp-compress-21 bsd_comp +alias ppp-compress-24 ppp_deflate +alias ppp-compress-26 ppp_deflate +alias net-pf-24 pppoe diff --git a/net-dialup/ppp/files/2.4.2/mpls.patch b/net-dialup/ppp/files/2.4.2/mpls.patch new file mode 100644 index 000000000000..b711ce328b72 --- /dev/null +++ b/net-dialup/ppp/files/2.4.2/mpls.patch @@ -0,0 +1,431 @@ +diff -uarN ppp-2.4.2-orig/pppd/Makefile.linux ppp-2.4.2/pppd/Makefile.linux +--- ppp-2.4.2-orig/pppd/Makefile.linux 2003-01-31 06:11:17.000000000 -0500 ++++ ppp-2.4.2/pppd/Makefile.linux 2003-12-08 11:21:50.000000000 -0500 +@@ -12,16 +12,16 @@ + + PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap-new.c md5.c ccp.c \ + ecp.c ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c \ +- demand.c utils.c tty.c eap.c chap-md5.c ++ demand.c utils.c tty.c eap.c chap-md5.c mplscp.c + + HEADERS = ccp.h chap-new.h ecp.h fsm.h ipcp.h \ + ipxcp.h lcp.h magic.h md5.h patchlevel.h pathnames.h pppd.h \ +- upap.h eap.h ++ upap.h eap.h mplscp.h + + MANPAGES = pppd.8 + PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap-new.o md5.o ccp.o \ + ecp.o auth.o options.o demand.o utils.o sys-linux.o ipxcp.o tty.o \ +- eap.o chap-md5.o ++ eap.o chap-md5.o mplscp.o + + # + # include dependencies if present +diff -uarN ppp-2.4.2-orig/pppd/main.c ppp-2.4.2/pppd/main.c +--- ppp-2.4.2-orig/pppd/main.c 2003-04-06 20:01:45.000000000 -0400 ++++ ppp-2.4.2/pppd/main.c 2003-12-08 11:20:42.000000000 -0500 +@@ -70,6 +70,9 @@ + #include "fsm.h" + #include "lcp.h" + #include "ipcp.h" ++ ++#include "mplscp.h" ++ + #ifdef INET6 + #include "ipv6cp.h" + #endif +@@ -246,6 +249,7 @@ + &cbcp_protent, + #endif + &ipcp_protent, ++ &mplscp_protent, + #ifdef INET6 + &ipv6cp_protent, + #endif +diff -uarN ppp-2.4.2-orig/pppd/mplscp.c ppp-2.4.2/pppd/mplscp.c +--- ppp-2.4.2-orig/pppd/mplscp.c 1969-12-31 19:00:00.000000000 -0500 ++++ ppp-2.4.2/pppd/mplscp.c 2003-12-08 11:20:44.000000000 -0500 +@@ -0,0 +1,371 @@ ++ ++/* MPLSCP - Serge.Krier@advalvas.be (C) 2001 */ ++ ++#include <stdio.h> ++#include <string.h> ++#include <netdb.h> ++#include <sys/param.h> ++#include <sys/types.h> ++#include <sys/socket.h> ++#include <netinet/in.h> ++#include <arpa/inet.h> ++ ++#include "pppd.h" ++#include "fsm.h" ++#include "mplscp.h" ++ ++ ++/* local vars */ ++/* static int mplscp_is_up; */ /* have called np_up() */ ++ ++/* ++ * Callbacks for fsm code. (CI = Configuration Information) ++ */ ++static void mplscp_resetci __P((fsm *)); /* Reset our CI */ ++static int mplscp_cilen __P((fsm *)); /* Return length of our CI */ ++static void mplscp_addci __P((fsm *, u_char *, int *)); /* Add our CI */ ++static int mplscp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */ ++static int mplscp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */ ++static int mplscp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */ ++static int mplscp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */ ++static void mplscp_up __P((fsm *)); /* We're UP */ ++static void mplscp_down __P((fsm *)); /* We're DOWN */ ++static void mplscp_finished __P((fsm *)); /* Don't need lower layer */ ++ ++fsm mplscp_fsm[NUM_PPP]; /* MPLSCP fsm structure */ ++ ++static fsm_callbacks mplscp_callbacks = { /* MPLSCP callback routines */ ++ mplscp_resetci, /* Reset our Configuration Information */ ++ mplscp_cilen, /* Length of our Configuration Information */ ++ mplscp_addci, /* Add our Configuration Information */ ++ mplscp_ackci, /* ACK our Configuration Information */ ++ mplscp_nakci, /* NAK our Configuration Information */ ++ mplscp_rejci, /* Reject our Configuration Information */ ++ mplscp_reqci, /* Request peer's Configuration Information */ ++ mplscp_up, /* Called when fsm reaches OPENED state */ ++ mplscp_down, /* Called when fsm leaves OPENED state */ ++ NULL, /* Called when we want the lower layer up */ ++ mplscp_finished, /* Called when we want the lower layer down */ ++ NULL, /* Called when Protocol-Reject received */ ++ NULL, /* Retransmission is necessary */ ++ NULL, /* Called to handle protocol-specific codes */ ++ "MPLSCP" /* String name of protocol */ ++}; ++ ++static option_t mplscp_option_list[] = { ++ { "mpls", o_bool, &mplscp_protent.enabled_flag, ++ "Enable MPLSCP (and MPLS)", 1 }, ++ { NULL } }; ++ ++/* ++ * Protocol entry points from main code. ++ */ ++ ++static void mplscp_init __P((int)); ++static void mplscp_open __P((int)); ++static void mplscp_close __P((int, char *)); ++static void mplscp_lowerup __P((int)); ++static void mplscp_lowerdown __P((int)); ++static void mplscp_input __P((int, u_char *, int)); ++static void mplscp_protrej __P((int)); ++static int mplscp_printpkt __P((u_char *, int, ++ void (*) __P((void *, char *, ...)), void *)); ++ ++struct protent mplscp_protent = { ++ PPP_MPLSCP, ++ mplscp_init, ++ mplscp_input, ++ mplscp_protrej, ++ mplscp_lowerup, ++ mplscp_lowerdown, ++ mplscp_open, ++ mplscp_close, ++ mplscp_printpkt, ++ NULL, ++ 0, /* MPLS not enabled by default */ ++ "MPLSCP", ++ "MPLS", ++ mplscp_option_list, ++ NULL, ++ NULL, ++ NULL ++}; ++ ++/* ++ * mplscp_init - Initialize MPLSCP. ++ */ ++static void ++mplscp_init(int unit) { ++ ++ fsm *f = &mplscp_fsm[unit]; ++ ++ f->unit = unit; ++ f->protocol = PPP_MPLSCP; ++ f->callbacks = &mplscp_callbacks; ++ fsm_init(&mplscp_fsm[unit]); ++ ++} ++ ++/* ++ * mplscp_open - MPLSCP is allowed to come up. ++ */ ++static void ++mplscp_open(int unit) { ++ ++ fsm_open(&mplscp_fsm[unit]); ++ ++} ++ ++/* ++ * mplscp_close - Take MPLSCP down. ++ */ ++static void ++mplscp_close(int unit, char *reason) { ++ ++ fsm_close(&mplscp_fsm[unit], reason); ++ ++} ++ ++/* ++ * mplscp_lowerup - The lower layer is up. ++ */ ++static void ++mplscp_lowerup(int unit) { ++ ++ fsm_lowerup(&mplscp_fsm[unit]); ++} ++ ++/* ++ * mplscp_lowerdown - The lower layer is down. ++ */ ++static void ++mplscp_lowerdown(int unit) { ++ ++ fsm_lowerdown(&mplscp_fsm[unit]); ++} ++ ++/* ++ * mplscp_input - Input MPLSCP packet. ++ */ ++static void ++mplscp_input(int unit, u_char *p, int len) { ++ ++ fsm_input(&mplscp_fsm[unit], p, len); ++} ++ ++/* ++ * mplscp_protrej - A Protocol-Reject was received for MPLSCP. ++ * Pretend the lower layer went down, so we shut up. ++ */ ++static void ++mplscp_protrej(int unit) { ++ ++ fsm_lowerdown(&mplscp_fsm[unit]); ++} ++ ++/* ++ * mplscp_resetci - Reset our CI. ++ * Called by fsm_sconfreq, Send Configure Request. ++ */ ++static void ++mplscp_resetci(fsm *f) { ++ ++ return; ++} ++ ++/* ++ * mplscp_cilen - Return length of our CI. ++ * Called by fsm_sconfreq, Send Configure Request. ++ */ ++static int ++mplscp_cilen(fsm *f) { ++ ++ return 0; ++} ++ ++/* ++ * mplscp_addci - Add our desired CIs to a packet. ++ * Called by fsm_sconfreq, Send Configure Request. ++ */ ++static void ++mplscp_addci(fsm *f, u_char *ucp, int *lenp) { ++ ++} ++ ++/* ++ * ipcp_ackci - Ack our CIs. ++ * Called by fsm_rconfack, Receive Configure ACK. ++ * ++ * Returns: ++ * 0 - Ack was bad. ++ * 1 - Ack was good. ++ */ ++static int ++mplscp_ackci(fsm *f, u_char *p, int len) { ++ ++ return 1; ++ ++} ++ ++/* ++ * mplscp_nakci - Peer has sent a NAK for some of our CIs. ++ * This should not modify any state if the Nak is bad ++ * or if MPLSCP is in the OPENED state. ++ * Calback from fsm_rconfnakrej - Receive Configure-Nak or Configure-Reject. ++ * ++ * Returns: ++ * 0 - Nak was bad. ++ * 1 - Nak was good. ++ */ ++static int ++mplscp_nakci(fsm *f, u_char *p, int len) { ++ ++ return 1; ++} ++ ++/* ++ * MPLSVP_rejci - Reject some of our CIs. ++ * Callback from fsm_rconfnakrej. ++ */ ++static int ++mplscp_rejci(fsm *f, u_char *p, int len) { ++ ++ return 1; ++ ++} ++ ++/* ++ * mplscp_reqci - Check the peer's requested CIs and send appropriate response. ++ * Callback from fsm_rconfreq, Receive Configure Request ++ * ++ * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified ++ * appropriately. If reject_if_disagree is non-zero, doesn't return ++ * CONFNAK; returns CONFREJ if it can't return CONFACK. ++ */ ++static int ++mplscp_reqci(fsm *f, u_char *inp, int *len, int reject_if_disagree) { ++ ++ ++ int rc = CONFACK; /* Final packet return code */ ++ ++ PUTCHAR(CONFACK,inp); ++ ++ return rc; ++ ++} ++ ++static void ++mplscp_up(fsm *f) { ++ ++ sifnpmode(f->unit, PPP_MPLS_UC, NPMODE_PASS); ++ /* sifnpmode(f->unit, PPP_MPLS_MC, NPMODE_PASS);*/ ++ ++ np_up(f->unit, PPP_MPLS_UC); ++ /* np_up(f->unit, PPP_MPLS_MC);*/ ++ /* ipcp_is_up = 1;*/ ++ ++ ++#if 1 ++ printf("MPLSCP is OPENED\n"); ++#endif ++ ++} ++ ++static void ++mplscp_down(fsm *f) { ++ ++ sifnpmode(f->unit, PPP_MPLS_UC, NPMODE_DROP); ++ /* sifnpmode(f->unit, PPP_MPLS_MC, NPMODE_DROP);*/ ++ ++ sifdown(f->unit); ++ ++#if 1 ++ printf("MPLSCP is CLOSED\n"); ++#endif ++ ++ ++} ++ ++static void ++mplscp_finished(fsm *f) { ++ ++ np_finished(f->unit, PPP_MPLS_UC); ++ /* np_finished(f->unit, PPP_MPLS_MC);*/ ++ ++} ++ ++/* ++ * mpls_printpkt - print the contents of an MPLSCP packet. ++ */ ++static char *mplscp_codenames[] = { ++ "ConfReq", "ConfAck", "ConfNak", "ConfRej", ++ "TermReq", "TermAck", "CodeRej" ++}; ++ ++static int ++mplscp_printpkt(u_char *p, int plen, ++ void (*printer) __P((void *, char *, ...)), ++ void *arg) { ++ ++ int code, id, len, olen; ++ u_char *pstart, *optend; ++ ++ if (plen < HEADERLEN) ++ return 0; ++ pstart = p; ++ GETCHAR(code, p); ++ GETCHAR(id, p); ++ GETSHORT(len, p); ++ if (len < HEADERLEN || len > plen) ++ return 0; ++ ++ if (code >= 1 && code <= sizeof(mplscp_codenames) / sizeof(char *)) ++ printer(arg, " %s", mplscp_codenames[code-1]); ++ else ++ printer(arg, " code=0x%x", code); ++ printer(arg, " id=0x%x", id); ++ len -= HEADERLEN; ++ switch (code) { ++ case CONFREQ: ++ case CONFACK: ++ case CONFNAK: ++ case CONFREJ: ++ /* print option list */ ++ while (len >= 2) { ++ GETCHAR(code, p); ++ GETCHAR(olen, p); ++ p -= 2; ++ if (olen < 2 || olen > len) { ++ break; ++ } ++ printer(arg, " <"); ++ len -= olen; ++ optend = p + olen; ++ while (p < optend) { ++ GETCHAR(code, p); ++ printer(arg, " %.2x", code); ++ } ++ printer(arg, ">"); ++ } ++ break; ++ ++ case TERMACK: ++ case TERMREQ: ++ if (len > 0 && *p >= ' ' && *p < 0x7f) { ++ printer(arg, " "); ++ print_string((char *)p, len, printer, arg); ++ p += len; ++ len = 0; ++ } ++ break; ++ } ++ ++ /* print the rest of the bytes in the packet */ ++ for (; len > 0; --len) { ++ GETCHAR(code, p); ++ printer(arg, " %.2x", code); ++ } ++ ++ return p - pstart; ++ ++} +diff -uarN ppp-2.4.2-orig/pppd/mplscp.h ppp-2.4.2/pppd/mplscp.h +--- ppp-2.4.2-orig/pppd/mplscp.h 1969-12-31 19:00:00.000000000 -0500 ++++ ppp-2.4.2/pppd/mplscp.h 2003-12-08 11:20:44.000000000 -0500 +@@ -0,0 +1,8 @@ ++ ++/* MPLSCP - Serge.Krier@advalvas.be (C) 2001 */ ++ ++#define PPP_MPLSCP 0x8281 ++#define PPP_MPLS_UC 0x0281 ++#define PPP_MPLS_MC 0x0283 ++ ++extern struct protent mplscp_protent; diff --git a/net-dialup/ppp/files/2.4.2/net.ppp0 b/net-dialup/ppp/files/2.4.2/net.ppp0 new file mode 100644 index 000000000000..6c62e55f8fed --- /dev/null +++ b/net-dialup/ppp/files/2.4.2/net.ppp0 @@ -0,0 +1,214 @@ +#!/sbin/runscript +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/ppp/files/2.4.2/net.ppp0,v 1.1 2004/02/12 20:25:27 lanius Exp $ + +# Misc internal variables +CMD_LINE="" +FUNCT="$2" +TEMPLATEDIR="/etc/ppp" + +checkconfig() { + + if [ -e "/var/run/ppp-${IFACE}.pid" -o -e "/var/run/${IFACE}.pid" ] && \ + [ "${FUNCT}" = "start" ] + then + eerror "${IFACE} is already up" + return 1 + fi +} + +start() { + + checkconfig || return 1 + + setup_cmd_line + setup_cfg_files + + ebegin "Bringing ${IFACE} up" + if [ -x "$(which pppd)" ] + then + + if [ "${DEFROUTE}" = "yes" ] + then + [ -n "$(/sbin/route -n | egrep '0.0.0.0')" ] && route del default + fi + # Added hide-password here, can't be too sure... + /usr/sbin/pppd ${CMD_LINE} ${MODEMPORT} ${LINESPEED} \ + ipparam ${IFACE} linkname ${IFACE} call ${PEER} \ + noauth ${PPPOPTIONS} hide-password + fi + eend +} + +stop() { + + checkconfig || return 1 + + ebegin "Bringing ${IFACE} down" + if [ -x "$(which ifconfig)" ] + then + + # Obtain interface name from pid file (IFACE is actually linkname) + if [ -e /var/run/ppp-${IFACE}.pid ] + then + IFNAME=$(egrep "ppp" /var/run/ppp-${IFACE}.pid) + fi + if [ -z "${IFNAME}" ] + then + IFNAME=${IFACE} + fi + + if [ -z "$(/sbin/ifconfig | egrep "${IFNAME}")" ] + then + # Link is not up but pppd may be running + ewarn "Interface seems to be down already" + fi + + if [ -e /var/run/ppp-${IFACE}.pid ] + then + PID=$(egrep -v "${IFNAME}" /var/run/ppp-${IFACE}.pid) + elif [ -e /var/run/${IFACE}.pid ] + then + PID=$(egrep -v "${IFNAME}" /var/run/${IFACE}.pid) + fi + + if [ -n "${PID}" ] + then + kill ${PID} + sleep 1 + + # Try to kill pppd repeatedly (sometimes, (e.g. if connection + # is not established) pppd ignores SIGTERM for a while) + PID_TMP=`pstree -p ${PID}` + PID_TMP=`echo ${PID_TMP} | sed -e 's:^.*pppd(\|).*::g'` + COUNT=0 + while [ -n "${PID_TMP}" ] && [ ${COUNT} -lt 10 ] + do + kill ${PID} + sleep 1 + PID_TMP=`pstree -p ${PID}` + PID_TMP=`echo ${PID_TMP} | sed -e 's:^.*pppd(\|).*::g'` + let COUNT++ + done + fi + + if [ -n "${PID_TMP}" ] + then + eend 1 "Error stopping pppd" + fi + + fi + eend +} + +setup_cmd_line() { + + CMD_LINE="lock" + + if [ "${DEBUG}" = "yes" ] + then + CMD_LINE="${CMD_LINE} debug" + fi + + if [ "${PERSIST}" = "yes" ] + then + CMD_LINE="${CMD_LINE} persist holdoff ${RETRYTIMEOUT}" + fi + + if [ "${DEFROUTE}" = "yes" ] + then + CMD_LINE="${CMD_LINE} defaultroute" + fi + + if [ "${HARDFLOWCTL}" = "yes" ] + then + CMD_LINE="${CMD_LINE} modem crtscts" + fi + + if [ "${ESCAPECHARS}" = "yes" ] + then + CMD_LINE="${CMD_LINE} asyncmap 00000000" + fi + + if [ "${PEERDNS}" = "yes" ] + then + CMD_LINE="${CMD_LINE} usepeerdns" + fi + + if [ -n "${IPADDR}${REMIP}" ] + then + CMD_LINE="${CMD_LINE} ${IPADDR}:${REMIP}" + fi + + if [ -n "${NETMASK}" ] + then + CMD_LINE="${CMD_LINE} netmask ${NETMASK}" + fi + + if [ -n "${MRU}" ] + then + CMD_LINE="${CMD_LINE} mru ${MRU}" + fi + + if [ -n "${MTU}" ] + then + CMD_LINE="${CMD_LINE} mtu ${MTU}" + fi + + if [ -n "${USERNAME}" ] + then + CMD_LINE="${CMD_LINE} user ${USERNAME} remotename ${PEER}" + fi + + if [ "${ONDEMAND}" = "yes" ] + then + CMD_LINE="${CMD_LINE} demand ktune idle ${IDLETIMEOUT}" + CMD_LINE="${CMD_LINE} holdoff ${RETRYTIMEOUT}" + fi +} + +setup_cfg_files() { + + if [ "${AUTOCFGFILES}" = "yes" ] + then + if [ -n "${NUMBER}" ] + then + # Setup the peers file + echo "connect '/usr/sbin/chat -f /etc/ppp/chat-${PEER}'" \ + >/etc/ppp/peers/${PEER} + fi + + # Setup the secrets files + echo "\"${USERNAME}\" ${PEER} \"${PASSWORD}\"" >/etc/ppp/chap-secrets + chmod 600 /etc/ppp/chap-secrets + echo "\"${USERNAME}\" ${PEER} \"${PASSWORD}\"" >/etc/ppp/pap-secrets + chmod 600 /etc/ppp/pap-secrets + + # Setup the chat file + if [ "${AUTOCHATSCRIPT}" = "yes" ] + then + if [ -n "${INITSTRING}" ] + then + if [ -n "${NUMBER}" ]; then + sed -e "12i\\'OK\' \'${INITSTRING}\'" \ + -e "s:\$NUMBER:${NUMBER}:" \ + ${TEMPLATEDIR}/chat-default \ + >/etc/ppp/chat-${PEER} + else + sed -e "12i\\'OK\' \'${INITSTRING}\'" \ + ${TEMPLATEDIR}/chat-default \ + >/etc/ppp/chat-${PEER} + fi + else + if [ -n "${NUMBER}" ]; then + sed -e "s:\$NUMBER:${NUMBER}:" \ + ${TEMPLATEDIR}/chat-default \ + >/etc/ppp/chat-${PEER} + fi + fi + fi + fi +} + +# vim:ts=4 diff --git a/net-dialup/ppp/files/2.4.2/options-pppoe b/net-dialup/ppp/files/2.4.2/options-pppoe new file mode 100644 index 000000000000..5988ee2d668a --- /dev/null +++ b/net-dialup/ppp/files/2.4.2/options-pppoe @@ -0,0 +1,6 @@ +noipdefault +hide-password +defaultroute +persist +lock + diff --git a/net-dialup/ppp/files/2.4.2/options-pptp b/net-dialup/ppp/files/2.4.2/options-pptp new file mode 100644 index 000000000000..af5749aac37c --- /dev/null +++ b/net-dialup/ppp/files/2.4.2/options-pptp @@ -0,0 +1,18 @@ +#192.168.1.0: +netmask 255.255.255.0 +#debug +#kdebug 1 +lock +mtu 1490 +mru 1490 +proxyarp +auth +require-chap +passive +ipcp-accept-local +ipcp-accept-remote +lcp-echo-failure 3 +lcp-echo-interval 5 +deflate 0 +#ms-dns 192.168.1.1 +#ms-wins 192.168.1.1 diff --git a/net-dialup/ppp/files/2.4.2/pppoe.html b/net-dialup/ppp/files/2.4.2/pppoe.html new file mode 100644 index 000000000000..512dc78329a1 --- /dev/null +++ b/net-dialup/ppp/files/2.4.2/pppoe.html @@ -0,0 +1,174 @@ +<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + + <meta name="GENERATOR" content="Mozilla/4.75 [en] (X11; U; Linux 2.2.16-22 i686) [Netscape]"> + <title>Index of /~mostrows</title> +</head> + <body text="#000000" bgcolor="#ffffff" link="#0000ef" vlink="#51188e" alink="#ff0000"> + <b><font face="Arial,Helvetica"><font size="+4">PPPoE for Linux 2.4</font></font></b> + +<p><font size="+0">This is a driver for PPPoE for Linux 2.4.</font> </p> + +<p><font size="+0">This driver is for 2.4 kernels only. For a driver + for 2.2 kernels, the <a href="http://www.roaringpenguin.com">Roaring Penguin</a><br> + package is recommended.<br> + </font></p> + +<p>The software on this page is currently required if you wish to use kernel-mode<br> + PPPoE with Roaring Penguin (see the Roaring Penguin documentation for details),<br> + though this functionality is currently recommended for experts only.<br> + </p> + +<p><font size="+0">Files:</font> </p> + +<p><font size="+0"> <a href="ppp-2.4.1-pppoe.patch4"> + ppp-2.4.1-pppoe.patch4</a> Patch for ppp-2.4.1</font><br> + <font size="+0"> <a href="ppp-2.4.1-pppoe4.tgz"> + ppp-2.4.1-pppoe4.tgz</a> Source of ppp-2.4.1 with patches applied. +</font> <br> + <font size="+0"> <a href="ppp-cvs.pppoe1.tgz"> + ppp-cvs.pppoe1.tgz</a> Source of ppp CVS repository with patches applied. +</font> <br> + </p> + +<p><b><font size="+0">Installation & Usage:</font></b> </p> + +<p><font size="+0">1. Configure, compile and install a 2.4 kernel.</font> + <br> + <font size="+0"><br> + Make sure to enable PPP over Ethernet in the kernel +configuration, as</font> <br> + <font size="+0"> well as as the "Packet Socket" +option. You must also enable support</font> <br> + <font size="+0"> for experimental drivers.</font></p> + +<p><font size="+0"> If you are compiling as a module, +add the line "alias net-pf-24 pppoe" to<br> + /etc/modules.conf.</font></p> + +<p><font size="+0"> Make sure that the /dev/ppp device +exists: "mknod /dev/ppp c 108 0"<br> + </font> </p> + +<p><font size="+0">2. Configure, compile and install the modified pppd +package.</font> <br> + <font size="+0"> Links to the patch, or the complete + patched source are available above.</font> </p> + +<p><font size="+0">3. Include the following line in your ppp options + file:</font> </p> + +<p><font size="+0"> plugin pppoe</font> </p> + +<p><font size="+0"> If you experience problems, try replacing + the "pppoe" with the</font> <br> + <font size="+0"> full path and file name of the "pppoe.so" + file that is installed</font> <br> + <font size="+0"> by the pppd installation.</font> </p> + +<p><font size="+0"> Following these two lines should be + your other ppp options. My</font> <br> + <font size="+0"> options file includes only one other +line; a "name" statement for</font> <br> + <font size="+0"> PAP.</font> </p> + +<p><font size="+0">4. Invoke pppd (e.g.: "pppd eth0"). Before + doing this, make sure the ethernet</font> <br> + <font size="+0"> device is up ("ifconfig eth0 up" + has been executed).</font> <br> + <font size="+0"></font> <br> + </p> + +<p><b><font size="+0">Other Stuff:</font></b> </p> + +<p><font size="+0">1. You can restrict pppd to connect to specific access-concentrators</font> + <br> + <font size="+0"> or specific services by addin "pppoe_ac_name" + and "pppoe_srv_name"</font> <br> + <font size="+0"> options (respectively) to your options + file. Each of these options is</font> <br> + <font size="+0"> followed by a string specifying the +conecntrator or service name that</font> <br> + <font size="+0"> is to be matched. Most people should +not need this.</font> <br> + </p> + +<p><font size="+0">2. Here's how I've configured things to get a server + working:</font> </p> + +<p><font size="+0"> client's /etc/ppp/options:</font> </p> + +<p><font size="+0"> plugin /usr/lib/pppd/plugins/pppoe.so</font> + <br> + <font size="+0"> name papname</font> + </p> + +<p><font size="+0"> client's /etc/ppp/pap-secrets:</font> + </p> + +<p><font size="+0"> papname * papsecret</font> + </p> + +<p><font size="+0"> server's /etc/ppp/options:</font> </p> + +<p><font size="+0"> plugin /usr/lib/pppd/plugins/pppoe.so</font> + <br> + <font size="+0"> pppoe_server</font> + <br> + <font size="+0"> +pap</font> +<br> + <font size="+0"> 10.10.10.1:</font> + </p> + +<p><font size="+0"> server's /etc/ppp/pap-secrets:</font> + </p> + +<p><font size="+0"> papname * papsecret + 10.10.10.0/24+ !10.10.10.1</font> <br> + </p> + +<p><font size="+0"> On both the client and the server, pppd +is invoked as "pppd eth0".</font> <br> + <font size="+0"> With this setup you will have to invoke + a new pppd on the server for</font> <br> + <font size="+0"> each session.</font> </p> + +<p><font size="+0"> The patched pppd also builds a new pppoed +which can be used to create</font> <br> + <font size="+0"> a PPPoE server capable of serving multiple + clients. To use this ,</font> <br> + <font size="+0"> remove the "pppoe_server" line from +the server's /etc/ppp/options</font> <br> + <font size="+0"> file. Invoke pppoed as: "pppoed +-S -I eth0 -A ac_name -S srv_name".</font> <br> + <font size="+0"> pppoed will now create a new pppd process + for each incoming connection.</font> <br> + <font size="+0"> Note: this is still rather flaky, use + with caution If pppoed seems to jam,</font> <br> + <font size="+0"> restarting it will not affect existing + connections.</font> <br> + </p> + +<p>3. If you're trying to run masquerading over your PPPoE link, check + out <a href="http://www.hgfelger.de/mss/mss.html">this</a> <br> + page for instructions on how to ensure that path + MTU's are properly <br> + reported across your network. Without + this your masquerading will <br> + not work. </p> + +<p> <a href="http://www.hgfelger.de/mss/mss.html"> + http://www.hgfelger.de/mss/mss.html</a> <br> + </p> + +<p><font size="+0">Michal Ostrowski</font> <br> + <font size="+0"><a href="mailto:mostrows@styx.uwaterloo.ca">mostrows@styx.uwaterloo.ca</a></font> + <br> + <br> + </p> + +</body> +</html> |