<div dir="ltr"><br><br><div class="gmail_quote">On Wed, Oct 15, 2008 at 3:52 PM, Javier Fox <span dir="ltr"><<a href="mailto:jfox@corp.spiritone.com">jfox@corp.spiritone.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi folks,<br>
<br>
I have a bit of a conundrum trying to implement FreeRadius for a system where users from multiple ISP names must all authenticate in the same place, and I'm hoping a more experienced user can shed some light.<br>
<br>
In a nutshell, I need to do the following:<br>
-Check the 'called-station-id' of an incoming RADIUS request<br>
-If the id is A, B, or C, set a hint/realm flag to "alpha"<br>
-If the id is D, E, or F, set a hint/realm flag to "beta"<br>
-If the id is anything else, set a hint/realm flag to "gamma"<br>
-Based on the value of the hint/realm flag, rewrite the username before attempting authentication (by adding '@ispname1', '@ispname2', etc.)<br>
-Conversely, if the username already looks like 'user@ispname', leave it alone<br>
<br>
For completeness' sake, I'm performing the authentication against a Postgres database.  In its current state, the system is able to happily authenticate users as long as the username is provided in the format "username@ispname"; otherwise they are rejected.<br>

<br>
Our old RADIUS system (using Radiator) appears to call a perl script to perform this username rewriting, but that just seems like a nasty hack that I'd prefer to avoid.<br>
<br>
Any advice on this would be immeasurably appreciated.<br>
<br>
Thanks,<br>
J. Fox<br>
</blockquote><div><br>Answer: unlang<br><br><a href="http://freeradius.org/radiusd/man/unlang.html">http://freeradius.org/radiusd/man/unlang.html</a> <br></div></div><br></div>