From 4d826710d0d30606da88ff3543a4b43521e404df Mon Sep 17 00:00:00 2001 From: Kozlov Dmitry Date: Wed, 10 Nov 2010 13:11:38 +0300 Subject: radius: separated interim-verbose option to control verbosity of interim packets send/receive --- accel-pptpd/radius/acct.c | 10 +++++----- accel-pptpd/radius/auth.c | 2 +- accel-pptpd/radius/radius.c | 5 +++++ accel-pptpd/radius/radius_p.h | 3 ++- accel-pptpd/radius/req.c | 4 ++-- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/accel-pptpd/radius/acct.c b/accel-pptpd/radius/acct.c index 85a2f0fc..f8cfee7a 100644 --- a/accel-pptpd/radius/acct.c +++ b/accel-pptpd/radius/acct.c @@ -85,7 +85,7 @@ static int rad_acct_read(struct triton_md_handler_t *h) if (req->reply) rad_packet_free(req->reply); req->reply = pack; - if (conf_verbose) { + if (conf_interim_verbose) { log_ppp_info("recv "); rad_packet_print(req->reply, log_ppp_info); } @@ -118,7 +118,7 @@ static void rad_acct_timeout(struct triton_timer_t *t) rad_packet_change_int(req->pack, "Acct-Delay-Time", req->rpd->acct_delay_time); req_set_RA(req, conf_acct_secret); - rad_req_send(req); + rad_req_send(req, conf_interim_verbose); } static void rad_acct_interim_update(struct triton_timer_t *t) @@ -138,7 +138,7 @@ static void rad_acct_interim_update(struct triton_timer_t *t) rad_packet_change_val(rpd->acct_req->pack, "Acct-Status-Type", "Interim-Update"); rad_packet_change_int(rpd->acct_req->pack, "Acct-Delay-Time", 0); req_set_RA(rpd->acct_req, conf_acct_secret); - rad_req_send(rpd->acct_req); + rad_req_send(rpd->acct_req, conf_interim_verbose); rpd->acct_req->timeout.period = conf_timeout * 1000; triton_timer_add(rpd->ppp->ctrl->ctx, &rpd->acct_req->timeout, 0); } @@ -175,7 +175,7 @@ int rad_acct_start(struct radius_pd_t *rpd) rpd->acct_delay_time += conf_timeout; if (req_set_RA(rpd->acct_req, conf_acct_secret)) goto out_err; - if (rad_req_send(rpd->acct_req)) + if (rad_req_send(rpd->acct_req, conf_verbose)) goto out_err; rad_req_wait(rpd->acct_req, conf_timeout); if (!rpd->acct_req->reply) { @@ -267,7 +267,7 @@ void rad_acct_stop(struct radius_pd_t *rpd) rpd->acct_req->pack->id++; if (req_set_RA(rpd->acct_req, conf_acct_secret)) break; - if (rad_req_send(rpd->acct_req)) + if (rad_req_send(rpd->acct_req, conf_verbose)) break; rad_req_wait(rpd->acct_req, conf_timeout); if (!rpd->acct_req->reply) diff --git a/accel-pptpd/radius/auth.c b/accel-pptpd/radius/auth.c index 2d17b67a..55d1858d 100644 --- a/accel-pptpd/radius/auth.c +++ b/accel-pptpd/radius/auth.c @@ -142,7 +142,7 @@ static int rad_auth_send(struct rad_req_t *req) int i; for(i = 0; i < conf_max_try; i++) { - if (rad_req_send(req)) + if (rad_req_send(req, conf_verbose)) goto out; rad_req_wait(req, conf_timeout); diff --git a/accel-pptpd/radius/radius.c b/accel-pptpd/radius/radius.c index 6c9497c0..3c885d89 100644 --- a/accel-pptpd/radius/radius.c +++ b/accel-pptpd/radius/radius.c @@ -29,6 +29,7 @@ in_addr_t conf_nas_ip_address; in_addr_t conf_gw_ip_address; in_addr_t conf_bind; int conf_verbose; +int conf_interim_verbose; char *conf_auth_server; int conf_auth_server_port = 1812; @@ -385,6 +386,10 @@ static void __init radius_init(void) if (opt && atoi(opt) > 0) conf_verbose = 1; + opt = conf_get_opt("radius", "interim-verbose"); + if (opt && atoi(opt) > 0) + conf_interim_verbose = 1; + opt = conf_get_opt("radius", "nas-ip-address"); if (opt) conf_nas_ip_address = inet_addr(opt); diff --git a/accel-pptpd/radius/radius_p.h b/accel-pptpd/radius/radius_p.h index 25044684..6c4ef8f9 100644 --- a/accel-pptpd/radius/radius_p.h +++ b/accel-pptpd/radius/radius_p.h @@ -57,6 +57,7 @@ struct rad_req_t extern int conf_max_try; extern int conf_timeout; extern int conf_verbose; +extern int conf_interim_verbose; extern char *conf_nas_identifier; extern in_addr_t conf_nas_ip_address; extern in_addr_t conf_bind; @@ -84,7 +85,7 @@ void rad_dict_free(struct rad_dict_t *dict); struct rad_req_t *rad_req_alloc(struct radius_pd_t *rpd, int code, const char *username); int rad_req_acct_fill(struct rad_req_t *); void rad_req_free(struct rad_req_t *); -int rad_req_send(struct rad_req_t *); +int rad_req_send(struct rad_req_t *, int verbose); int rad_req_wait(struct rad_req_t *, int); struct radius_pd_t *find_pd(struct ppp_t *ppp); diff --git a/accel-pptpd/radius/req.c b/accel-pptpd/radius/req.c index 9ac741de..e9458391 100644 --- a/accel-pptpd/radius/req.c +++ b/accel-pptpd/radius/req.c @@ -169,7 +169,7 @@ out_err: return -1; } -int rad_req_send(struct rad_req_t *req) +int rad_req_send(struct rad_req_t *req, int verbose) { if (req->hnd.fd == -1 && make_socket(req)) return -1; @@ -177,7 +177,7 @@ int rad_req_send(struct rad_req_t *req) if (!req->pack->buf && rad_packet_build(req->pack, req->RA)) goto out_err; - if (conf_verbose) { + if (verbose) { log_ppp_info("send "); rad_packet_print(req->pack, log_ppp_info); } -- cgit v1.2.3