Despite reading everything I can find, performing many different
experiments, turning the issue over to a UNIX hack with 20 years of
experience, and asking questions on lots of different forums, I cannot
figure out a problem I have with RADIUS.  I am sure it is due to my
ignorance, and not a bug - in fact, I suspect that this is very easy to
solve, but that no one has thought to offer up such a basic piece of info.
Any help would be appreciated.

We are a WISP, we have freeRadius running with mySQL.  The NASs that
currently use RADIUS (SmartBridge XOs) transmit the CPE's MAC address as
both UserName and Password.  We have new and better NASs (MikroTik) that
transmit the CPE's mac address as the UserName, but with a "null" password.
What we want is "simple" - for both NASs to validate off of RADIUS.  BUT
because of the difference in Passwords, the same entry in RadCheck won't do
it.

There is a lot of debug output below, bracketed by "------------------"s,
and divided into three different approaches:  two entries in radcheck,
rewriting the password attribute in the request, and using different
operators under both "password = mac" and "password = null" conditions.

First Approach:

I have tried to have 2 entries in RadCheck with the same username (one where
password = username,
one where password = <null>), however that causes neither NAS to be able to
authenticate a request.  I thought that perhaps this was a function of "Fall
Through" (mentioned as living in the Users file), however I haven't been
able to find the mySQL-version of "Fall Through" and am not even sure that
would do what I want even.

Below I list Accepts and Rejects from both devices under two different
scenarios.  After the fourth debug output, I continue describing other steps
I've tried.

This is an XO, getting an Accept, with only the one entry in radcheck:

-------------------------------

rad_recv: Access-Request packet from host 10.0.1.243:1812, id=15, length=52
        User-Name = "00026f341586"
        User-Password = "00026f341586"
rad_lowerpair:  User-Name now '00026f341586'
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 57787
  modcall[authorize]: module "preprocess" returns ok for request 57787
radius_xlat:  ':'
rlm_attr_rewrite: No match found for attribute User-Name with value
'00026f341586'
  modcall[authorize]: module "mac_colons" returns ok for request 57787
  modcall[authorize]: module "chap" returns noop for request 57787
  modcall[authorize]: module "mschap" returns noop for request 57787
    rlm_realm: No '@' in User-Name = "00026f341586", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 57787
  rlm_eap: No EAP-Message, not doing EAP
  modcall[authorize]: module "eap" returns noop for request 57787
    users: Matched DEFAULT at 152
  modcall[authorize]: module "files" returns ok for request 57787
radius_xlat:  '00026f341586'
rlm_sql (sql): sql_set_user escaped user --> '00026f341586'
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE
Username = '00026f341586' ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 2
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radcheck
WHERE Username = '00026f341586' ORDER BY id
radius_xlat:  'SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '00026f341586' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id'
rlm_sql_mysql: query:  SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '00026f341586' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radreply WHERE
Username = '00026f341586' ORDER BY id'
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radreply
WHERE Username = '00026f341586' ORDER BY id
radius_xlat:  'SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '00026f341586' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id'
rlm_sql_mysql: query:  SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '00026f341586' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id
rlm_sql (sql): Released sql socket id: 2
  modcall[authorize]: module "sql" returns ok for request 57787
modcall: group authorize returns ok for request 57787
  rad_check_password:  Found Auth-Type Local
auth: type Local
auth: user supplied User-Password matches local User-Password
Sending Access-Accept of id 15 to 10.0.1.243:1812
        Limit-Rate-Downlink = 5000
        Limit-Rate-Uplink = 5000
Finished request 57787

-----------------------------

This is an XO, getting a reject, with two entries in radcheck - one with the
password filled with the actual password the XO is sending, and one with the
password as <null>:

------------------------------

rad_recv: Access-Request packet from host 10.0.0.243:1812, id=5, length=52
        User-Name = "000d2f00f0e3"
        User-Password = "000d2f00f0e3"
rad_lowerpair:  User-Name now '000d2f00f0e3'
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 58582
  modcall[authorize]: module "preprocess" returns ok for request 58582
