User-Password and regular expression problem
V.Kukushkin
vlkukushkin at yandex.ru
Thu Aug 24 14:34:36 CEST 2006
Hi
I want to disable login users with empty passwords
So, the entry in my "users" file is:
---------------------------------
DEFAULT User-Password !~ "^$"
Framed-MTU = 576,
Acct-Interim-Interval := 60
DEFAULT Auth-Type := Reject
Reply-Message = "Unknown user subscription type"
---------------------------------
And I expected Access-Reject with reply message.
Instead I got Access-Reject but for another reason - Incorrect password
(see debugging output below).
Password is not empty and stored in MySQL database as clear text.
Same result I saw when used simple (not regular) expression:
----------------------------------------
DEFAULT User-Password != ""
Framed-MTU = 576,
Acct-Interim-Interval := 60
DEFAULT Auth-Type := Reject
Reply-Message = "Unknown user subscription type"
---------------------------------------
1) If I remove this check from users file, the user can log in successfuly.
2) Regular expression for User-Name is working well, e.g.
DEFAULT User-Name =~ "^[-_[:alnum:]]+$", NAS-Port-Type == Ethernet
Framed-MTU = 576,
Acct-Interim-Interval := 60
It seems to me that the Value of User-Password is broken during check and
not
equal to Value taken from database.
My questions is: Is User-Password handled in the same way as another
attributes in
"user" file OR not ? How to disable users with empty passwords ?
PS: The problem occured with versions 1.0.1 and 1.0.5
My backend - MySQL with standard radius database. OS - Redhat 9.x, i386.
Debugging output of "radiusd -X" looks like this:
---------------------------------
rad_recv: Access-Request packet from host 127.0.0.1:1112, id=47, length=65
User-Name = "cftest"
User-Password = "1234567890"
Service-Type = Framed-User
Framed-Protocol = PPP
NAS-Identifier = "r9999"
Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 0
modcall[authorize]: module "preprocess" returns ok for request 0
radius_xlat: '/var/log/radius/radacct/127.0.0.1/auth-detail-20060824'
rlm_detail:
/var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d expands to
/var/log/radius/radacct/127.0.0.1/auth-detail-20060824
modcall[authorize]: module "auth_log" returns ok for request 0
modcall[authorize]: module "chap" returns noop for request 0
modcall[authorize]: module "mschap" returns noop for request 0
rlm_realm: No '@' in User-Name = "cftest", looking up realm NULL
rlm_realm: No such realm "NULL"
modcall[authorize]: module "suffix" returns noop for request 0
users: Matched entry DEFAULT at line 14
modcall[authorize]: module "files" returns ok for request 0
radius_xlat: 'cftest'
rlm_sql (sql): sql_set_user escaped user --> 'cftest'
radius_xlat: 'SELECT id,UserName,Attribute,Value,op FROM radcheck WHERE
Username=(SELECT distinct username FROM usergroup WHERE groupname&(SELECT
regionid FROM regionslist WHERE routerid='r9999') AND username='cftest')
ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 4
rlm_sql_mysql: num_fields 5
radius_xlat: 'SELECT
radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupcheck.Value,radgroupcheck.op
FROM radgroupcheck,usergroup WHERE usergroup.Username = 'cftest' AND
usergroup.GroupName = radgroupcheck.GroupName ORDER BY radgroupcheck.id'
rlm_sql_mysql: num_fields 5
radius_xlat: 'SELECT id,UserName,Attribute,Value,op FROM radreply WHERE
Username = 'cftest' ORDER BY id'
rlm_sql_mysql: num_fields 5
radius_xlat: 'SELECT
radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgroupreply.Value,radgroupreply.op
FROM radgroupreply,usergroup WHERE usergroup.Username = 'cftest' AND
usergroup.GroupName = radgroupreply.GroupName ORDER BY radgroupreply.id'
rlm_sql_mysql: num_fields 5
rlm_sql (sql): Released sql socket id: 4
modcall[authorize]: module "sql" returns ok for request 0
modcall: group authorize returns ok for request 0
auth: type Local
auth: user supplied User-Password does NOT match local User-Password
auth: Failed to validate the user.
Delaying request 0 for 1 seconds
Finished request 0
--
regards,
Vladimir
More information about the Freeradius-Users
mailing list