Infor required to use the exec_program

Shankar Ganesh C shankarganesh at tataelxsi.co.in
Wed Aug 23 11:24:21 CEST 2006


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-prog
ram-wait"
DEFAULT Acct-Status-Type == Stop
        Exec-Program="/home/shankarganesh/freeradius-1.1.2/scripts/exec-prog
ram-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 = "wdefefr"
        3GPP-GGSN-Address = 255.255.255.255
        3GPP-SGSN-Address = 255.255.255.255
        WaterCove-Bearer-Type = WLAN
        WaterCove-HTTP-URL = "qewweqqwe"
        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




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20060823/72c54f31/attachment.html>


More information about the Freeradius-Users mailing list