radius_xlat:  ':'
rlm_attr_rewrite: No match found for attribute User-Name with value
'000d2f00f0e3'
  modcall[authorize]: module "mac_colons" returns ok for request 58582
  modcall[authorize]: module "chap" returns noop for request 58582
  modcall[authorize]: module "mschap" returns noop for request 58582
    rlm_realm: No '@' in User-Name = "000d2f00f0e3", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 58582
  rlm_eap: No EAP-Message, not doing EAP
  modcall[authorize]: module "eap" returns noop for request 58582
    users: Matched DEFAULT at 152
  modcall[authorize]: module "files" returns ok for request 58582
radius_xlat:  '000d2f00f0e3'
rlm_sql (sql): sql_set_user escaped user --> '000d2f00f0e3'
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE
Username = '000d2f00f0e3' ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 2
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radcheck
WHERE Username = '000d2f00f0e3' ORDER BY id
radius_xlat:  'SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '000d2f00f0e3' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id'
rlm_sql_mysql: query:  SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '000d2f00f0e3' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radreply WHERE
Username = '000d2f00f0e3' ORDER BY id'
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radreply
WHERE Username = '000d2f00f0e3' ORDER BY id
radius_xlat:  'SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '000d2f00f0e3' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id'
rlm_sql_mysql: query:  SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '000d2f00f0e3' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id
rlm_sql (sql): No matching entry in the database for request from user
[000d2f00f0e3]
rlm_sql (sql): Released sql socket id: 2
  modcall[authorize]: module "sql" returns notfound for request 58582
modcall: group authorize returns ok for request 58582
  rad_check_password:  Found Auth-Type System
auth: type "System"
  Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 58582
  modcall[authenticate]: module "unix" returns notfound for request 58582
modcall: group authenticate returns notfound for request 58582
auth: Failed to validate the user.
Sending Access-Reject of id 5 to 10.0.0.243:1812

----------------------

This is a MikroTik, getting an Accept, with only one entry (password =
null):

----------------------

rad_recv: Access-Request packet from host 10.35.0.30:1481, id=131, length=60
        Service-Type = Framed-User
        NAS-Port-Id = "wlan1"
        User-Name = "00:0A:E9:06:29:07"
        User-Password = ""
        NAS-IP-Address = 10.35.0.30
rad_lowerpair:  User-Name now '00:0a:e9:06:29:07'
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 57452
  modcall[authorize]: module "preprocess" returns ok for request 57452
radius_xlat:  ':'
rlm_attr_rewrite: Changed value for attribute User-Name from
'00:0a:e9:06:29:07' to '000ae9062907'
  modcall[authorize]: module "mac_colons" returns ok for request 57452
  modcall[authorize]: module "chap" returns noop for request 57452
  modcall[authorize]: module "mschap" returns noop for request 57452
    rlm_realm: No '@' in User-Name = "000ae9062907", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 57452
  rlm_eap: No EAP-Message, not doing EAP
  modcall[authorize]: module "eap" returns noop for request 57452
    users: Matched DEFAULT at 152
    users: Matched DEFAULT at 171
  modcall[authorize]: module "files" returns ok for request 57452
radius_xlat:  '000ae9062907'
rlm_sql (sql): sql_set_user escaped user --> '000ae9062907'
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE
Username = '000ae9062907' ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 2
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radcheck
WHERE Username = '000ae9062907' ORDER BY id
radius_xlat:  'SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id'
rlm_sql_mysql: query:  SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radreply WHERE
Username = '000ae9062907' ORDER BY id'
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radreply
WHERE Username = '000ae9062907' ORDER BY id
radius_xlat:  'SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id'
rlm_sql_mysql: query:  SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id
rlm_sql (sql): Released sql socket id: 2
  modcall[authorize]: module "sql" returns ok for request 57452
modcall: group authorize returns ok for request 57452
  rad_check_password:  Found Auth-Type Local
auth: type Local
auth: user supplied User-Password matches local User-Password
Sending Access-Accept of id 131 to 10.35.0.30:1481
        Framed-IP-Address = 255.255.255.254
        Framed-MTU = 576
        Service-Type = Framed-User
        Limit-Rate-Downlink = 5000
        Limit-Rate-Uplink = 5000
        Recv-Limit = 5000
        Xmit-Limit = 5000

--------------------------

This is a MiroTik, getting a reject, with two entries in radcheck:

---------------------------

