--- rp-pppoe-3.8.orig/man/pppoe.8 +++ rp-pppoe-3.8/man/pppoe.8 @@ -98,6 +98,19 @@ having to set the MTU on all the hosts on the LAN. .TP +.B \-H \fIMAC\fR +Causes +.B pppoe +to use the indicated Ethernet MAC address as the source address for +sending packets. +.I MAC +must be specified in the +.IR AA : BB : CC : DD : EE : FF +syntax. If this option is specified, +.B pppoe +puts the interface into promiscuous mode. + +.TP .B \-p \fIfile\fR Causes \fBpppoe\fR to write its process-ID to the specified file. This can be used to locate and kill \fBpppoe\fR processes. @@ -233,5 +246,4 @@ The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR. .SH SEE ALSO -pppoe-start(8), pppoe-stop(8), pppoe-connect(8), pppd(8), pppoe.conf(5), pppoe-setup(8), pppoe-status(8), pppoe-sniff(8), pppoe-server(8), pppoe-relay(8) - +pppd(8), pppoe-sniff(8), pppoe-server(8), pppoe-relay(8), /usr/share/doc/pppoe/README.Debian.gz --- rp-pppoe-3.8.orig/man/pppoe-server.8 +++ rp-pppoe-3.8/man/pppoe-server.8 @@ -71,6 +71,11 @@ of 10.67.15.1 is used. .TP +.B \-D +Delegate the allocation of IP addresses to \fBpppd\fR. If specified, neither +local nor remote address is passed to pppd. + +.TP .B \-N \fInum\fR Allows at most \fInum\fR concurrent PPPoE sessions. If not specified, the default is 64. @@ -173,6 +178,4 @@ The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR. .SH SEE ALSO -pppoe-start(8), pppoe-stop(8), pppoe-connect(8), pppd(8), pppoe.conf(5), -pppoe(8), pppoe-setup(8), pppoe-status(8), pppoe-sniff(8), pppoe-relay(8) - +pppd(8), pppoe(8), pppoe-sniff(8), pppoe-relay(8), /usr/share/doc/pppoe/README.Debian.gz --- rp-pppoe-3.8.orig/man/pppoe-relay.8 +++ rp-pppoe-3.8/man/pppoe-relay.8 @@ -120,6 +120,4 @@ The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR. .SH SEE ALSO -pppoe-start(8), pppoe-stop(8), pppoe-connect(8), pppd(8), pppoe.conf(5), -pppoe(8), pppoe-setup(8), pppoe-status(8), pppoe-sniff(8), pppoe-server(8) - +pppd(8), pppoe(8), pppoe-sniff(8), pppoe-relay(8), /usr/share/doc/pppoe/README.Debian.gz --- rp-pppoe-3.8.orig/man/pppoe-sniff.8 +++ rp-pppoe-3.8/man/pppoe-sniff.8 @@ -73,6 +73,4 @@ The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR. .SH SEE ALSO -pppoe-start(8), pppoe-stop(8), pppoe-connect(8), pppd(8), pppoe.conf(5), -pppoe(8), pppoe-setup(8), pppoe-status(8), pppoe-server(8), pppoe-relay(8) - +pppd(8), pppoe(8), pppoe-sniff(8), pppoe-relay(8), /usr/share/doc/pppoe/README.Debian.gz --- 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); --- rp-pppoe-3.8.orig/src/if.c +++ rp-pppoe-3.8/src/if.c @@ -457,9 +457,28 @@ if (hwaddr) { strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); if (ioctl(fd, SIOCGIFHWADDR, &ifr) < 0) { + fatalSys("ioctl(SIOCGIFHWADDR)"); + } + /* fake MAC address if hwaddr != 0:00:00:00:00:00 */ + if ((hwaddr[0]==0) && (hwaddr[1]==0) && (hwaddr[2]==0) && + (hwaddr[3]==0) && (hwaddr[4]==0) && (hwaddr[5]==0)) { + /* this is the normal mode, do not fake anything */ + memcpy(hwaddr, ifr.ifr_hwaddr.sa_data, ETH_ALEN); + } else { + /* this is the mode using a faked Hardware address */ + /* switch Interface to promisc Mode */ + if (ioctl(fd, SIOCGIFFLAGS, &ifr) < 0) { + fatalSys("ioctl(SIOCGIFFLAGS)"); + } + ifr.ifr_flags |= IFF_PROMISC; + if (ioctl(fd, SIOCSIFFLAGS, &ifr) < 0) { + fatalSys("ioctl(SIOCSIFFLAGS)"); + } + /* satisfy the subsequent checks */ + if (ioctl(fd, SIOCGIFHWADDR, &ifr) < 0) { fatalSys("ioctl(SIOCGIFHWADDR)"); + } } - memcpy(hwaddr, ifr.ifr_hwaddr.sa_data, ETH_ALEN); #ifdef ARPHRD_ETHER if (ifr.ifr_hwaddr.sa_family != ARPHRD_ETHER) { char buffer[256]; --- rp-pppoe-3.8.orig/src/Makefile.in +++ rp-pppoe-3.8/src/Makefile.in @@ -79,7 +79,7 @@ @CC@ -o pppoe-relay relay.o if.o debug.o common.o pppoe.o: pppoe.c pppoe.h - @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o pppoe.o pppoe.c + @CC@ $(CFLAGS) -DAUTO_IFUP '-DVERSION="$(VERSION)"' -c -o pppoe.o pppoe.c discovery.o: discovery.c pppoe.h @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o discovery.o discovery.c --- rp-pppoe-3.8.orig/src/pppoe.c +++ rp-pppoe-3.8/src/pppoe.c @@ -67,6 +67,48 @@ USED FOR STRESS-TESTING ONLY. DO NOT USE THE -F OPTION AGAINST A REAL ISP */ +#ifdef AUTO_IFUP +/* for interface activation, based on stripped down source source of ifconfig*/ +#include +/*#include */ +#include +#include +#include "config.h" +int skfd = -1; /* generic raw socket desc. */ +int sockets_open(int family) +{ + int sfd = -1; + sfd = socket(AF_INET, SOCK_DGRAM, 0); + return sfd; +} +/* Like strncpy but make sure the resulting string is always 0 terminated. + * Ripped from util.c (net-tools package) */ +char *safe_strncpy(char *dst, const char *src, size_t size) +{ + dst[size-1] = '\0'; + return strncpy(dst,src,size-1); +} +/* Set a certain interface flag. Ripped from ifconfig.c */ +static int set_flag(char *ifname, short flag) +{ + struct ifreq ifr; + + safe_strncpy(ifr.ifr_name, ifname, IFNAMSIZ); + if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0) { + fprintf(stderr, "%s: unknown interface: %s\n", + ifname, strerror(errno)); + return (-1); + } + safe_strncpy(ifr.ifr_name, ifname, IFNAMSIZ); + ifr.ifr_flags |= flag; + if (ioctl(skfd, SIOCSIFFLAGS, &ifr) < 0) { + perror("SIOCSIFFLAGS"); + return -1; + } + return (0); +} +#endif + PPPoEConnection *Connection = NULL; /* Must be global -- used in signal handler */ @@ -382,6 +424,7 @@ " -k -- Kill a session with PADT (requires -e)\n" " -d -- Perform discovery, print session info and exit.\n" " -f disc:sess -- Set Ethernet frame types (hex).\n" + " -H XX:XX:XX:XX:XX:XX -- Force Hardware Address (hex).\n" " -h -- Print usage information.\n\n" "PPPoE Version %s, Copyright (C) 2001-2006 Roaring Penguin Software Inc.\n" "PPPoE comes with ABSOLUTELY NO WARRANTY.\n" @@ -436,9 +479,9 @@ char const *options; #ifdef DEBUGGING_ENABLED - options = "I:VAT:D:hS:C:Usm:np:e:kdf:F:t:"; + options = "I:VAT:D:hS:C:Usm:np:e:kdf:F:t:H:"; #else - options = "I:VAT:hS:C:Usm:np:e:kdf:F:t:"; + options = "I:VAT:hS:C:Usm:np:e:kdf:F:t:H:"; #endif while((opt = getopt(argc, argv, options)) != -1) { switch(opt) { @@ -471,6 +514,18 @@ Eth_PPPOE_Discovery = (UINT16_t) discoveryType; Eth_PPPOE_Session = (UINT16_t) sessionType; break; + case 'H': + if (sscanf(optarg, "%2x:%2x:%2x:%2x:%2x:%2x", + &m[0], &m[1], &m[2], &m[3], &m[4], &m[5])!= 6) { + fprintf(stderr, + "Illegal argument to -H: Should be" + "XX:XX:XX:XX:XX:XX in hex\n"); + exit(EXIT_FAILURE); + } + for (n=0; n<6; n++) { + conn.myEth[n] = (unsigned char) m[n]; + } + break; case 'd': optSkipSession = 1; break; @@ -586,6 +641,16 @@ #endif } +#ifdef AUTO_IFUP + /* Create a channel to the NET kernel. */ + if ((skfd = sockets_open(0)) < 0) { + perror("socket"); + exit(1); + } + + set_flag(conn.ifName, (IFF_UP | IFF_RUNNING)); +#endif + if (!conn.printACNames) { #ifdef HAVE_N_HDLC --- rp-pppoe-3.8.orig/src/pppoe-server.c +++ rp-pppoe-3.8/src/pppoe-server.c @@ -160,6 +160,9 @@ unsigned char LocalIP[IPV4ALEN] = {10, 0, 0, 1}; /* Counter optionally STARTS here */ unsigned char RemoteIP[IPV4ALEN] = {10, 67, 15, 1}; /* Counter STARTS here */ +/* Delegates the allocation of IP addresses to pppd (as the pptpd doing) */ +int DelegateIPAllocation = 0; + /* Do we increment local IP for each connection? */ int IncrLocalIP = 0; @@ -214,6 +217,7 @@ memset(&conn, 0, sizeof(conn)); conn.useHostUniq = 0; + if (!DelegateIPAllocation) { syslog(LOG_INFO, "Session %u closed for client " "%02x:%02x:%02x:%02x:%02x:%02x (%d.%d.%d.%d) on %s", @@ -223,6 +227,15 @@ (int) session->realpeerip[0], (int) session->realpeerip[1], (int) session->realpeerip[2], (int) session->realpeerip[3], session->ethif->name); + } else { + syslog(LOG_INFO, + "Session %u closed for client " + "%02x:%02x:%02x:%02x:%02x:%02x on %s", + (unsigned int) ntohs(session->sess), + session->eth[0], session->eth[1], session->eth[2], + session->eth[3], session->eth[4], session->eth[5], + session->ethif->name); + } memcpy(conn.myEth, session->ethif->mac, ETH_ALEN); conn.discoverySocket = session->ethif->sock; conn.session = session->sess; @@ -998,6 +1011,7 @@ fprintf(stderr, " -L ip -- Set local IP address.\n"); fprintf(stderr, " -l -- Increment local IP address for each session.\n"); fprintf(stderr, " -R ip -- Set start address of remote IP pool.\n"); + fprintf(stderr, " -D -- Delegates the allocation of IP addresses to pppd.\n"); fprintf(stderr, " -S name -- Advertise specified service-name.\n"); fprintf(stderr, " -O fname -- Use PPPD options from specified file\n"); fprintf(stderr, " (default %s).\n", PPPOE_SERVER_OPTIONS); @@ -1056,9 +1070,9 @@ #endif #ifndef HAVE_LINUX_KERNEL_PPPOE - char *options = "hI:C:L:R:T:m:FN:f:O:o:sp:lrudPc:S:1"; + char *options = "hI:C:L:R:DT:m:FN:f:O:o:sp:lrudPc:S:1"; #else - char *options = "hI:C:L:R:T:m:FN:f:O:o:skp:lrudPc:S:1"; + char *options = "hI:C:L:R:DT:m:FN:f:O:o:skp:lrudPc:S:1"; #endif if (getuid() != geteuid() || @@ -1225,6 +1239,10 @@ } break; + case 'D': + DelegateIPAllocation = 1; + break; + case 'T': case 'm': /* These just get passed to pppoe */ @@ -1661,6 +1679,7 @@ argv[c++] = "file"; argv[c++] = pppoptfile; + if (!DelegateIPAllocation) { snprintf(buffer, SMALLBUF, "%d.%d.%d.%d:%d.%d.%d.%d", (int) session->myip[0], (int) session->myip[1], (int) session->myip[2], (int) session->myip[3], @@ -1676,6 +1695,16 @@ session->ethif->name, session->serviceName); argv[c++] = strdup(buffer); + } else { + syslog(LOG_INFO, + "Session %u created for client %02x:%02x:%02x:%02x:%02x:%02x on %s using Service-Name '%s'", + (unsigned int) ntohs(session->sess), + session->eth[0], session->eth[1], session->eth[2], + session->eth[3], session->eth[4], session->eth[5], + session->ethif->name, + session->serviceName); + } + if (!argv[c-1]) { /* TODO: Send a PADT */ exit(EXIT_FAILURE); @@ -1747,6 +1776,7 @@ argv[c++] = "file"; argv[c++] = pppoptfile; + if (!DelegateIPAllocation) { snprintf(buffer, SMALLBUF, "%d.%d.%d.%d:%d.%d.%d.%d", (int) session->myip[0], (int) session->myip[1], (int) session->myip[2], (int) session->myip[3], @@ -1762,6 +1792,16 @@ session->ethif->name, session->serviceName); argv[c++] = strdup(buffer); + } else { + syslog(LOG_INFO, + "Session %u created for client %02x:%02x:%02x:%02x:%02x:%02x on %s using Service-Name '%s'", + (unsigned int) ntohs(session->sess), + session->eth[0], session->eth[1], session->eth[2], + session->eth[3], session->eth[4], session->eth[5], + session->ethif->name, + session->serviceName); + } + if (!argv[c-1]) { /* TODO: Send a PADT */ exit(EXIT_FAILURE); --- rp-pppoe-3.8.orig/debian/pppoe.wrapper +++ rp-pppoe-3.8/debian/pppoe.wrapper @@ -0,0 +1,22 @@ +#!/bin/bash + +# Extract the last interface from pppoe command line (-I option). + +index=0 +iface=eth0 + +if [ "$1" == "-I" ]; then + iface="$2" +fi +args[$((index++))]=$1 +while shift; do + if [ "$1" == "-I" ]; then + iface="$2" + fi + args[$((index++))]=$1 +done + +# Bring the interface up. +ifconfig "$iface" up >/dev/null 2>/dev/null +# Start pppoe. +exec /usr/sbin/pppoe.real "${args[@]}" --- rp-pppoe-3.8.orig/debian/compat +++ rp-pppoe-3.8/debian/compat @@ -0,0 +1 @@ +4 --- rp-pppoe-3.8.orig/debian/dsl-provider +++ rp-pppoe-3.8/debian/dsl-provider @@ -0,0 +1,74 @@ +# Configuration file for PPP, using PPP over Ethernet +# to connect to a DSL provider. +# +# See the manual page pppd(8) for information on all the options. + +## +# Section 1 +# +# Stuff to configure... + +# MUST CHANGE: Uncomment the following line, replacing the user@provider.net +# by the DSL user name given to your by your DSL provider. +# (There should be a matching entry in /etc/ppp/pap-secrets with the password.) +#user myusername@myprovider.net + +# Use the pppoe program to send the ppp packets over the Ethernet link +# This line should work fine if this computer is the only one accessing +# the Internet through this DSL connection. This is the right line to use +# for most people. +pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1452" + +# An even more conservative version of the previous line, if things +# don't work using -m 1452... +#pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1412" + +# If the computer connected to the Internet using pppoe is not being used +# by other computers as a gateway to the Internet, you can try the following +# line instead, for a small gain in speed: +#pty "/usr/sbin/pppoe -I eth0 -T 80" + + +# The following two options should work fine for most DSL users. + +# Assumes that your IP address is allocated dynamically +# by your DSL provider... +noipdefault +# Try to get the name server addresses from the ISP. +usepeerdns +# Use this connection as the default route. +# Comment out if you already have the correct default route installed. +defaultroute + +## +# Section 2 +# +# Uncomment if your DSL provider charges by minute connected +# and you want to use demand-dialing. +# +# Disconnect after 300 seconds (5 minutes) of idle time. + +#demand +#idle 300 + +## +# Section 3 +# +# You shouldn't need to change these options... + +hide-password +lcp-echo-interval 20 +lcp-echo-failure 3 +# Override any connect script that may have been set in /etc/ppp/options. +connect /bin/true +noauth +persist +mtu 1492 + +# RFC 2516, paragraph 7 mandates that the following options MUST NOT be +# requested and MUST be rejected if requested by the peer: +# Address-and-Control-Field-Compression (ACFC) +noaccomp +# Asynchronous-Control-Character-Map (ACCM) +default-asyncmap + --- rp-pppoe-3.8.orig/debian/copyright +++ rp-pppoe-3.8/debian/copyright @@ -0,0 +1,28 @@ +This package was Debianized on the 30th of December 1999 by Christian Hudon + using source obtained from +http://www.roaringpenguin.com/pppoe.html + +rp-pppoe is copyright © 1999-2000 Roaring Penguin Software Inc. + +rp-pppoe is licenced under the GNU General Public License. On Debian +GNU/Linux systems, the full text of the GPL is available under +/usr/share/common-licenses/GPL. + +Portions of the Debian version of rp-pppoe have been copied from the +net-tools package (from the files utils.c and ifconfig.c). The +respective copyright statements are: + +/* Copyright 1998 by Andi Kleen. Subject to the GPL. */ + + * Author: Fred N. van Kempen, + * and others. Copyright 1993 MicroWalt Corporation + * + * This program is free software; you can redistribute it + * and/or modify it under the terms of the GNU General + * Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at + * your option) any later version. + +A patch from Sven Geggus has been applied, which adds the ability to +set the source MAC address. According to personal communications, +this patch is subject to the GPL as well. --- rp-pppoe-3.8.orig/debian/control +++ rp-pppoe-3.8/debian/control @@ -0,0 +1,15 @@ +Source: rp-pppoe +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Andreas Barth +Standards-Version: 3.6.0 +Section: net +Priority: optional +Build-Depends: debhelper (> 4) + +Package: pppoe +Architecture: any +Depends: ${shlibs:Depends}, ppp (>= 2.3.10-1), ${misc:Depends} +Description: PPP over Ethernet driver + PPP over Ethernet (PPPoE) is a protocol used by + many ADSL Internet service providers. This package allows + you to connect to those PPPoE service providers. --- rp-pppoe-3.8.orig/debian/README.Debian +++ rp-pppoe-3.8/debian/README.Debian @@ -0,0 +1,125 @@ + How to Setup your DSL PPPoE Connection + +To get pppoe running, you will need to fill in at least the three following +pieces of information: + +a) your user name (given to you by your DSL provider) +b) your password +c) the Ethernet interface your DSL modem is connected (if you have more +than one Ethernet card) + +To do this, follow the following steps while logged in as root: + +1. Edit the file /etc/ppp/pap-secrets file, adding a line to the outbound +connections sections that has the following format: + +username@sympatico.ca sympatico.ca password + +Replace "username" by the username your DSL provider gave you and "password" +by your password. This assumes that your provider is Sympatico. If it is +not, you will also need to replace 'sympatico.ca' by the address of your +provider. (T-DSL users from Germany may want to have a look at the end of +this file for hints on figuring out the username that ppp needs.) + +2. In the file /etc/ppp/peers/dsl-provider, uncomment and edit the "user" line. +Using our example of "username@sympatico.ca" the line should then look like +this: + +user username@sympatico.ca + +with what follows 'user' being identical to the first part of the line you +added to pap-secrets. + +3. If you have more than one Ethernet card in your computer, replace the +"eth0" in the /etc/ppp/peers/dsl-provider file by the interface your DSL +modem is plugged in. + +4. Now, to bring your connection up, do one of the following: + + a) If you want your connection to come up automatically (either for an + always-on connection or if you are using demand-dialing), add the following + to /etc/network/interfaces: + + auto myisp + iface myisp inet ppp + provider dsl-provider + + To start your pppoe connection, execute "ifup myisp". The connection will + also come up automatically the next time you boot. + + (Note that for demand-dialing, you will need to edit the + /etc/ppp/peers/dsl-provider file and uncomment the lines in section 2.) + + b) If you want to bring your connection up manually (because your DSL + provider charges per minute connected), simply type "pon dsl-provider" to + bring the connection up and "poff" to bring it down. + +In both cases, running the "plog" command, you should see in one of the +lines something line "pppd[216]: Connect: ppp0 <--> eth0". which means that +the connection came up successfully. + +------ + + User-Contributed Hints and Tips + +- The following kernel options needs to be enabled to run pppoe: + CONFIG_PPP, CONFIG_PPP_ASYNC. + +- The Debian pppoe program is patched to automatically bring up the + Ethernet interface. + +- If the connection comes up without problems (i.e. no ppp errors show + up when you execute the "plog" command) but no data can be send or + received, check using the "route" command if there is another default + route (aka gateway) when you start the connection. If so try deleting this + route, by removing the corresponding "gateway" line in the + /etc/network/interfaces file. + You may find useful the replacedefaultroute pppd keywork. + +- If the usepeerdns keyword is used in /etc/ppp/peers/dsl-provider, + once the connection is up the default pppd configuration will + automatically update /etc/resolv.conf with the name server addresses + provided by your ISP. + +- If your machine is a gateway for a LAN, the clients may have problems + connecting to some sites. To avoid this problem, you need to clamp MSS + size, using the "-m" option of pppoe. Example lines doing this are provided + in the /etc/ppp/peers/dsl-provider file supplied with this package. + +- German T-DSL user may find the following example useful in figuring out + the correct user name for ppp. (Taken from + http://www.adsl4linux.de/software/tonline_rp-pppoe.html) + + _________________________________________________________ + / \ + | Anschlusskennung: 11111111111 | + | T-Onlinenummer: 222222222222 | + | Mitbenutzer: 0001 | + | Passwort: geHeim | + | | + | Listing 1: /etc/ppp/pap-secrets | + | | + | # Secrets for authentication using PAP | + | # client server secret IP addresses | + | | + | "111111111111222222222222#0001@t-online.de" * "geHeim" | + \_________________________________________________________/ + + Due to the presence of a "#" character in the username, the username will + need quoting in the dsl-provider file, like this: + + user "111111111111222222222222#0001@t-online.de" + +- RFC 2516 paragraph 7 mandates that the following options MUST NOT be + requested and MUST be rejected if requested by the peer: + - Field Check Sequence (FCS) Alternatives + - Address-and-Control-Field-Compression (ACFC) + - Asynchronous-Control-Character-Map (ACCM) + The first option is not implemented by pppd, the others are disabled with + the keywords noaccomp and default-asyncmap in /etc/ppp/peers/dsl-provider. + Removing them (especially default-asyncmap) may break your connection. + The use of default-asyncmap will not cause a connection slowdown because + even if the default asyncmap is FFFFFFFF, it can be used only with ttys. + + + -- Christian Hudon , Tue Sep 16 14:08:08 2003 --- rp-pppoe-3.8.orig/debian/changelog +++ rp-pppoe-3.8/debian/changelog @@ -0,0 +1,207 @@ +rp-pppoe (3.8-3ubuntu1) oneiric; urgency=low + + * Tweak and apply patch by Igor A Tarasov to resolve pppoe-server not + honoring pppd's configured IP addresses. This patch adds a '-D' + (delegate) option, similar to pptpd's, that causes pppoe-server to + skip adding its own local and remote IP addresses to the pppd + command line, thereby allowing pppd to perform address assignment + properly. Thanks, Igor! (LP: #705872) + + -- Daniel T Chen Fri, 22 Jul 2011 12:34:27 -0400 + +rp-pppoe (3.8-3) unstable; urgency=low + + [ Norman Rasmussen ] + * README.Debian updated to use the new method of starting ppp at boot + time. Closes: #274341 + + [ Florian Weimer ] + * Include source-address patch from Sven Geggus. Closes: #419677 + + [ Andreas Barth ] + * Merge patches & upload. + + -- Andreas Barth Tue, 17 Apr 2007 12:21:37 +0000 + +rp-pppoe (3.8-2) unstable; urgency=low + + * Adopt package. + * Cleanup: use orig.tar.gz, remove odd Makefiles and obsolete, sync with + upstream, update debian/copyright. Thanks to Florian Weimar. + * Set CONNECT_TIMEOUT=0. + Closes: #159803, #222746, #251261, #320676, #222746, #230707. + * Ignore broadcasted PADO-packets instead of packets from non-unique source + address. Thanks to Stephane Louise for detection + and the patch. Closes: #293811 + + -- Andreas Barth Sat, 10 Mar 2007 17:36:24 +0000 + +rp-pppoe (3.8-1.1) unstable; urgency=high + + * Non-maintainer upload. + * Hardcode path to pppd so that pppoe works even when there is no + pppd installed in the compilation chroot. Closes: #380584 + + -- Andreas Barth Mon, 27 Nov 2006 12:20:15 +0100 + +rp-pppoe (3.8-1) unstable; urgency=low + + * New upstream release + * Upstream incorporated different version of security patch for -D and -p + that drops priviledges for these options. Dropping Debian patch. + + -- Christian Hudon Tue, 25 Apr 2006 20:53:50 -0400 + +rp-pppoe (3.5-4) unstable; urgency=high + + * Added patch by Max Vozeler to ignore -D and -p + when pppoe is not running as root to prevent a potential root + compromise by users in group dip when pppoe is running setuid root. + [src/pppoe.c, CAN-2004-0564] Note that group dip is empty by default + on Debian installs. + + -- Christian Hudon Wed, 29 Sep 2004 22:08:20 -0400 + +rp-pppoe (3.5-3) unstable; urgency=medium + + * Oops! pppoe should be installed setuid root, not setgid dip to close + bugs 102050 and 172376! Still installed without the execute bit for other, so + safe from a security standpoint, since group dip is empty by default. + * Remove debian/conffiles since debconf 4 creates it. + + -- Christian Hudon Tue, 16 Sep 2003 15:06:35 -0400 + +rp-pppoe (3.5-2) unstable; urgency=low + + * Release based on work done by Marco d'Itri. + * Ship /usr/sbin/pppoe sgid dip, but not executable by other. + (Closes: #102050, #172376) + * Set $PATH in ppp_on_boot.dsl. (Closes: #133580, #138878) + * Add to dsl-provider the options noaccomp and default-asyncmap, + which are required by the RFC. README.Debian updated. + (Closes: #185362, #171549) + * Add to dsl-provider the option usepeerdns, as pppd will try to use + it by default. README.Debian updated. + * Remove from ppp_on_boot.dsl the call to ifconfig, debian pppoe can + set up the interface since 3.2-1. README.Debian updated. + * Add a note to README.Debian about the kernel options needed by pppoe. + (Closes: #159519) + * Stop installing KERNEL-MODE-PPPOE, the ppp package provides this. + * Remove .pppoe.prcs_aux too in the clean target. + + -- Christian Hudon Tue, 16 Sep 2003 14:24:51 -0400 + +rp-pppoe (3.5-1) unstable; urgency=low + + * New upstream release. + * Remove prcs merge log (pppoe.log) during debian/rules clean. + * Add note about default-asyncmap to README.Debian, pending further + investigation. + * Add note to README.Debian about T-Online users needing to quote the + username in the dsl-provider file. (Closes: #132996) + + -- Christian Hudon Mon, 24 Mar 2003 20:22:00 -0500 + +rp-pppoe (3.3-1.2) unstable; urgency=low + + * NMU during bug squashing party. + * Applied patch from Thomas Antepoth to src/if.c (closes: #124175), + see http://www.voy.com/41165/2/1244.html + + -- Josselin Mouette Sun, 1 Sep 2002 11:04:12 +0200 + +rp-pppoe (3.3-1.1) unstable; urgency=low + + * Non Maintainer Upload. + * mark /etc/ppp/ppp_on_boot.dsl as conffile (closes: #132117) + * use full path in /etc/ppp/peers/dsl-provider ppp_on_boot.dsl + (closes: #111551) + * small fix so can build on potato (closes: #117316) + * remove references to adsl-* in manpages and point user to + /usr/share/doc/pppoe/README.Debian (closes: #71840) + + -- David Kimdon Sun, 3 Feb 2002 16:44:55 -0800 + +rp-pppoe (3.3-1) unstable; urgency=low + + * New upstream release. (Closes: #113885) + * Default to "-m 1452" in dsl-provider. (Closes: #113300) + + -- Christian Hudon Thu, 1 Nov 2001 15:28:10 -0500 + +rp-pppoe (3.2-1) unstable; urgency=low + + * New upstream release. + * Replaced wrapper by patch from Eduard Bloch that makes pppoe bring + the interface up if it wasn't up. (Closes: #106970) + * Bugs fixed in this or a previous release: + closes: #94540, #83918, #70834, #72065, #80137, #86226, #79319, #75443, #67863, #79529, #88499, #91330. + + -- Christian Hudon Mon, 20 Aug 2001 19:26:45 -0400 + +rp-pppoe (3.0-4) unstable; urgency=high + + * Remove -arp switch from ppp_on_boot and pppoe wrapper. This breaks + networks were the DSL modem is connected to a hub and not directly to + a network interface. (Closes: #100833) + + -- Christian Hudon Thu, 14 Jun 2001 13:52:42 -0400 + +rp-pppoe (3.0-3) unstable; urgency=low + + * Added instructions on how to set up pppoe to work with pon, for people + that are billed by their DSL provider for minutes connected. (Which is + somewhat odd...) + * Wrapper around pppoe to automatically bring up the interface that will + be used by pppoe. Needed for pon support because /etc/network/interfaces + doesn't support bringing up an interface without assigning it an + IP address, and pon doesn't support the execution of arbitrary + commands before the execution of pppd. (Well, except for ppp_on_boot, + which we don't want to use in this case.) + * Also added instructions on how to use demand-dialing. + * Corrected thinko in README.Debian file. + + -- Christian Hudon Mon, 11 Jun 2001 15:44:47 -0400 + +rp-pppoe (3.0-2) unstable; urgency=low + + * New upstream release. + * Rewrote and simplified installation instructions. (Next version will + hopefully also offer a debconf install.) + * Added user-contributed tips section to the README.Debian file. + * Modifications and improvements from changes suggested by Eduard Bloch. + + -- Christian Hudon Wed, 23 May 2001 00:41:29 -0400 + +rp-pppoe (2.8-0.1) unstable; urgency=low + + * NMU. + * New upstream version. (Closes: #83918, #72065, #80137) + * Changed debian/rules to install everything, then remove the + unwanted scripts. + * Corrected Source-Depends to Build-Depends, and added debhelper and + ppp. + + -- Daniel Schepler Sat, 17 Mar 2001 22:21:59 -0800 + +rp-pppoe (1.7-1) unstable; urgency=low + + * Updated to latest upstream release. + + -- Christian Hudon Fri, 21 Apr 2000 15:14:57 -0400 + +rp-pppoe (1.0-1) unstable; urgency=low + + * Upgraded to new upstream release. + * Added copyright statement in copyright file. + + -- Christian Hudon Wed, 12 Jan 2000 20:28:01 -0500 + +rp-pppoe (0.99b-1) unstable; urgency=low + + * Initial Debian release. + + -- Christian Hudon Thu, 30 Dec 1999 21:07:44 -0500 + + + --- rp-pppoe-3.8.orig/debian/rules +++ rp-pppoe-3.8/debian/rules @@ -0,0 +1,64 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +build: build-stamp +build-stamp: + dh_testdir +# test -f configure || (aclocal; autoconf) + test -f src/Makefile || (cd src && PPPD=/usr/sbin/pppd ./configure) + $(MAKE) -C src + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + -rm -f pppoe.prj pppoe.log .pppoe.prcs_aux + -$(MAKE) -C src distclean + -$(MAKE) -C gui distclean + rm -f src/pppoe-relay + -rm -f debian/substvars.debhelper + -rm -f config.h config.log config.status + -rm -f Makefile libevent/Makefile + dh_clean + +# Build architecture-independent files here. +binary-indep: build +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs usr/sbin usr/share + $(MAKE) -C src install RPM_INSTALL_ROOT="`pwd`/debian/pppoe" +# Now clean out unwanted things, and move others to their places + rm -rf debian/pppoe/etc/ppp debian/pppoe/usr/doc + rm -rf debian/pppoe/usr/man/man5 # pppoe.conf manpage + rm -f debian/pppoe/usr/sbin/adsl-* debian/pppoe/usr/man/man8/adsl-* + dh_installdirs etc/ppp/peers + mv debian/pppoe/usr/man debian/pppoe/usr/share/man + install -m 0640 -o root -g dip debian/dsl-provider \ + debian/pppoe/etc/ppp/peers/dsl-provider + dh_installdocs + dh_installexamples +# dh_installmanpages + dh_installchangelogs doc/CHANGES + dh_link + dh_strip + dh_compress +# dh_fixperms + chgrp dip debian/pppoe/usr/sbin/pppoe + chmod u+s debian/pppoe/usr/sbin/pppoe + chmod o-x debian/pppoe/usr/sbin/pppoe + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install --- 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