don't send a RADIUS start record when ungardening on shutdown
This commit is contained in:
parent
c223bc0c14
commit
f6f41eb777
4 changed files with 21 additions and 16 deletions
3
Changes
3
Changes
|
|
@ -1,3 +1,6 @@
|
||||||
|
* Wed Dec 1 2004 Brendan O'Dea <bod@optusnet.com.au> 2.0.11
|
||||||
|
- Don't send a RADIUS start record when ungardening on shutdown.
|
||||||
|
|
||||||
* Wed Dec 1 2004 Brendan O'Dea <bod@optusnet.com.au> 2.0.10
|
* Wed Dec 1 2004 Brendan O'Dea <bod@optusnet.com.au> 2.0.10
|
||||||
- Fix byte ordering of LCP header length (thanks Yuri).
|
- Fix byte ordering of LCP header length (thanks Yuri).
|
||||||
- Increase ip_conntrack_max due to dropped packets.
|
- Increase ip_conntrack_max due to dropped packets.
|
||||||
|
|
|
||||||
24
garden.c
24
garden.c
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
/* walled garden */
|
/* walled garden */
|
||||||
|
|
||||||
char const *cvs_id = "$Id: garden.c,v 1.18 2004-11-30 21:54:23 bodea Exp $";
|
char const *cvs_id = "$Id: garden.c,v 1.19 2004-12-01 02:52:46 bodea Exp $";
|
||||||
|
|
||||||
int plugin_api_version = PLUGIN_API_VERSION;
|
int plugin_api_version = PLUGIN_API_VERSION;
|
||||||
static struct pluginfuncs *p = 0;
|
static struct pluginfuncs *p = 0;
|
||||||
|
|
@ -40,6 +40,10 @@ char *down_commands[] = {
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define F_UNGARDEN 0
|
||||||
|
#define F_GARDEN 1
|
||||||
|
#define F_CLEANUP 2
|
||||||
|
|
||||||
int garden_session(sessiont *s, int flag);
|
int garden_session(sessiont *s, int flag);
|
||||||
|
|
||||||
int plugin_post_auth(struct param_post_auth *data)
|
int plugin_post_auth(struct param_post_auth *data)
|
||||||
|
|
@ -59,7 +63,7 @@ int plugin_new_session(struct param_new_session *data)
|
||||||
return PLUGIN_RET_OK; // Slaves don't do walled garden processing.
|
return PLUGIN_RET_OK; // Slaves don't do walled garden processing.
|
||||||
|
|
||||||
if (data->s->walled_garden)
|
if (data->s->walled_garden)
|
||||||
garden_session(data->s, 1);
|
garden_session(data->s, F_GARDEN);
|
||||||
|
|
||||||
return PLUGIN_RET_OK;
|
return PLUGIN_RET_OK;
|
||||||
}
|
}
|
||||||
|
|
@ -70,7 +74,7 @@ int plugin_kill_session(struct param_new_session *data)
|
||||||
return PLUGIN_RET_OK; // Slaves don't do walled garden processing.
|
return PLUGIN_RET_OK; // Slaves don't do walled garden processing.
|
||||||
|
|
||||||
if (data->s->walled_garden)
|
if (data->s->walled_garden)
|
||||||
garden_session(data->s, 0);
|
garden_session(data->s, F_CLEANUP);
|
||||||
|
|
||||||
return PLUGIN_RET_OK;
|
return PLUGIN_RET_OK;
|
||||||
}
|
}
|
||||||
|
|
@ -97,7 +101,7 @@ int plugin_control(struct param_control *data)
|
||||||
if (!iam_master)
|
if (!iam_master)
|
||||||
return PLUGIN_RET_NOTMASTER;
|
return PLUGIN_RET_NOTMASTER;
|
||||||
|
|
||||||
flag = data->argv[0][0] != 'u';
|
flag = data->argv[0][0] == 'g' ? F_GARDEN : F_UNGARDEN;
|
||||||
|
|
||||||
if (data->argc != 2)
|
if (data->argc != 2)
|
||||||
{
|
{
|
||||||
|
|
@ -158,10 +162,7 @@ int plugin_become_master(void)
|
||||||
int plugin_new_session_master(sessiont *s)
|
int plugin_new_session_master(sessiont *s)
|
||||||
{
|
{
|
||||||
if (s->walled_garden)
|
if (s->walled_garden)
|
||||||
{
|
garden_session(s, F_GARDEN);
|
||||||
s->walled_garden = 0;
|
|
||||||
garden_session(s, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
return PLUGIN_RET_OK;
|
return PLUGIN_RET_OK;
|
||||||
}
|
}
|
||||||
|
|
@ -175,7 +176,7 @@ int garden_session(sessiont *s, int flag)
|
||||||
if (!s->opened) return 0;
|
if (!s->opened) return 0;
|
||||||
|
|
||||||
sess = p->get_id_by_session(s);
|
sess = p->get_id_by_session(s);
|
||||||
if (flag == 1)
|
if (flag == F_GARDEN)
|
||||||
{
|
{
|
||||||
p->log(2, sess, s->tunnel, "Garden user %s (%s)\n", s->user, p->fmtaddr(htonl(s->ip), 0));
|
p->log(2, sess, s->tunnel, "Garden user %s (%s)\n", s->user, p->fmtaddr(htonl(s->ip), 0));
|
||||||
snprintf(cmd, sizeof(cmd), "iptables -t nat -A garden_users -s %s -j garden", p->fmtaddr(htonl(s->ip), 0));
|
snprintf(cmd, sizeof(cmd), "iptables -t nat -A garden_users -s %s -j garden", p->fmtaddr(htonl(s->ip), 0));
|
||||||
|
|
@ -209,13 +210,14 @@ int garden_session(sessiont *s, int flag)
|
||||||
|
|
||||||
s->walled_garden = 0;
|
s->walled_garden = 0;
|
||||||
|
|
||||||
if (!s->die) {
|
if (flag != F_CLEANUP)
|
||||||
|
{
|
||||||
/* OK, we're up! */
|
/* OK, we're up! */
|
||||||
u16 r = p->radiusnew(p->get_id_by_session(s));
|
u16 r = p->radiusnew(p->get_id_by_session(s));
|
||||||
p->radiussend(r, RADIUSSTART);
|
p->radiussend(r, RADIUSSTART);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
s->walled_garden = flag;
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
4
l2tpns.h
4
l2tpns.h
|
|
@ -1,5 +1,5 @@
|
||||||
// L2TPNS Global Stuff
|
// L2TPNS Global Stuff
|
||||||
// $Id: l2tpns.h,v 1.42 2004-11-30 19:37:46 bodea Exp $
|
// $Id: l2tpns.h,v 1.43 2004-12-01 02:52:46 bodea Exp $
|
||||||
|
|
||||||
#ifndef __L2TPNS_H__
|
#ifndef __L2TPNS_H__
|
||||||
#define __L2TPNS_H__
|
#define __L2TPNS_H__
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <libcli.h>
|
#include <libcli.h>
|
||||||
|
|
||||||
#define VERSION "2.0.10"
|
#define VERSION "2.0.11"
|
||||||
|
|
||||||
// Limits
|
// Limits
|
||||||
#define MAXTUNNEL 500 // could be up to 65535
|
#define MAXTUNNEL 500 // could be up to 65535
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
Summary: A high-speed clustered L2TP LNS
|
Summary: A high-speed clustered L2TP LNS
|
||||||
Name: l2tpns
|
Name: l2tpns
|
||||||
Version: 2.0.10
|
Version: 2.0.11
|
||||||
Release: 1
|
Release: 1
|
||||||
Copyright: GPL
|
Copyright: GPL
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
|
|
@ -43,5 +43,5 @@ rm -rf %{buildroot}
|
||||||
%attr(644,root,root) /usr/share/man/man[58]/*
|
%attr(644,root,root) /usr/share/man/man[58]/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Dec 1 2004 Brendan O'Dea <bod@optusnet.com.au> 2.0.10-1
|
* Wed Dec 1 2004 Brendan O'Dea <bod@optusnet.com.au> 2.0.11-1
|
||||||
- 2.0.10 release, see /usr/share/doc/l2tpns-2.0.10/Changes
|
- 2.0.11 release, see /usr/share/doc/l2tpns-2.0.11/Changes
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue