(RADIATOR) %{Handler:name}

Mariano Absatz radiator at lists.com.ar
Mon Sep 9 15:16:15 CDT 2002


El 6 Sep 2002 a las 9:42, Hugh Irvine escribió:

> 
> Hello Mariano -
> 
> I'm afraid I dont quite understand what you are wanting to do.
> 
> Could you give me a bit more detail?
Yup.

I'm trying to generalize the way I write very similar proxies where maybe the only thing that 
changes is the proxied hosts/ports and where I log accounting failures... 

Since this stuff goes in a different <AuthBy Radius> (or <AuthBy LOADBALANCE> for that 
matter), I want to name (via "Identifier") each AuthBy and be able to recall that name within 
the AuthBy...

In the manual (http://www.open.com.au/radiator/ref.html#pgfId=291148) I see that I can find 
out which client triggered a clause (%{Client:name}) and which handler did so 
(%{Handler:name}), but I might have several clients and several handlers going to the same 
AuthBy and the AuthBy itself would be the selector.

Let's go by example...

Suppose I currently have the following in my config file:

=======================START OF (portion of) RADIUS.CFG======================
<AuthBy LOADBALANCE>
	Identifier Kind01

	Retries 1
        <Host 22.33.44.55>
		Secret aaaa
		AuthPort 1111
		AcctPort 2222
	</Host>
	<Host 22.33.44.66>
		Secret asdf
		AuthPort 2321
		AcctPort 1234
	</Host>

	AcctFailedLogFileName %L/ACCT-LOST/Kind01/%Y-%m-%d.log
</AuthBy>

<AuthBy LOADBALANCE>
	Identifier Kind02

	Retries 3
        <Host 22.33.44.55>
		Secret bbbb
		AuthPort 2231
		AcctPort 2311
	</Host>
	<Host 22.33.44.66>
		Secret qwert
		AuthPort 3333
		AcctPort 4444
	</Host>

	AcctFailedLogFileName %L/ACCT-LOST/Kind02/%Y-%m-%d.log
</AuthBy>
========================END OF (portion of) RADIUS.CFG=======================





I would like to change this to:


======================START OF (portion of) NEWRADIUS.CFG====================
<AuthBy LOADBALANCE>
	Identifier Kind01

	include %D/Retries%{AuthName:Identifier}.cfg
	include %D/Hosts%{AuthName:Identifier}.cfg

	AcctFailedLogFileName %L/ACCT-LOST/%{AuthName:Identifier}/%Y-%m-%d.log
</AuthBy>

<AuthBy LOADBALANCE>
	Identifier Kind02

	include %D/Retries%{AuthName:Identifier}.cfg
	include %D/Hosts%{AuthName:Identifier}.cfg

	AcctFailedLogFileName %L/ACCT-LOST/%{AuthName:Identifier}/%Y-%m-%d.log
</AuthBy>
=======================END OF (portion of) NEWRADIUS.CFG=====================

======================START OF RetriesKind01.cfg====================
Retries 1
=======================END OF RetriesKind01.cfg=====================

======================START OF HostsKind01.cfg====================
<Host 22.33.44.55>
	Secret aaaa
	AuthPort 1111
	AcctPort 2222
</Host>
<Host 22.33.44.66>
	Secret asdf
	AuthPort 2321
	AcctPort 1234
</Host>
=======================END OF HostsKind01.cfg=====================

======================START OF RetriesKind02.cfg====================
Retries 3
=======================END OF RetriesKind02.cfg=====================

======================START OF HostsKind02.cfg====================
<Host 22.33.44.55>
	Secret bbbb
	AuthPort 2231
	AcctPort 2311
</Host>
<Host 22.33.44.66>
	Secret qwert
	AuthPort 3333
	AcctPort 4444
</Host>
=======================END OF HostsKind02.cfg=====================



Although this leads to a profussion of files, they are all parsed at startup and this allows 
me to modify things on a per AuthBy basis and keep it clean... Maybe give some people the 
possibility to edit some files and other people to edit other files...

I might be dumb or crazy... but this kind of things helped me a lot in the past for keeping 
config files clean and ordered...

> 
> thanks
> 
> Hugh
> 
> 
> On Friday, September 6, 2002, at 07:26 AM, Mariano Absatz wrote:
> 
> > Hi Hugh, long time no see...
> >
> > I'm planning an installation with a bunch of front-end Radiator proxies
> > (using <AuthBy LOADBALANCE>) to an(other) bunch of Radiator back-end 
> > servers
> > that do the actual authentication against SQL servers.
> >
> > Now, the front-end farm has the "dispatching" intelligence and the 
> > back-end,
> > the authentication intelligence...
> >
> > By "dispatching" I mean:
> > "if it comes from such and such a NAS authenticate using of these 
> > back-end
> > servers"
> > "if the realm matches xxx authenticate against these bunch of back-ends"
> > etc...
> >
> > I'm trying to generalize as much as possible and want to have short and
> > easily manteinable config files, so I'm doing a bunch of identfied 
> > AuthBy's
> > like this:
> >
> > <AuthBy LOADBALANCE>
> > 	Identifier Kind01
> >
> > 	include %{GlobalVar:ConfigDir}/RetriesKind01.cfg
> > 	include %{GlobalVar:ConfigDir}/HostsKind01.cfg
> >
> > 	AcctFailedLogFileName %L/ACCT-LOST/Kind01/%Y-%m-%d.log
> > </AuthBy>
> >
> > This would be the AuthBy to use for the "Kind01" kind of handlers...
> >
> > Is there a way to have a "per AuthBy" special that has the "AuthBy"
> > Identfier? That is... a kind of "%{LocalVar:xxxx}" where the locality 
> > is wrt
> > the AuthBy...
> >
> > Would %{Handler:Identifier} do that? or that would give me the 
> > Identifier of
> > the Handler that called this AuthBy?
> >
> > Otherwise, would something along the lines of this work?:
> >
> > <AuthBy LOADBALANCE>
> > 	DefineFormattedGlobalVar KIND Kind01
> > 	Identifier %{GlobalVar:KIND}
> >
> > 	include %{GlobalVar:ConfigDir}/Retries%{GlobalVar:KIND}.cfg
> > 	include %{GlobalVar:ConfigDir}/Hosts%{GlobalVar:KIND}.cfg
> >
> > 	AcctFailedLogFileName %L/ACCT-LOST/%{GlobalVar:KIND}/%Y-%m-%d.log
> > </AuthBy>
> >
> > <AuthBy LOADBALANCE>
> > 	DefineFormattedGlobalVar KIND Kind02
> > 	Identifier %{GlobalVar:KIND}
> >
> > 	include %{GlobalVar:ConfigDir}/Retries%{GlobalVar:KIND}.cfg
> > 	include %{GlobalVar:ConfigDir}/Hosts%{GlobalVar:KIND}.cfg
> >
> > 	AcctFailedLogFileName %L/ACCT-LOST/%{GlobalVar:KIND}/%Y-%m-%d.log
> > </AuthBy>
> >
> >
> > TIA.
> >
> >
> > --
> > Mariano Absatz
> > El Baby
> > ----------------------------------------------------------
> > It said, "Insert disk #3," but only two will fit!
> >
> >
> > ===
> > Archive at http://www.open.com.au/archives/radiator/
> > Announcements on radiator-announce at open.com.au
> > To unsubscribe, email 'majordomo at open.com.au' with
> > 'unsubscribe radiator' in the body of the message.
> >
> >
> 
> --
> Radiator: the most portable, flexible and configurable RADIUS server
> anywhere. Available on *NIX, *BSD, Windows 95/98/2000, NT, MacOS X.
> -
> Nets: internetwork inventory and management - graphical, extensible,
> flexible with hardware, software, platform and database independence.


===
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.


More information about the radiator mailing list