If I add to "users" file this: When I used exec-program all the attributes I wanted were in the environment.
And how can I exploit it? I get only this: -- $ cat "/home/engineer/acrad.sh" #!/bin/sh printenv > /tmp/exec-program-wait -- "bob" Auth-Type := Local, User-Password == "bob" Reply-Message = "Hello, %u", Exec-Program = "/home/engineer/acrad.sh" -- after "radtest" in /tmp/exec-program-wait I found only $ cat /tmp/exec-program-wait CLIENT_IP_ADDRESS=127.0.0.1 NAS_IP_ADDRESS=255.255.255.255 PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/bin NAS_PORT=0 USER_PASSWORD="bob" USER_NAME="bob" But this is far less than what I wait for... I need to do the same that SQL accounting do. If I look at raddb/pgsql-voip.conf, I can see the pretty accounting_stop_query, which put many interestiong info to database. I think it can put all the %{User-Name} : %{Service-Type} : %{Acct-Status-Type} : %{Acct-Session-Id} : %{Framed-Protocol} : %{NAS-Identifier} : %{NAS-Port-Id} : %{NAS-IP-Address} : %{Calling-Station-Id} : %{Called-Station-Id} : %{Framed-IP-Address} : %{Acct-Input-Octets} : %{Acct-Output-Octets} : %{Acct-Input-Packets} : %{Acct-Output-Packets} : %{Acct-Session-Time} : %{Acct-Terminate-Cause} Am I right? So, how can I do the same, but with perl/shell script (e.g. pass all this variables as arguments or environment) ?
From radiusd.conf # # The attributes which are placed into the # environment variables for the program. # # Allowed values are: # # request attributes from the request # config attributes from the configuration items list # reply attributes from the reply # proxy-request attributes from the proxy request # proxy-reply attributes from the proxy reply # # Note that some attributes may not exist at some # stages. e.g. There may be no proxy-reply # attributes if this module is used in the # 'authorize' section.
I read this. But I just newbie, sorry. I tried this exec echo { wait = yes program = "/home/engineer/acrad.sh %{User-Name}" input_pairs = request output_pairs = reply } instantiate { exec ... but it seems that program not started at all. -- engineer