|
I did not usurp a thread, I reposted my own.
I changed radcheck to have := instead of ==. No change. First query returns: +----+--------------+--------------+-------------+----+ | id | GroupName | Attribute | Value | op | +----+--------------+--------------+-------------+----+ | 28 | MS1-AP1 | Service-Type | Framed-User | == | | 31 | Router-Admin | Service-Type | Login-User | == | +----+--------------+--------------+-------------+----+ Second query returns +----+--------------+----------------+-------+----+ | id | GroupName | Attribute | Value | op | +----+--------------+----------------+-------+----+ | 34 | Router-Admin | Mikrotik-Group | full | = | | 39 | Router-Admin | Fall-Through | Yes | = | | 37 | MS1-AP1 | Fall-Through | Yes | = | | 33 | MS1-AP1 | Port-Limit | 128k | = | +----+--------------+----------------+-------+----+ I have a document from the FreeRadius WIKI (rlm_sql) that says, "Processing continues to the next group IF: There was not a match for the last group's check items OR Fall-Through was set in the last group's reply items. If the user logs into a router, the request is for Login-User and they should get the Router-Admin replies. If they log in to an AP, the request is Framed-User and they should get the AP replies. Scott Reed Owner NewWays Wireless Networking Network Design, Installation and Administration www.nwwnet.net ---------- Original Message ----------- From: Phil Mayers <[EMAIL PROTECTED]> To: FreeRadius users mailing list <[email protected]> Sent: Thu, 06 Apr 2006 13:22:39 +0100 Subject: Re: User in Multiple Groups > Scott Reed wrote: > > I have searched the archive and came close to figuring this out, but I have not > > Don't start your query as part of another thread please. > > > > > Configuration tables: > > 1 USERGROUP > > 2 80 sreed MS1-AP1 > > 3 76 treed MS1-AP1 > > 4 78 sreed Router-Admin > > 5 79 treed Router-Admin > > 6 81 dreed Router-Admin > > 7 > > 8 RADCHECK > > 9 331 dreed User-Password == password > > 10 269 treed User-Password == password > > 11 267 sreed User-Password == password > > This should be ":=" for User-Password. If the match is failing, that may > be the issue. > > > 12 > > 13 RADGROUPCHECK > > 14 31 Router-Admin Service-Type == Login-User > > 15 28 MS1-AP1 Service-Type == Framed-User > > 16 > > 17 RADREPLY > > 18 33 sreed Fall-Through = yes > > 19 43 treed Fall-Through = yes > > 20 > > 21 RADGROUPREPLY > > 22 33 MS1-AP1 Port-Limit = 128k 15 > > 23 34 Router-Admin Mikrotik-Group = full 10 > > 24 39 Router-Admin Fall-Through = Yes 10 > > 25 37 MS1-AP1 Fall-Through = Yes 15 > > I don't think Fall-Through does anything in rlm_sql. What are you > expecting it to do? > > > rad_recv: Access-Request packet from host 192.168.100.13:1201, id=166, length=83 > > Service-Type = Login-User > > User-Name = "treed" > > User-Password = "password" > > Calling-Station-Id = "192.168.100.240" > > NAS-Identifier = "HotSpot" > > NAS-IP-Address = 192.168.100.13 > > Processing the authorize section of radiusd.conf > > modcall: entering group authorize for request 1 > > modcall[authorize]: module "preprocess" returns ok for request 1 > > modcall[authorize]: module "chap" returns noop for request 1 > > modcall[authorize]: module "mschap" returns noop for request 1 > > rlm_realm: No '@' in User-Name = "treed", looking up realm NULL > > rlm_realm: No such realm "NULL" > > modcall[authorize]: module "suffix" returns noop for request 1 > > radius_xlat: 'treed' > > rlm_sql (sql): sql_set_user escaped user --> 'treed' > > rlm_sql_mysql: query: SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE > > Username = 'treed' ORDER BY id > > rlm_sql_mysql: query: SELECT > > radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupcheck.Value,radgroupcheck.op > > FROM radgroupcheck,usergroup WHERE usergroup.Username = 'treed' AND > > usergroup.GroupName = radgroupcheck.GroupName ORDER BY radgroupcheck.id > > What is the result of this query if you execute it directly against the > database? > > > rlm_sql_mysql: query: SELECT id,UserName,Attribute,Value,op FROM radreply WHERE > > Username = 'treed' ORDER BY id > > > rlm_sql_mysql: query: SELECT > > radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgroupreply.Value,radgroupreply.op > > FROM radgroupreply,usergroup WHERE usergroup.Username = 'treed' AND > > usergroup.GroupName = radgroupreply.GroupName ORDER BY radgroupreply.prio > > Again, what does this query give against the database? > > > rlm_sql (sql): No matching entry in the database for request from user [treed] > > This error code is returned if the check items don't match the request. > > Possibly take a look in: > > src/modules/rlm_sql/rlm_sql.c > > ...around line 860 (depending on the version you're running) and > uncomment these lines: > > /* > * Uncomment these lines for debugging > * Recompile, and run 'radiusd -X' > */ > > /* > DEBUG2("rlm_sql: check items"); > vp_listdebug(check_tmp); > DEBUG2("rlm_sql: reply items"); > vp_listdebug(reply_tmp); > */ > > ...then recompile and run again. > - > List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html ------- End of Original Message ------- |
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

