-* Tue May 10 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0
+* Mon May 16 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0
- Add IPv6 support from Jonathan McDowell.
- Add CHAP support from Jordan Hrycaj.
- Add interim accounting support from Vladislav Bjelic.
- Make "show running-config" a privileged command (contains clear text
shared secrets).
- Add sessionctl plugin to provide drop/kill via nsctl.
+- Add handling of "throttle=N" RADIUS attributes.
+- Fix RADIUS indexing (should have 16K entries with 64 sockets).
* Fri Dec 17 2004 Brendan O'Dea <bod@optusnet.com.au> 2.0.13
- Better cluster master collision resolution: keep a counter of state
// Copyright (c) 2002 FireBrick (Andrews & Arnold Ltd / Watchfront Ltd) - GPL licenced
// vim: sw=8 ts=8
-char const *cvs_id_l2tpns = "$Id: l2tpns.c,v 1.103 2005-05-13 01:29:40 bodea Exp $";
+char const *cvs_id_l2tpns = "$Id: l2tpns.c,v 1.104 2005-05-16 04:51:16 bodea Exp $";
#include <arpa/inet.h>
#include <assert.h>
if (!q) return;
*q = ConfigReq;
- q[1] = r << RADIUS_SHIFT; // ID, dont care, we only send one type of request
+ q[1] = r >> RADIUS_SHIFT; // ID, dont care, we only send one type of request
*(uint16_t *) (q + 2) = htons(10);
q[4] = 3;
q[5] = 6;
if (!q) return;
*q = ConfigReq;
- q[1] = r << RADIUS_SHIFT; // ID, don't care, we
+ q[1] = r >> RADIUS_SHIFT; // ID, don't care, we
// only send one type
// of request
*(uint16_t *) (q + 2) = htons(14);
if (!config->numradiusservers)
LOG(0, 0, 0, "No RADIUS servers defined!\n");
- config->num_radfds = 2 << RADIUS_SHIFT;
+ config->num_radfds = 1 << RADIUS_SHIFT;
// parse radius_authtypes_s
config->radius_authtypes = config->radius_authprefer = 0;
// L2TPNS Global Stuff
-// $Id: l2tpns.h,v 1.68 2005-05-08 07:13:56 bodea Exp $
+// $Id: l2tpns.h,v 1.69 2005-05-16 04:51:16 bodea Exp $
#ifndef __L2TPNS_H__
#define __L2TPNS_H__
#define MAXSESSION 60000 // could be up to 65535
#define MAXTBFS 6000 // Maximum token bucket filters. Might need up to 2 * session.
-#define RADIUS_SHIFT 5
-#define RADIUS_MASK ((unsigned short)(((unsigned short)~0) >> (16 - RADIUS_SHIFT)))
-#define MAXRADIUS ((unsigned long)(1L << RADIUS_SHIFT) * 255)
+#define RADIUS_SHIFT 6
+#define RADIUS_MASK ((1 << RADIUS_SHIFT) - 1)
+#define MAXRADIUS ((1 << (RADIUS_SHIFT + 8)) - 1)
#define T_UNDEF (0xffff) // A tunnel ID that won't ever be used. Mark session as undefined.
#define T_FREE (0) // A tunnel ID that won't ever be used. Mark session as free.
%attr(644,root,root) /usr/share/man/man[58]/*
%changelog
-* Tue May 10 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0-1
+* Mon May 16 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0-1
- 2.1.0 release, see /usr/share/doc/l2tpns-2.1.0/Changes
// L2TPNS Radius Stuff
-char const *cvs_id_radius = "$Id: radius.c,v 1.30 2005-05-07 08:17:26 bodea Exp $";
+char const *cvs_id_radius = "$Id: radius.c,v 1.31 2005-05-16 04:51:16 bodea Exp $";
#include <time.h>
#include <stdio.h>
switch (state)
{
case RADIUSAUTH:
- b[0] = 1; // access request
+ b[0] = AccessRequest; // access request
break;
case RADIUSSTART:
case RADIUSSTOP:
case RADIUSINTERIM:
- b[0] = 4; // accounting request
+ b[0] = AccountingRequest; // accounting request
break;
default:
LOG(0, 0, 0, "Unknown radius state %d\n", state);