rad_recv: Access-Request packet from host 10.35.0.30:1337, id=118, length=60
        Service-Type = Framed-User
        NAS-Port-Id = "wlan1"
        User-Name = "00:0A:E9:06:29:07"
        User-Password = ""
        NAS-IP-Address = 10.35.0.30
rad_lowerpair:  User-Name now '00:0a:e9:06:29:07'
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 55957
  modcall[authorize]: module "preprocess" returns ok for request 55957
radius_xlat:  ':'
rlm_attr_rewrite: Changed value for attribute User-Name from
'00:0a:e9:06:29:07' to '000ae9062907'
  modcall[authorize]: module "mac_colons" returns ok for request 55957
  modcall[authorize]: module "chap" returns noop for request 55957
  modcall[authorize]: module "mschap" returns noop for request 55957
    rlm_realm: No '@' in User-Name = "000ae9062907", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 55957
  rlm_eap: No EAP-Message, not doing EAP
  modcall[authorize]: module "eap" returns noop for request 55957
    users: Matched DEFAULT at 152
    users: Matched DEFAULT at 171
  modcall[authorize]: module "files" returns ok for request 55957
radius_xlat:  '000ae9062907'
rlm_sql (sql): sql_set_user escaped user --> '000ae9062907'
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE
Username = '000ae9062907' ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 2
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radcheck
WHERE Username = '000ae9062907' ORDER BY id
radius_xlat:  'SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id'
rlm_sql_mysql: query:  SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radreply WHERE
Username = '000ae9062907' ORDER BY id'
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radreply
WHERE Username = '000ae9062907' ORDER BY id
radius_xlat:  'SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id'
rlm_sql_mysql: query:  SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id
rlm_sql (sql): No matching entry in the database for request from user
[000ae9062907]
rlm_sql (sql): Released sql socket id: 2
  modcall[authorize]: module "sql" returns notfound for request 55957
modcall: group authorize returns ok for request 55957
  rad_check_password:  Found Auth-Type System
auth: type "System"
  Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 55957
  modcall[authenticate]: module "unix" returns notfound for request 55957
modcall: group authenticate returns notfound for request 55957
auth: Failed to validate the user.
Delaying request 55957 for 1 seconds
Finished request 55957
Going to the next request


Sending Access-Reject of id 118 to 10.35.0.30:1337

-------------------------------

Second Approach:

We have tried to use attr_rewrite to write the mac into the Auth Request's
Password attribute, but were unsuccessful.  Seems like if it comes in as
anything BUT "null", it can be rewritten.  The debug output when trying to
rewrite a null password is below:

"rlm_attr_rewrite:  Attribute User-Password string value NULL or of zero
length"
   " modcall[authorize]: module "blank_password"returns noop for request 10"

Don't see how it's possible to go the other way with this approach (strip
the XO's Password of everything so that it's null) because what would you
search for...?

Third Approach:

I read "man 5 users" and tried different operators.  "Surely, I can just
tell it to accept if a password is in the request at all, whether it's
actually a string or not" - wrong.

I have tried different operators under two different scenarios - with the
Password populated, and with the Password blank - the results are below,
along with debug output.

Scenario 1:  Password field has username in it

Password ==
        MikroTik        - Reject
        XO              - Accept (this is how we are setup right now)

-------------------------------------------------------
Password >=
        MT              - Reject
        XO              - Accept

Debug:

Waking up in 1 seconds...
rad_recv: Access-Request packet from host 10.35.0.30:1482, id=133, length=60
        Service-Type = Framed-User
        NAS-Port-Id = "wlan1"
        User-Name = "00:0A:E9:06:29:07"
        User-Password = ""
        NAS-IP-Address = 10.35.0.30
rad_lowerpair:  User-Name now '00:0a:e9:06:29:07'
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 1324
  modcall[authorize]: module "preprocess" returns ok for request 1324
radius_xlat:  ':'
rlm_attr_rewrite: Changed value for attribute User-Name from
'00:0a:e9:06:29:07' to '000ae9062907'
  modcall[authorize]: module "mac_colons" returns ok for request 1324
  modcall[authorize]: module "chap" returns noop for request 1324
  modcall[authorize]: module "mschap" returns noop for request 1324
    rlm_realm: No '@' in User-Name = "000ae9062907", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 1324
  rlm_eap: No EAP-Message, not doing EAP
  modcall[authorize]: module "eap" returns noop for request 1324
    users: Matched DEFAULT at 152
    users: Matched DEFAULT at 174
  modcall[authorize]: module "files" returns ok for request 1324
