and reverted by patches, some of them were already present in (now
removed) patches; plus:
- Changed the names of commands from adsl-* to pppoe-* to more logically
name the scripts.
- Make the userland pppoe daemon run as "nobody" if possible, once session
has started.
- Make userland pppoe program somewhat safe if it is installed SUID or
SGID. Note that I still do *NOT* recommend a SUID/SGID pppoe.
- Fix long-standing bug in pppoe-server that passed arguments to pppd in the
wrong order.
- Fixes for compilation on Solaris.
- INCOMPATIBILITY WITH EARLIER VERSIONS:
Kernel-mode plugin now is built against latest CVS ppp source rather than
Michal Ostrowski's patched version. If you use kernel-mode PPPoE, you
MUST use the CVS version of the ppp source code with rp-pppoe 3.4.
- Print PPPoE session number when connection terminates. Thanks to
Alexander Dalloz for suggesting this.
- Fixed a bug in MSS clamping -- it now works with protocol-field compression.
Thanks to Gerd v. Egidy for the patch.
- Ignore SIGINT and SIGTERM so LCP termination packets make it out.
This update also contains a patch for PR pkg/18525 by Lex Wennmacher.
- Client works on Solaris again. It was broken in 3.2.
- Added DEFAULTROUTE=yes|no option to configuration file.
- Server parses address pool file better.
- Server address pool allows ranges of addresses on a line: a.b.c.d-e
- Added "-d" (=debug) and "-P" (=check pool file syntax) options to
pppoe-server.
- Client now ignores PADT's if they are from the wrong source MAC address
or to the wrong destination MAC address.
- Minor fixes to Makefile.in for Turbolinux.
- Improved KERNEL-MODE-PPPOE instructions
- Works with patched pppd 2.4.1
- Many improvements to server: Added "-u" and "-r" options; server can
now respond to request on multiple Ethernet interfaces.
- SECURITY BUG FIX: Server now ignores PADT's if they are from the wrong
source MAC address. You are STRONGLY RECOMMENDED to upgrade to 3.1
if you use pppoe-server in production.
- Many small improvements to server. Server now only makes one
discovery socket, systemwide, with addition of "-n" option to pppoe.
- Fixes for compilation problems on BSD, Solaris and some Linux platforms.
- Added "-p" option to pppoe-server to allow you to specify a pool of
IP addresses to assign to clients.
- Added GUI system (tkpppoe). This work was funded by Iospan
Wireless, Inc. The GUI includes a Set-UID wrapper (pppoe-wrapper)
which allows ordinary users to control a link (if so authorized.)
I believe the wrapper script is secure, but please audit the
source code (gui/wrapper.c) if you have any concerns.
- Changes to scripts and pppoe.conf. DNS setup is now dynamic (happens
each time adsl-connect runs.)
- Made relay.c check packet lengths rigorously; made it throw out Ethernet
frame padding on session packets as well as discovery packets.
- Added init scripts for TurboLinux, courtesy of Yasuhiro Sumi.
- Made relay.c check packet lengths rigorously; made it throw out Ethernet
frame padding on discovery packets.
- Completely restructured source file tree.
- Much internal restructuring to eliminate a bunch of global variables.
- adsl-connect now executes /etc/ppp/adsl-lost whenever connection is dropped
or cannot be established.
- Split pppoe.c into pppoe.c and discovery.c.
- Added relay agent (pppoe-relay). Development of the relay agent was
funded by IBM Corporation.
- Made adsl-connect script use the "-U" (host-unique) option to better support
multiple PPPoE links.
- Added support for kernel-mode PPPoE (EXPERIMENTAL, UNSUPPORTED!)
- Added "-o" option to PPPoE server; encoded server PID in pppoe-server
cookie.
Furthermore a startup script for NetBSD 1.5 and newer was added.
- Code should now compile cleanly on Caldera and Slackware Linux
- Fixed rp-pppoe.spec file to work on Mandrake and Red Hat.
- Deleted some obsolete files
- Fixed bug in Solaris/x86 port (thanks to Philippe Levan)
- Made shell scripts nicer under Solaris (again, Philippe Levan)
- Made adsl-status look under /var/run and /etc/ppp for PID files. Should
fix problems with NetBSD.
- Added PPPD_EXTRA to pppoe.conf; made the PID file depend on the config
file name. This makes it easier to run multiple PPPoE sessions.
- Tested for zero-length TCP option-length field, and for reverse-packing
of type/code bitfields. Thanks to Robert Schlabbach for pointing out
these problems.
- Set umask to 077 in adsl-setup.in to protect created files like
/etc/ppp/pap-secrets.
- Added "-f" option to pppoe to allow use of any Ethernet frame type
for PPPoE. USE WITH CAUTION -- this is a workaround for broken DSL
providers, not something you should monkey with freely!
- Added pppoe-sniff program to help expose non-standard PPPoE
implementations.
- Fixed minor bugs in bounds-checking
- Modified adsl-status to use output of "netstat -r -n" to determine
whether or not link is up. This should make it independent of locale,
I hope!
- Added "-k" and "-d" options to pppoe.
- Addition of pppoe-server
- Massive internal code restructuring
- Zealous bounds-checking everywhere.
- adsl-setup now quotes user name and password in /etc/ppp/pap-secrets.
- Ported to OpenBSD, FreeBSD and NetBSD, courtesy of Geoff Mottram
and Yannis Sismanis.
- Rearranged adsl-* shell scripts, courtesy of Heiko Schlittermann.
- Fixed bug in which Host-Uniq did not work if access concentrator sent
a cookie.
- Addition of SuSE-specific "init" script, courtesy of Gary Cameron.