From owner-freebsd-net Wed Apr 3 2:30:15 2002 Delivered-To: freebsd-net@freebsd.org Received: from serio.al.rim.or.jp (serio.al.rim.or.jp [202.247.191.123]) by hub.freebsd.org (Postfix) with ESMTP id 74B8A37B416; Wed, 3 Apr 2002 02:30:11 -0800 (PST) Received: from mail2.rim.or.jp by serio.al.rim.or.jp (3.7W/HMX-13) id TAA01787; Wed, 3 Apr 2002 19:30:10 +0900 (JST) Received: from bougainvillea.FromTo.Cc (shell.al.rim.or.jp [202.247.191.81]) by mail2.rim.or.jp (8.9.3/3.7W) id TAA15543; Wed, 3 Apr 2002 19:30:07 +0900 (JST) Date: Wed, 03 Apr 2002 19:31:16 +0900 Message-ID: <86zo0lqdjf.wl@bougainvillea.FromTo.Cc> From: Tatsumi Hosokawa To: freebsd-net@freebsd.org Cc: hosokawa@freebsd.org Subject: Please review: ppp(8) and RADIUS address allocation User-Agent: Wanderlust/2.8.1 (Something) SEMI/1.14.3 (Ushinoya) FLIM/1.14.3 (=?ISO-8859-1?Q?Unebigory=F2mae?=) APEL/10.3 MULE XEmacs/21.1 (patch 14) (Cuyahoga Valley) (i386--freebsd) MIME-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya") Content-Type: text/plain; charset=US-ASCII Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Hi, all. I'm testing to use FreeBSD box as PPPoE server and found that ppp(8) uses 255.255.255.254 (special address to get IP address from NAS pool defined in RADIUS protocol) as p2p address when "set radius" is used in ppp.conf. I found the same trouble at http://docs.freebsd.org/cgi/getmsg.cgi?fetch=299723+0+archive/2001/freebsd-net/20010812.freebsd-net Following patch can fix this problem. Please review it. Thanks. diff -ur /var/tmp/src/usr.sbin/ppp/auth.c ppp/auth.c --- /var/tmp/src/usr.sbin/ppp/auth.c Thu Jun 14 06:56:33 2001 +++ ppp/auth.c Wed Apr 3 19:05:58 2002 @@ -156,7 +156,8 @@ } #ifndef NORADIUS - if (bundle->radius.valid && bundle->radius.ip.s_addr != INADDR_NONE) { + if (bundle->radius.valid && bundle->radius.ip.s_addr != INADDR_NONE && + bundle->radius.ip.s_addr != RADIUS_INADDR_POOL) { /* We've got a radius IP - it overrides everything */ if (!ipcp_UseHisIPaddr(bundle, bundle->radius.ip)) return 0; diff -ur /var/tmp/src/usr.sbin/ppp/radius.h ppp/radius.h --- /var/tmp/src/usr.sbin/ppp/radius.h Fri May 18 04:11:48 2001 +++ ppp/radius.h Wed Apr 3 19:06:11 2002 @@ -76,3 +76,6 @@ #define RAD_START 1 #define RAD_STOP 2 #endif + +/* Get address from NAS pool */ +#define RADIUS_INADDR_POOL 0xfeffffff /* 255.255.255.254 */ -- Tatsumi Hosokawa http://FromTo.Cc/hosokawa/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message