radius_xlat:  '000ae9062907'
rlm_sql (sql): sql_set_user escaped user --> '000ae9062907'
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE
Username = '000ae9062907' ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 0
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radcheck
WHERE Username = '000ae9062907' ORDER BY id
radius_xlat:  'SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id'
rlm_sql_mysql: query:  SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radreply WHERE
Username = '000ae9062907' ORDER BY id'
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radreply
WHERE Username = '000ae9062907' ORDER BY id
radius_xlat:  'SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id'
rlm_sql_mysql: query:  SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id
rlm_sql (sql): No matching entry in the database for request from user
[000ae9062907]
rlm_sql (sql): Released sql socket id: 0
  modcall[authorize]: module "sql" returns notfound for request 1324
modcall: group authorize returns ok for request 1324
  rad_check_password:  Found Auth-Type System
auth: type "System"
  Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 1324
  modcall[authenticate]: module "unix" returns notfound for request 1324
modcall: group authenticate returns notfound for request 1324
auth: Failed to validate the user.

----------------------------------------------------------------------------
-----------
Password =*
        MT              - Accept
        XO              - Reject

Based on this from man 5 users:

"Attribute =* Value
            As a check item, it matches if the request contains the named
attribute, no matter what the value is.  Not allowed as a reply item."

I thought for SURE that this would work.  But notice how the XOs reject
this, while the MTs accept (different than the other two expressions under
this condition)...here's the debug of an XO being rejected with this
operator:

rad_recv: Access-Request packet from host 10.0.0.243:1812, id=3, length=52
        User-Name = "00301a04a7e0"
        User-Password = "00301a04a7e0"
rad_lowerpair:  User-Name now '00301a04a7e0'
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 1262
  modcall[authorize]: module "preprocess" returns ok for request 1262
radius_xlat:  ':'
rlm_attr_rewrite: No match found for attribute User-Name with value
'00301a04a7e0'
  modcall[authorize]: module "mac_colons" returns ok for request 1262
  modcall[authorize]: module "chap" returns noop for request 1262
  modcall[authorize]: module "mschap" returns noop for request 1262
    rlm_realm: No '@' in User-Name = "00301a04a7e0", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 1262
  rlm_eap: No EAP-Message, not doing EAP
  modcall[authorize]: module "eap" returns noop for request 1262
    users: Matched DEFAULT at 152
  modcall[authorize]: module "files" returns ok for request 1262
radius_xlat:  '00301a04a7e0'
rlm_sql (sql): sql_set_user escaped user --> '00301a04a7e0'
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE
Username = '00301a04a7e0' ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 2
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radcheck
WHERE Username = '00301a04a7e0' ORDER BY id
radius_xlat:  'SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id'
rlm_sql_mysql: query:  SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radreply WHERE
Username = '00301a04a7e0' ORDER BY id'
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radreply
WHERE Username = '00301a04a7e0' ORDER BY id
radius_xlat:  'SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id'
rlm_sql_mysql: query:  SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id
rlm_sql (sql): Released sql socket id: 2
  modcall[authorize]: module "sql" returns ok for request 1262
modcall: group authorize returns ok for request 1262
  rad_check_password:  Found Auth-Type Local
auth: type Local
auth: user supplied User-Password does NOT match local User-Password
auth: Failed to validate the user.

----------------------------------------------------------------------------
-----------

Password <=
        MT              - Reject
        XO              - Accept

rad_recv: Access-Request packet from host 10.35.0.30:1492, id=154, length=60
        Service-Type = Framed-User
        NAS-Port-Id = "wlan1"
        User-Name = "00:0A:E9:06:29:07"
        User-Password = ""
        NAS-IP-Address = 10.35.0.30
rad_lowerpair:  User-Name now '00:0a:e9:06:29:07'
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 128
  modcall[authorize]: module "preprocess" returns ok for request 128
