Hello Alex -
You can also use GlobalVar's for static parameters.
See section 5.6.23 in the Radiator 4.11 reference manual ("doc/ref.pdf").
There is an example in "goodies/hooks.txt".
regards
Hugh
On 1 Feb 2013, at 01:31, Heikki Vatiainen <[email protected]> wrote:
> On 01/31/2013 02:01 PM, Alexander Hartmaier wrote:
>
>> we'd need a way to pass config parameters to hooks to be able to use
>> them in multiple different handlers e.g. sending OTPs by SMS with
>> different accounts.
>> Is there already a way to do this which I've overlooked?
>
> How about this:
>
> # radiusd config file
>
> StartupHook sub { require "/etc/radiator/MyHooks.pm"; }
> <Handler ...>
> # AuthBys
> PostAuthHook sub { MyHooks::sendSMS(@_, 'account1', 'otherparam1'); }
> </Handler>
> <Handler ...>
> # AuthBys
> PostAuthHook sub { MyHooks::sendSMS(@_, 'account2', 'otherparam2'); }
> </Handler>
>
> File MyHooks.pm would be something like this:
>
> # start of MyHooks.pm
> package MyHooks;
> use strict;
> use warnings;
> # PostAuthHook
> #
> sub sendSMS {
> my $p = ${$_[0]}; # Request packet
> my $rp = ${$_[1]}; # Response packet
> my $result = $_[2]; # Verdict: success or not
> my $reason = $_[3]; # String that tells reason for a reject
> my $account = $_[4]; # Account name
> my $param = $_[5]; # Some other param
>
> # code goes here
> }
>
> 1;
> # end of MyHooks.pm
>
>> I'm currently abusing Radius attributes to get those static parameters
>> into the hooks but being able to pass options in the config would make
>> the config much clearer.
>
> The above keeps the the existing PostAuthHook arguments as they are and
> adds the possibility for static arguments as additional options to
> existing PostAuthHook options.
>
> Would this work for you?
>
> Thanks,
> Heikki
>
> --
> Heikki Vatiainen <[email protected]>
>
> Radiator: the most portable, flexible and configurable RADIUS server
> anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
> Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
> TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
> DIAMETER etc. Full source on Unix, Windows, MacOSX, Solaris, VMS,
> NetWare etc.
> _______________________________________________
> radiator mailing list
> [email protected]
> http://www.open.com.au/mailman/listinfo/radiator
--
Hugh Irvine
[email protected]
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
DIAMETER etc.
Full source on Unix, Windows, MacOSX, Solaris, VMS, NetWare etc.
_______________________________________________
radiator mailing list
[email protected]
http://www.open.com.au/mailman/listinfo/radiator