I got it working. I was actually trying to write a value not compatible with the post-auth type, defined in the dictionnary. That's why the output of my script was not taken into account by freeradius. To pass parameters from my authentication script to my post-authentication script, I've defined my own new Prepaid attribute (in /etc/raddb/dictionnary) ATTRIBUTE Prepaid 3000 string The correct format for scripts outputing several attributes is to use a "," to separate the pairs. Scripts should output something like : Prepaid = "my parameters here" , Password = "test" On 12/22/05, Yannick Deltroo <deltroo@gmail.com> wrote:
Does not work any better with "," or ";" or " " between the pairs.
After the script is executed, the "config" environment variables do not contain the output of the script: AUTH_TYPE=CHAP PWD=/root SHLVL=1 _=/usr/bin/printenv
If I only write a Password=XXX from the script, the output is taken into account. See the env variable then: PASSWORD="test" AUTH_TYPE=CHAP PWD=/root SHLVL=1 _=/usr/bin/printenv
My tests show that the only pair accepted from the script is Password = XXXXX. Any other single attribute is just ignored.
Could it be a problem with attributes dictionnaries ?
On 12/21/05, Alan DeKok <aland@ox.org> wrote:
Yannick Deltroo <deltroo@gmail.com> wrote:
of just Password =, i.e. somehting like Post-Auth-Type = THIRD_SCRIPT Password = XXXXX I cannot authenticate. Chap authentication fails (see debug log below)
Put a "," in between the two items, just like you do in the "users" file.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html