summaryrefslogtreecommitdiff
path: root/accel-pppd/radius/radius.c
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/radius/radius.c')
-rw-r--r--accel-pppd/radius/radius.c56
1 files changed, 20 insertions, 36 deletions
diff --git a/accel-pppd/radius/radius.c b/accel-pppd/radius/radius.c
index 64ce90f..5f507cb 100644
--- a/accel-pppd/radius/radius.c
+++ b/accel-pppd/radius/radius.c
@@ -25,7 +25,8 @@
int conf_max_try = 3;
int conf_timeout = 3;
-int conf_acct_timeout = 600;
+int conf_acct_timeout = 3;
+int conf_acct_delay_time;
char *conf_nas_identifier;
in_addr_t conf_nas_ip_address;
in_addr_t conf_gw_ip_address;
@@ -33,14 +34,6 @@ in_addr_t conf_bind;
int conf_verbose;
int conf_interim_verbose;
-in_addr_t conf_auth_server;
-int conf_auth_server_port = 1812;
-char *conf_auth_secret;
-
-in_addr_t conf_acct_server;
-int conf_acct_server_port = 1813;
-char *conf_acct_secret;
-
in_addr_t conf_dm_coa_server;
int conf_dm_coa_port = 3799;
char *conf_dm_coa_secret;
@@ -49,6 +42,9 @@ int conf_sid_in_auth;
int conf_require_nas_ident;
int conf_acct_interim_interval;
+int conf_accounting;
+int conf_fail_time = 60;
+
unsigned long stat_auth_sent;
unsigned long stat_auth_lost;
unsigned long stat_acct_sent;
@@ -471,7 +467,7 @@ static int load_config(void)
conf_timeout = atoi(opt);
opt = conf_get_opt("radius", "acct-timeout");
- if (opt && atoi(opt) > 0)
+ if (opt && atoi(opt) >= 0)
conf_acct_timeout = atoi(opt);
opt = conf_get_opt("radius", "verbose");
@@ -504,27 +500,6 @@ static int load_config(void)
else if (conf_nas_ip_address)
conf_bind = conf_nas_ip_address;
- opt = conf_get_opt("radius", "auth-server");
- if (!opt)
- opt = conf_get_opt("radius", "auth_server");
- if (!opt) {
- log_emerg("radius: auth-server not specified\n");
- return -1;
- } else if (parse_server(opt, &conf_auth_server, &conf_auth_server_port, &conf_auth_secret)) {
- log_emerg("radius: failed to parse auth_server\n");
- return -1;
- }
-
- opt = conf_get_opt("radius", "acct-server");
- if (!opt)
- opt = conf_get_opt("radius", "acct_server");
- if (!opt)
- log_emerg("radius: acct-server not specified\n");
- if (opt && parse_server(opt, &conf_acct_server, &conf_acct_server_port, &conf_acct_secret)) {
- log_emerg("radius: failed to parse acct_server\n");
- return -1;
- }
-
opt = conf_get_opt("radius", "dae-server");
if (opt && parse_server(opt, &conf_dm_coa_server, &conf_dm_coa_port, &conf_dm_coa_secret)) {
log_emerg("radius: failed to parse dae-server\n");
@@ -532,21 +507,29 @@ static int load_config(void)
}
opt = conf_get_opt("radius", "sid_in_auth");
- if (opt && atoi(opt) > 0)
- conf_sid_in_auth = 1;
+ if (opt)
+ conf_sid_in_auth = atoi(opt);
opt = conf_get_opt("radius", "require-nas-identification");
- if (opt && atoi(opt) > 0)
- conf_require_nas_ident = 1;
+ if (opt)
+ conf_require_nas_ident = atoi(opt);
opt = conf_get_opt("radius", "acct-interim-interval");
if (opt && atoi(opt) > 0)
conf_acct_interim_interval = atoi(opt);
+ opt = conf_get_opt("radius", "acct-delay-time");
+ if (opt)
+ conf_acct_delay_time = atoi(opt);
+
+ opt = conf_get_opt("radius", "fail-time");
+ if (opt)
+ conf_fail_time = atoi(opt);
+
return 0;
}
-static void __init radius_init(void)
+static void radius_init(void)
{
char *opt;
char *dict = DICTIONARY;
@@ -590,3 +573,4 @@ static void __init radius_init(void)
stat_interim_query_5m = stat_accm_create(5 * 60);
}
+DEFINE_INIT(51, radius_init);