Added autosnoop and autothrottle modules

This commit is contained in:
fred_nerk 2004-03-24 04:56:51 +00:00
parent 9470c8e12f
commit c2f98ee931
4 changed files with 87 additions and 1 deletions

View file

@ -26,7 +26,7 @@ OBJS= md5.o \
control.o \ control.o \
util.o \ util.o \
PLUGINS=garden.so PLUGINS=garden.so autothrottle.so autosnoop.so
all: l2tpns cluster_master nsctl $(PLUGINS) all: l2tpns cluster_master nsctl $(PLUGINS)

42
autosnoop.c Normal file
View file

@ -0,0 +1,42 @@
#include <string.h>
#include <malloc.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <sys/types.h>
#include "l2tpns.h"
#include "plugin.h"
#include "control.h"
int __plugin_api_version = 1;
struct pluginfuncs p;
int plugin_radius_response(struct param_radius_response *data)
{
if (strcmp(data->key, "intercept") == 0)
{
if (strcmp(data->value, "yes") == 0)
{
p.log(3, 0, 0, 0, " Intercepting user\n");
data->s->snoop = 1;
}
else if (strcmp(data->value, "no") == 0)
{
p.log(3, 0, 0, 0, " Not intercepting user\n");
data->s->snoop = 0;
}
}
return PLUGIN_RET_OK;
}
int plugin_init(struct pluginfuncs *funcs)
{
if (!funcs) return 0;
memcpy(&p, funcs, sizeof(p));
return 1;
}
void plugin_done()
{
}

42
autothrottle.c Normal file
View file

@ -0,0 +1,42 @@
#include <string.h>
#include <malloc.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <sys/types.h>
#include "l2tpns.h"
#include "plugin.h"
#include "control.h"
int __plugin_api_version = 1;
struct pluginfuncs p;
int plugin_radius_response(struct param_radius_response *data)
{
if (strcmp(data->key, "throttle") == 0)
{
if (strcmp(data->value, "yes") == 0)
{
p.log(3, 0, 0, 0, " Throttling user\n");
data->s->throttle = 1;
}
else if (strcmp(data->value, "no") == 0)
{
p.log(3, 0, 0, 0, " Not throttling user\n");
data->s->throttle = 0;
}
}
return PLUGIN_RET_OK;
}
int plugin_init(struct pluginfuncs *funcs)
{
if (!funcs) return 0;
memcpy(&p, funcs, sizeof(p));
return 1;
}
void plugin_done()
{
}

View file

@ -17,3 +17,5 @@ set accounting_dir "/var/run/l2tpns/acct/"
set setuid 0 set setuid 0
set dump_speed no set dump_speed no
load plugin "garden" load plugin "garden"
load plugin "autothrottle"
load plugin "autosnoop"