On 2013-01-31 15:31, Heikki Vatiainen 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 > I knew you guys have a solution, as always, awesome! That's good enough for what I need and definitely better than putting parameters in Radius attributes to fetch them in the handler. Could you add that example to hooks.txt in the goodies dir?
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"* T-Systems Austria GesmbH Rennweg 97-99, 1030 Wien Handelsgericht Wien, FN 79340b *"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"* Notice: This e-mail contains information that is confidential and may be privileged. If you are not the intended recipient, please notify the sender and then delete this e-mail immediately. *"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"* _______________________________________________ radiator mailing list radiator@open.com.au http://www.open.com.au/mailman/listinfo/radiator