Hi,
in radiusd.conf there is the parameter checkrad with the location of this
program that isn't read at startup time.
I wrote a little patch (apply to 0.7) that read this parameter and use it
in session.c when checkrad is call.
I'm not a professional programmer but I hope this is usefull.
Andrea
--- radiusd.c.orig 2002-08-14 14:28:53.040002000 +0200
+++ radiusd.c 2002-08-14 14:54:49.490002000 +0200
@@ -203,6 +203,7 @@
{ "lower_pass", PW_TYPE_STRING_PTR, 0, &mainconfig.do_lower_pass,
"no" },
{ "nospace_user", PW_TYPE_STRING_PTR, 0,
&mainconfig.do_nospace_user, "no" },
{ "nospace_pass", PW_TYPE_STRING_PTR, 0,
&mainconfig.do_nospace_pass, "no" },
+ { "checkrad", PW_TYPE_STRING_PTR, 0, &mainconfig.checkrad,
"${sbindir}/checkrad" },
{ "proxy_requests", PW_TYPE_BOOLEAN, 0, &proxy_requests, "yes" },
{ "proxy", PW_TYPE_SUBSECTION, 0, proxy_config, NULL },
{ "security", PW_TYPE_SUBSECTION, 0, security_config, NULL },
--- session.c.orig 2002-08-14 14:58:15.400056000 +0200
+++ session.c 2002-08-14 15:01:43.320003000 +0200
@@ -254,10 +254,10 @@
execl(getenv("COMSPEC"), "", "/C","checkrad",nas->nastype,
address, port,
user, session_id, NULL);
#else
- execl(CHECKRAD, "checkrad",nas->nastype, address, port,
+ execl(mainconfig.checkrad, "checkrad",nas->nastype, address, port,
user, session_id, NULL);
#endif
- radlog(L_ERR, "Check-TS: exec %s: %s", CHECKRAD, strerror(errno));
+ radlog(L_ERR, "Check-TS: exec %s: %s", mainconfig.checkrad,
strerror(errno));
/*
* Exit - 2 means "some error occured".
--- radiusd.h.orig 2002-08-14 14:33:41.090063000 +0200
+++ radiusd.h 2002-08-14 14:56:44.400004000 +0200
@@ -132,6 +132,7 @@
char *do_nospace_user;
char *do_nospace_pass;
char *nospace_time;
+ char *checkrad;
} MAIN_CONFIG_T;
#define DEBUG if(debug_flag)log_debug
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html