Changes from Version 2.8 to 3.0: - 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. Changes from Version 2.7 to 2.8: - 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. *** NOTE: 2.7 was not released publicly Changes from Version 2.6 to 2.7: - 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). - 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. Changes from Version 2.5 to 2.6: - 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. Changes from Version 2.4 to 2.5: - 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. Changes from Version 2.3 to 2.4: - Fixed spec file to automatically add .gz extension to man files as required - Tightened firewall rules. - Better check for /var/run in adsl-status; minor shell script fixes and cleanups for NetBSD and Solaris. - Added FAQ to HOW-TO-CONNECT regarding running a script each time a connection is made. Changes from Version 2.2 to 2.3: - Fixed the init script to create/remove /var/lock/subsys/adsl (patch courtesy of Charley Carter.) - Added support (under Linux) for N_HDLC line discipline which should greatly reduce CPU usage. My tests show it cuts CPU usage in half. My 486 DX2/66 gets 800 kb/s at 22% CPU usage. - adsl-connect uses "setsid" (if available) so that adsl-stop doesn't kill its caller. There is (IMO) a bug in pppd which kills all processes in its process group if the "pty" option is used. The setsid program gets around this bug, on Linux at least. - Port to Solaris, courtesy of David Holland. - Renamed spec file from "spec" to "rp-pppoe.spec" and made some cleanups. NOTE: Red Hat, in their infinite wisdom, decided to make the new RPM compress man pages automatically. You may have problems building RPM's from source unless you get the latest rpm package and make sure it compresses man pages. Changes from Version 2.1 to 2.2: - 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. Changes from Version 2.0 to 2.1: - 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. Changes from Version 1.9 to 2.0: - 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. Changes from Version 1.8 to 1.9: - Added some more documentation to HOW-TO-CONNECT - Demand-dialling option now works correctly - SIGHUP terminates pppoe after sending a PADT to the access concentrator - Minor cleanups to connection shell scripts Changes from Version 1.7 to 1.8: - Added demand-dialling option - Clarified HOW-TO-CONNECT - Added adsl-status script - Added "restart" and "status" options to Red Hat /etc/rc.d/init.d/adsl script - Made adsl-setup check for existence of pppd - Wildcarded external interface in firewall rules - Made pppoe send a PADT frame if connection is terminated $Id$