[RADIATOR] Client MAC:xx-xx-xx-xx-xx-xx
    Christian Kratzer 
    ck-lists at cksoft.de
       
    Mon Mar 28 06:39:47 CDT 2011
    
    
  
Hi Heikki,
On Mon, 28 Mar 2011, Heikki Vatiainen wrote:
> On 03/28/2011 01:30 PM, Adam Bishop wrote:
>
>> Which attribute does radiator use for comparison when using
>> MAC-filtering on a client block?  Trying to pin down why one of our
>> clients isn't being picked up by the client block we have set:
>
> The attribute is Calling-Station-Id. Its format is like what you have
> below with hyphens being optional.
I just had a look at the code myself. It seems like it uses Called-Station-Id:
Function find in Client.pm
   #####################################################################
   # Find a Client with the packed Host same as the RecvFrom host
   # If not found, try to find one with the MAC address given in
   # Called-Station-Id
   # If not found, try to find one for DEFAULT
   # REVISIT: Should probably add regexp matching too?
   sub find
   {
       my ($p) = @_;
       my ($client_port, $client_addr) =
   Radius::Util::unpack_sockaddr_in($p->{RecvFrom});
       my $ret = $Radius::Client::clients{$client_addr};
       # Look for a IPV4 CIDR match.
       $ret = findCidrAddress($client_addr)
 	  unless defined $ret;
       if (!defined $ret)
       {
 	  # Try to deduce a MAC address from Called-Station-Id
 	  no warnings "uninitialized";
>>>	  my $mac = $p->getAttrByNum($Radius::Radius::CALLED_STATION_ID);
 	  $ret = $Radius::Client::clients{'MAC:' . $mac}
 	      if ($mac =~
   /^[0-9a-fA-F]{2}-?[0-9a-fA-F]{2}-?[0-9a-fA-F]{2}-?[0-9a-fA-F]{2}-?[0-9a-fA-F]{2}-?[0-9a-fA-F]{2}$/);
 	  # Still nothing, fall back to the default
 	  $ret = $Radius::Client::clients{DEFAULT}
 	      unless defined $ret;
       }
       return $ret;
   }
This is most propably the access points mac address on the air which is
not necessarily the same as the mac adresse seen on the ethernet.
Greetings
Christian
-- 
Christian Kratzer                      CK Software GmbH
Email:   ck at cksoft.de                  Wildberger Weg 24/2
Phone:   +49 7032 893 997 - 0          D-71126 Gaeufelden
Fax:     +49 7032 893 997 - 9          HRB 245288, Amtsgericht Stuttgart
Web:     http://www.cksoft.de/         Geschaeftsfuehrer: Christian Kratzer
    
    
More information about the radiator
mailing list