Infor required to use the exec_program
Hi ,
I am trying to use
the mod exec command to pass the request list parameters to an external program
when there is a accounting request start is recived.
The below
steps i have followed.
1) in the Acct_users
files below statement are given.
DEFAULT
Acct-Status-Type == Start
Exec-Program = "/usr/bin/exec-program-wait"
2) In the
radiusd.conf file
exec
exec-program-wait
{
wait = yes
program = "exec-program-wait %{WaterCove-Bearer-Type}"
input_pairs = request
output_pairs = reply
}
3) in the
instantiate section called the below module
instantiate
{
exec
exec-program-wait
4) Ensured
the script is available in /usr/bin/exec-program-wait
5) Below is the
script definition
# For
'acct_users':
#
DEFAULT Acct-Status-Type ==
Start
Exec-Program="/home/shankarganesh/freeradius-1.1.2/scripts/exec-program-wait"
DEFAULT
Acct-Status-Type == Stop
Exec-Program="/home/shankarganesh/freeradius-1.1.2/scripts/exec-program-wait"
printenv
> /tmp/exec-program-wait
echo "Reply-Message += \"Hello, %u\","
echo
"Reply-Message += \"PATH=$PATH\","
echo Framed-IP-Address =
255.255.255.255
echo "The prameter list of $* "
WaterCove-Bearer-Type =
WATERCOVE_BEARER_TYPE
exit 0
6) When i try to run
the server below error message is logged in the server , which could not
find the environment variables .
Ready to process
requests.
rad_recv: Accounting-Request packet from host 10.45.2.42:1230,
id=0, length=223
User-Name =
"steve"
Acct-Status-Type =
Start
Acct-Session-Id =
"0"
NAS-IP-Address =
10.45.2.34
Framed-IP-Address =
10.45.2.33
Called-Station-Id =
"1234"
Calling-Station-Id =
"4546"
3GPP-IMSI =
"12345"
3GPP-NSAPI =
"asdfgh"
3GPP-Charging-ID =
123
3GPP-GPRS-Negotiated-QoS-profile =
""
3GPP-GGSN-Address =
255.255.255.255
3GPP-SGSN-Address
= 255.255.255.255
WaterCove-Bearer-Type = WLAN
WaterCove-HTTP-URL = ""
WaterCove-FlowTemplate-Name =
"23453255"
WaterCove-ServiceClass-Name =
"sgdfsfgd"
WaterCove-FlowTemplate-ID = 325454
WaterCove-ServiceClass-ID = 32534254
Processing the preacct section of
radiusd.conf
modcall: entering group preacct for request 0
modcall[preacct]: module "preprocess" returns noop for request
0
rlm_acct_unique: WARNING: Attribute NAS-Port was not found in request,
unique ID MAY be inconsistent
rlm_acct_unique: Hashing ',Client-IP-Address =
10.45.2.42,NAS-IP-Address = 10.45.2.34,Acct-Session-Id = "0",User-Name =
"steve"'
rlm_acct_unique: Acct-Unique-Session-ID =
"a488c9e5208ecdb9".
modcall[preacct]: module "acct_unique" returns ok
for request 0
rlm_realm: No '@'
in User-Name = "steve", looking up realm NULL
rlm_realm:
No such realm "NULL"
modcall[preacct]: module "suffix" returns noop
for request 0
acct_users: Matched entry DEFAULT at line
7
modcall[preacct]: module "files" returns ok for request
0
modcall: leaving group preacct (returns ok) for request 0
Processing the accounting section of radiusd.conf
modcall: entering group
accounting for request 0
radius_xlat:
'/usr/local/radius/var/log/radius/radacct/10.45.2.42/detail-20060823'
rlm_detail:
/usr/local/radius/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d
expands to
/usr/local/radius/var/log/radius/radacct/10.45.2.42/detail-20060823
modcall[accounting]: module "detail" returns ok for request 0
modcall[accounting]: module "unix" returns noop for request
0
radius_xlat:
'/usr/local/radius/var/log/radius/radutmp'
radius_xlat:
'steve'
rlm_radutmp: No NAS-Port seen. Cannot do
anything.
rlm_radumtp: WARNING: checkrad will probably not
work!
modcall[accounting]: module "radutmp" returns noop for request
0
modcall: leaving group accounting (returns ok) for request
0
radius_xlat: '/usr/bin/exec-program-wait'
Exec-Program:
/usr/bin/exec-program-wait
/usr/bin/exec-program-wait: printenv: not
found
Sending Accounting-Response of id 0 to 10.45.2.42 port 1230
Finished
request 0
Going to the next request
Pls let me know
where i am doing wrong.
Thanks and
rgds
Shankar
ganesh
This archive was generated by a fusion of
Pipermail (Mailman edition) and
MHonArc.