<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
I'm referencing the Mac-Auth wiki page at:
<a class="moz-txt-link-freetext" href="http://wiki.freeradius.org/Mac-Auth">http://wiki.freeradius.org/Mac-Auth</a><br>
<br>
Alan DeKok wrote:
<blockquote cite="mid:4D8CE8D5.4020801@deployingradius.com" type="cite">
  <pre wrap="">Jason Antman wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">I'm running FreeRADIUS 2.1.7 on CentOS 5, and trying to configure MAC
Auth Bypass. I got everything functioning correctly using the Mac-Auth
Wiki page as a guide, including placement of the actual CSID
authentication code in the post-auth section. However, I just enabled
SQL in the post-auth section, and everything is getting logged to SQL
with reply Access-Accept, even if it matched the "reject" statement.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
  I don't see how that is possible.  Are you sure you know what it's
doing?  Have you run the server in debugging mode?
  </pre>
</blockquote>
Yes, I have, and am.<br>
<br>
As per the wiki page... I have in authenticate {}:<br>
### snip ###<br>
Auth-Type CSID {<br>
    if(Chap-Password){<br>
        update control {<br>
            Cleartext-Password := "%{User-Name}"<br>
        }<br>
        chap<br>
    }<br>
    else{<br>
        ok  <br>
    }  <br>
}<br>
### end snip###<br>
<br>
which ALWAYS returns OK. Period.<br>
<br>
And in post-auth{}:<br>
### snip ###<br>
if(control:Auth-Type == 'CSID'){<br>
    # Authorization happens here<br>
    authorized_macs.authorize<br>
    if(!ok){<br>
        reject<br>
    }<br>
}<br>
### end snip ###<br>
If I put a "sql" line before this, it always logs with Access-Accept,
since that's what authenticate{} ALWAYS returns, and the sql module is
being called before . If I put a "sql" line after this, it never gets
executed for "reject" statements...<br>
<blockquote cite="mid:4D8CE8D5.4020801@deployingradius.com" type="cite">
  <pre wrap="">
  </pre>
  <blockquote type="cite">
    <pre wrap="">It seems to me that it's pretty logical that post-auth would be entered
with Auth-Type == Access-Accept, the SQL log would happen, and *then*
the "reject" statement would get executed
    </pre>
  </blockquote>
  <pre wrap=""><!---->
  That makes no sense.  "If it's accept, it runs reject" ?
  </pre>
</blockquote>
See above.<br>
<blockquote cite="mid:4D8CE8D5.4020801@deployingradius.com" type="cite">
  <pre wrap="">
  </pre>
  <blockquote type="cite">
    <pre wrap="">. What I don't understand is
why I shouldn't move the actual authentication
(authorized_macs.authorize) to the auth { } section, or else how I go
about logging rejected requests.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
  I have no idea what that means.
  </pre>
</blockquote>
Why is the authorize statement in the post-auth { } section? That seems
to be the cause of these problems... <br>
<blockquote cite="mid:4D8CE8D5.4020801@deployingradius.com" type="cite">
  <pre wrap="">
  Alan DeKok.
-
List info/subscribe/unsubscribe? See <a class="moz-txt-link-freetext" href="http://www.freeradius.org/list/users.html">http://www.freeradius.org/list/users.html</a>
  </pre>
</blockquote>
<br>
</body>
</html>