Sure no problem...I have made it so it is very easy to see who's mac
belongs to who..

--
-- Table structure for table `MACAUTH`
--

CREATE TABLE IF NOT EXISTS `MACAUTH` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `macaddress` varchar(64) NOT NULL,
  `SSID` varchar(255) NOT NULL,
  `CLIENTSNAME` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

On Mon, May 2, 2011 at 3:43 PM, Arran Cudbard-Bell <[email protected]> wrote:
> Yeah I missed out a bunch of things, well done for figuring it out .
>
> Would you mind dumping out the schema of your table, and I can add it and the 
> below snippet to the wiki for future users?
>
> Thanks,
> Arran
> On May 2, 2011, at 6:51 AM, John Corps wrote:
>
>> wow i totally overlooked that, many thanks Aaran! I have it setup and
>> working perfectly! Many many thanks again. The sql was wrong in your
>> post, missing some quotes or something so the working code was, my
>> complete authorize section:
>>
>> authorize {
>>       preprocess
>>       rewrite_calling_station_id
>>       rewrite_called_station_id
>>       if("%{sql:SELECT COUNT(*) FROM `SSIDMACAUTH` WHERE macaddress =
>> '%{Calling-Station-ID}' AND SSID = '%{Called-Station-SSID}'}" >= 1){
>>               ok
>>               update control {
>>                       Auth-Type := Accept
>>               }
>>       }
>>       else{
>>               reject
>>       }
>> }
>>
>> Obviously this can be optimized, the sql line, so that the update
>> control section doesn't need to be referenced, it can be pulled from
>> the table but the original sql i have is just counting the amount of
>> rows returned and if its more then or equal to 1, it accepts the user.
>>
>> Thanks again.
>>
>>
>> On Fri, Apr 29, 2011 at 2:48 PM, Arran Cudbard-Bell
>> <[email protected]> wrote:
>>> John,
>>>
>>> To be honest its probably easier to use SQL xlat then calling the SQL 
>>> module if you're just trying to determine whether a mac address is allowed 
>>> to access an SSID. SQL module is meant for more complex configurations.
>>>
>>> Create a new table with two fields 'ssid' and 'macaddress'
>>>
>>> authorize {
>>>        preprocess
>>>        if(%{sql:SELECT COUNT(*) FROM `my_mac_table` WHERE macaddress = 
>>> '%{Calling-Station-ID}' AND ssid = '%{Called-Station-SSID}'} >= 1}{
>>>                ok
>>>        }
>>>        else{
>>>                reject
>>>        }
>>>        rewrite_calling_station_id
>>>        rewrite_called_station_id
>>> }
>>>
>>> FYI in your example you listed sql and sql.authorize, in the authorize 
>>> section they do the same thing. Modules generally perform different actions 
>>> depending in the section from which they're called adding a suffix of 
>>> .<section_name> overrides this and explicitly sets a section name.
>>>
>>> -Arran
>>>
>>> On Apr 29, 2011, at 11:24 AM, John Corps wrote:
>>>
>>>> Do you have an example of how to accomplish this? I have tried a lot
>>>> of things but can't seem to get it to work. I have this in my
>>>> authorize section:
>>>> authorize {
>>>>        preprocess
>>>>        rewrite_calling_station_id
>>>>        rewrite_called_station_id
>>>>        sql
>>>>        sql.authorize
>>>>        if(notfound){
>>>>                reject
>>>>        }
>>>>        else{
>>>>                ok
>>>>        }
>>>> }
>>>> Do i have to add anything else here or where do I do the check
>>>> attribute? I have created a new table in my db called just macauth
>>>> that has the same structure as the radacct table except for the
>>>> exception of adding an SSID field. I have tried to modify the original
>>>> sql for checking the radacct table to reflect the ssid table, so check
>>>> ssid table where macaddress is the macaddress and ssid is the ssid. I
>>>> am stuck here as when connecting it just shows up in debug as the user
>>>> was not found...
>>>>
>>>> [sql]         expand: SELECT id, macaddress, attribute, value, op
>>>> FROM SSIDMACAUTH           WHERE SSID = '%{Called-Station-SSID}'
>>>>    AND macaddress ='%{Calling-Station-ID}'           ORDER BY id ->
>>>> SELECT id, macaddress, attribute, value, op           FROM SSIDMACAUTH
>>>>          WHERE SSID = 'SSID'           AND macaddress
>>>> ='00-11-22-33-44-55'           ORDER BY id
>>>> rlm_sql_mysql: query:  SELECT id, macaddress, attribute, value, op
>>>>      FROM SSIDMACAUTH           WHERE SSID = 'RADIUSTEST'
>>>> AND macaddress ='00-11-22-33-44-55'           ORDER BY id
>>>> [sql]         expand: SELECT groupname           FROM radusergroup
>>>> WHERE username = '%{SQL-User-Name}'           ORDER BY priority ->
>>>> SELECT groupname           FROM radusergroup           WHERE username
>>>> = '00-11-22-33-44-55'           ORDER BY priority
>>>> rlm_sql_mysql: query:  SELECT groupname           FROM radusergroup
>>>>       WHERE username = '00-11-22-33-44-55'           ORDER BY
>>>> priority
>>>> rlm_sql (sql): Released sql socket id: 3
>>>> [sql] User 00-11-22-33-44-55 not found
>>>>
>>>> I think I am missing something here as the user is found in the db,
>>>> but i think it is trying to read the results from like username and
>>>> not macaddress. Any insight would be great, thanks.
>>>>
>>>>
>>>> On Thu, Apr 28, 2011 at 4:29 PM, Arran Cudbard-Bell
>>>> <[email protected]> wrote:
>>>>>
>>>>> On Apr 28, 2011, at 1:13 PM, John Corps wrote:
>>>>>
>>>>>> Thank you Aaran. It does indeed work. Is there an easy way of
>>>>>> implementing the same functionality to work with calling the
>>>>>> SSID.00-11-22-33-44-55 pulling from the radcheck sql table?
>>>>>
>>>>> Sure, you can use Calling-Station-SSID as a check attribute for both 
>>>>> users and groups
>>>>>
>>>>> -Arran
>>>>>
>>>>>>
>>>>>> On Thu, Apr 28, 2011 at 3:27 PM, Arran Cudbard-Bell
>>>>>> <[email protected]> wrote:
>>>>>>>
>>>>>>> On Apr 28, 2011, at 11:54 AM, John Corps wrote:
>>>>>>>
>>>>>>>> I have done a testing environment with the Mac-Auth section from the
>>>>>>>> Wiki. http://wiki.freeradius.org/Mac-Auth
>>>>>>>>
>>>>>>>> Not to sure what module you would be referring to...only thing I could
>>>>>>>> think of is the files module?
>>>>>>>
>>>>>>> Updated the wiki page with an example, let me know if it works for you.
>>>>>>>
>>>>>>> -Arran
>>>>>>>
>>>>>>> Arran Cudbard-Bell
>>>>>>> RM-RF Limited - Security consultation and contracting
>>>>>>> VoIP: +1 916-436-1352 Cell: +44 7854041841
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -
>>>>>>> List info/subscribe/unsubscribe? See 
>>>>>>> http://www.freeradius.org/list/users.html
>>>>>>>
>>>>>> -
>>>>>> List info/subscribe/unsubscribe? See 
>>>>>> http://www.freeradius.org/list/users.html
>>>>>
>>>>> Arran Cudbard-Bell
>>>>> RM-RF Limited - Security consultation and contracting
>>>>> VoIP: +1 916-436-1352 Cell: +44 7854041841
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> -
>>>>> List info/subscribe/unsubscribe? See 
>>>>> http://www.freeradius.org/list/users.html
>>>>>
>>>> -
>>>> List info/subscribe/unsubscribe? See 
>>>> http://www.freeradius.org/list/users.html
>>>
>>> Arran Cudbard-Bell
>>> RM-RF Limited - Security consultation and contracting
>>> VoIP: +1 916-436-1352 Cell: +44 7854041841
>>>
>>>
>>>
>>>
>>>
>>> -
>>> List info/subscribe/unsubscribe? See 
>>> http://www.freeradius.org/list/users.html
>>>
>>
>> -
>> List info/subscribe/unsubscribe? See 
>> http://www.freeradius.org/list/users.html
>
> Arran Cudbard-Bell
> RM-RF Limited - Security consultation and contracting
> VoIP: +1 916-436-1352 Cell: +44 7854041841
>
>
>
>
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to