radius_xlat:  ':'
rlm_attr_rewrite: Changed value for attribute User-Name from
'00:0a:e9:06:29:07' to '000ae9062907'
  modcall[authorize]: module "mac_colons" returns ok for request 128
  modcall[authorize]: module "chap" returns noop for request 128
  modcall[authorize]: module "mschap" returns noop for request 128
    rlm_realm: No '@' in User-Name = "000ae9062907", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 128
  rlm_eap: No EAP-Message, not doing EAP
  modcall[authorize]: module "eap" returns noop for request 128
    users: Matched DEFAULT at 152
    users: Matched DEFAULT at 174
  modcall[authorize]: module "files" returns ok for request 128
radius_xlat:  '000ae9062907'
rlm_sql (sql): sql_set_user escaped user --> '000ae9062907'
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE
Username = '000ae9062907' ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 1
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radcheck
WHERE Username = '000ae9062907' ORDER BY id
radius_xlat:  'SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id'
rlm_sql_mysql: query:  SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radreply WHERE
Username = '000ae9062907' ORDER BY id'
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radreply
WHERE Username = '000ae9062907' ORDER BY id
radius_xlat:  'SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id'
rlm_sql_mysql: query:  SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '000ae9062907' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id
rlm_sql (sql): Released sql socket id: 1
  modcall[authorize]: module "sql" returns ok for request 128
modcall: group authorize returns ok for request 128
  rad_check_password:  Found Auth-Type Local
auth: type Local
auth: user supplied User-Password does NOT match local User-Password
auth: Failed to validate the user.



Scenario 2:     Password field is null

