269a53f589
- 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.
31 lines
1 KiB
Text
31 lines
1 KiB
Text
$NetBSD: patch-ad,v 1.2 2001/10/07 13:26:38 tron Exp $
|
|
|
|
--- pppoe.c.orig Fri Sep 14 21:18:53 2001
|
|
+++ pppoe.c Sun Oct 7 14:15:21 2001
|
|
@@ -113,7 +113,7 @@
|
|
* packet before passing it here.
|
|
***********************************************************************/
|
|
void
|
|
-sessionDiscoveryPacket(PPPoEPacket *packet)
|
|
+sessionDiscoveryPacket(PPPoEConnection *conn, PPPoEPacket *packet)
|
|
{
|
|
/* Sanity check */
|
|
if (packet->code != CODE_PADT) {
|
|
@@ -695,7 +695,7 @@
|
|
/* Make sure this is a session packet before processing further */
|
|
type = etherType(&packet);
|
|
if (type == Eth_PPPOE_Discovery) {
|
|
- sessionDiscoveryPacket(&packet);
|
|
+ sessionDiscoveryPacket(conn, &packet);
|
|
} else if (type != Eth_PPPOE_Session) {
|
|
return;
|
|
}
|
|
@@ -822,7 +822,7 @@
|
|
/* Make sure this is a session packet before processing further */
|
|
type = etherType(&packet);
|
|
if (type == Eth_PPPOE_Discovery) {
|
|
- sessionDiscoveryPacket(&packet);
|
|
+ sessionDiscoveryPacket(conn, &packet);
|
|
} else if (type != Eth_PPPOE_Session) {
|
|
return;
|
|
}
|