[RADIATOR] AuthBy SQL - multiple rows/attributes

Jim Tyrrell jim at scusting.com
Tue Jun 26 04:28:02 CDT 2012


At the moment I just have a single very simple table that I am testing 
with, 2 columns 'Endpoint' & 'Password' with 2 rows in the table for 2 
different Tunnel endpoints.

I could have multiple columns for the multiple tunnels, but then if I 
wanted to add or remove tunnels I would need to update the Radiator 
query each time to add/remove the extra AuthAttrDefs, but I'd like the 
flexibility to just add/remove entries to the SQL table without having 
to change the Radiator config.

ie - if I have one tunnel in the table then the handler needs to return:

Code:       Access-Accept
           Tunnel-Server-Endpoint = 172.16.1.1
           Tunnel-Password = "tunnelpass"

And if an extra entry is added to the table then return the following 
format:

Code:       Access-Accept
           Tunnel-Server-Endpoint = 172.16.1.1
           Tunnel-Password = "tunnelpass"
           Tunnel-Server-Endpoint = 172.16.1.2
           Tunnel-Password = "tunnelpass2"


If I was able to use LDAP I could just have an object such as:

uid=TunnelEndPoints
tunnelip=172.16.0.1
tunnelip=172.16.0.2
tunnelpass=blah1
tunnelpass=blah2

And then use an AuthBy LDAP including the following:

                 AuthAttrDef tunnelip,Tunnel-Server-Endpoint,reply
                 AuthAttrDef     tunnelpass,Tunnel-Password,reply


Is there not an equivalent of this for MySQL authentication?  How do 
people store multiple attributes such as Framed-Route in MySQL and then 
return multiple instances of this when they exist? (The examples above 
would actually be returned as tagged attributes but I can worry about 
that later).

Thanks.

Jim.


On 25/06/2012 18:05, Michael wrote:
>
> I seem to remember reading somewhere in the Radiator manual that it 
> will only process the first sql row received therefore I don't think 
> it will process multiple row results.  I can't seem to find in the 
> manual where i read that though. On the other hand, you could have all 
> reply values on the same row in the table, or create an sql statement 
> that returns them all on one row.
>
> What is your sql table structure?  multiple tables?
>
> mike
>
>
> On 12-06-25 08:52 AM, Jim Tyrrell wrote:
>> Hi,
>>
>> Is it possible for AuthBy SQL to return multiple attributes if the query
>> returns multiple rows?
>>
>> I am currently using AuthBy SQL to return a Tunnel-Endpoint to a LAC
>> with the following simplified config:
>>
>> <AuthBy SQL>
>>           DBSource        dbi:mysql:databasename:192.168.10.3
>>           DBUsername      DBuser
>>           DBAuth          DBPass
>>           AuthSelect SELECT Endpoint, Password FROM endpoints
>>           AuthColumnDef   0,Tunnel-Server-Endpoint,reply
>>           AuthColumnDef   1,Tunnel-Password,reply
>> </AuthBy>
>>
>> This works fine at the moment as I only have 1 row in the table which
>> represents 1 endpoint.  But I now want to return multiple endpoints so
>> the Access-Accept would be something along the lines of:
>>
>> Code:       Access-Accept
>> Attributes:
>>           Tunnel-Server-Endpoint = 172.16.1.1
>>           Tunnel-Password = "tunnelpass"
>>           Tunnel-Server-Endpoint = 172.16.1.2
>>           Tunnel-Password = "tunnelpass2"
>>
>> I had hoped to just add a 2nd row to the table, but the handler just
>> returns the values from the 1st row of the result.  I'd like to be able
>> to return additional attributes for each row returned so I can easily
>> add/remove more endpoints to the table as and when I need to.
>>
>> Thanks.
>>
>> Jim.
>> _______________________________________________
>> radiator mailing list
>> radiator at open.com.au
>> http://www.open.com.au/mailman/listinfo/radiator
>>
>>




More information about the radiator mailing list