Password ==
        MT              - Accept
        XO              - Reject (this would be our config if we didn't have 
any XOs, and I
wouldn't have this issue)
--------------------------------------------------------------------
Password >=
        MT              - Accept
        XO              - Reject

rad_recv: Access-Request packet from host 10.0.0.243:1812, id=201, length=52
        User-Name = "00301a04a7e0"
        User-Password = "00301a04a7e0"
rad_lowerpair:  User-Name now '00301a04a7e0'
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 484
  modcall[authorize]: module "preprocess" returns ok for request 484
radius_xlat:  ':'
rlm_attr_rewrite: No match found for attribute User-Name with value
'00301a04a7e0'
  modcall[authorize]: module "mac_colons" returns ok for request 484
  modcall[authorize]: module "chap" returns noop for request 484
  modcall[authorize]: module "mschap" returns noop for request 484
    rlm_realm: No '@' in User-Name = "00301a04a7e0", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 484
  rlm_eap: No EAP-Message, not doing EAP
  modcall[authorize]: module "eap" returns noop for request 484
    users: Matched DEFAULT at 152
  modcall[authorize]: module "files" returns ok for request 484
radius_xlat:  '00301a04a7e0'
rlm_sql (sql): sql_set_user escaped user --> '00301a04a7e0'
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE
Username = '00301a04a7e0' ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 0
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radcheck
WHERE Username = '00301a04a7e0' ORDER BY id
radius_xlat:  'SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id'
rlm_sql_mysql: query:  SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radreply WHERE
Username = '00301a04a7e0' ORDER BY id'
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radreply
WHERE Username = '00301a04a7e0' ORDER BY id
radius_xlat:  'SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id'
rlm_sql_mysql: query:  SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id
rlm_sql (sql): Released sql socket id: 0
  modcall[authorize]: module "sql" returns ok for request 484
modcall: group authorize returns ok for request 484
  rad_check_password:  Found Auth-Type Local
auth: type Local
auth: user supplied User-Password does NOT match local User-Password
auth: Failed to validate the user.
----------------------------------------------------------------------------
----
Password =*
        MT              - Accept
        XO              - Reject

rad_recv: Access-Request packet from host 10.0.0.243:1812, id=8, length=52
        User-Name = "00301a04a7e0"
        User-Password = "00301a04a7e0"
rad_lowerpair:  User-Name now '00301a04a7e0'
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 345
  modcall[authorize]: module "preprocess" returns ok for request 345
radius_xlat:  ':'
rlm_attr_rewrite: No match found for attribute User-Name with value
'00301a04a7e0'
  modcall[authorize]: module "mac_colons" returns ok for request 345
  modcall[authorize]: module "chap" returns noop for request 345
  modcall[authorize]: module "mschap" returns noop for request 345
    rlm_realm: No '@' in User-Name = "00301a04a7e0", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 345
  rlm_eap: No EAP-Message, not doing EAP
  modcall[authorize]: module "eap" returns noop for request 345
    users: Matched DEFAULT at 152
  modcall[authorize]: module "files" returns ok for request 345
radius_xlat:  '00301a04a7e0'
rlm_sql (sql): sql_set_user escaped user --> '00301a04a7e0'
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE
Username = '00301a04a7e0' ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 4
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radcheck
WHERE Username = '00301a04a7e0' ORDER BY id
radius_xlat:  'SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id'
rlm_sql_mysql: query:  SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radreply WHERE
Username = '00301a04a7e0' ORDER BY id'
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radreply
WHERE Username = '00301a04a7e0' ORDER BY id
radius_xlat:  'SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id'
rlm_sql_mysql: query:  SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id
rlm_sql (sql): Released sql socket id: 4
  modcall[authorize]: module "sql" returns ok for request 345
modcall: group authorize returns ok for request 345
  rad_check_password:  Found Auth-Type Local
auth: type Local
auth: user supplied User-Password does NOT match local User-Password
auth: Failed to validate the user.
Delaying request 345 for 1 seconds
Finished request 345
Going to the next request
----------------------------------------------------------------------------
--------------

Password <=
        MT              - Accept
        XO              - there are two components in an XO that query RADIUS, 
a "Supervisor"
and a "Radio".  With a null password, and the "<=" operator, the Supervisor
gets an Accept, but the Radio gets a Reject.

rad_recv: Access-Request packet from host 10.0.0.243:1812, id=226, length=52
        User-Name = "00301a04a7e0"
        User-Password = "00301a04a7e0"
rad_lowerpair:  User-Name now '00301a04a7e0'
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 18
  modcall[authorize]: module "preprocess" returns ok for request 18
radius_xlat:  ':'
rlm_attr_rewrite: No match found for attribute User-Name with value
'00301a04a7e0'
  modcall[authorize]: module "mac_colons" returns ok for request 18
  modcall[authorize]: module "chap" returns noop for request 18
  modcall[authorize]: module "mschap" returns noop for request 18
    rlm_realm: No '@' in User-Name = "00301a04a7e0", looking up realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 18
  rlm_eap: No EAP-Message, not doing EAP
  modcall[authorize]: module "eap" returns noop for request 18
    users: Matched DEFAULT at 152
  modcall[authorize]: module "files" returns ok for request 18
radius_xlat:  '00301a04a7e0'
rlm_sql (sql): sql_set_user escaped user --> '00301a04a7e0'
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE
Username = '00301a04a7e0' ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 1
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radcheck
WHERE Username = '00301a04a7e0' ORDER BY id
radius_xlat:  'SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id'
rlm_sql_mysql: query:  SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupche
ck.Value,radgroupcheck.op  FROM radgroupcheck,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupcheck.GroupName ORDER BY radgroupcheck.id
radius_xlat:  'SELECT id,UserName,Attribute,Value,op FROM radreply WHERE
Username = '00301a04a7e0' ORDER BY id'
rlm_sql_mysql: query:  SELECT id,UserName,Attribute,Value,op FROM radreply
WHERE Username = '00301a04a7e0' ORDER BY id
radius_xlat:  'SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id'
rlm_sql_mysql: query:  SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgrouprep
ly.Value,radgroupreply.op  FROM radgroupreply,usergroup WHERE
usergroup.Username = '00301a04a7e0' AND usergroup.GroupName =
radgroupreply.GroupName ORDER BY radgroupreply.id
rlm_sql (sql): No matching entry in the database for request from user
[00301a04a7e0]
rlm_sql (sql): Released sql socket id: 1
  modcall[authorize]: module "sql" returns notfound for request 18
modcall: group authorize returns ok for request 18
  rad_check_password:  Found Auth-Type System
auth: type "System"
  Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 18
  modcall[authenticate]: module "unix" returns notfound for request 18
modcall: group authenticate returns notfound for request 18
auth: Failed to validate the user.
Delaying request 18 for 1 seconds

-------------------------------------------------

So...that's "it".  I am a RADIUS novice but have got to assume that what I
want to do is possible...isn't it?


Brian Ammons

[EMAIL PROTECTED]



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

Reply via email to