if i try upgrading a from a functioning 0.7.1 install, i get the following errors that force radiusd to bail out before completing a proper start-up [ users.special is specified as an $INCLUDE in the users file ] :
Module: Loaded files
files: usersfile = "/usr/local/etc/raddb/users"
files: acctusersfile = "/usr/local/etc/raddb/acct_users"
files: preproxy_usersfile = "/usr/local/etc/raddb/preproxy_users"
files: compat = "no"
/usr/local/etc/raddb/users.special[2]: Parse error (reply) for entry foo: Non-hex characters at l
/usr/local/etc/raddb/users[3]: Could not open included file /usr/local/etc/raddb
/users.special: Numerical result out of range
Errors reading /usr/local/etc/raddb/users
radiusd.conf[790]: files: Module instantiation failed.
the entry in the users file looks like the following:
foo Auth-Type:=Local, User-Password=="bar" Class="0x0"
the check item line ends with a newline and the reply item line starts with a tab. if i delete the tab, then the error disappears and radiusd will start as expected, but the reply item won't be returned.
doing a little sleuthing, i can track down the "Non-hex characters" debug message is coming from modified code in valuepairs.c; if i can compile 0.9.1 code with valuepairs.c from 0.7.1 i find that radiusd will start properly and process the entry from the users file correctly. from radtest, i get the following:
radtest foo bar localhost 0 testing123
Sending Access-Request of id 88 to 127.0.0.1:1812 User-Name = "foo" User-Password = "bar" NAS-IP-Address = localhost.localdomain NAS-Port = 0 rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=88, length=23 Class = 0x00
unfortunately, it doesn't appear my problems are solved. if i try a more complicated users file entry with multiple custom AV-Pairs, which works properly with 0.7.1, it seems that the server only wants to return one of the reply items.
for example, if i try the following users entry:
foo Auth-Type:=Local, User-Password=="bar" Colubris-AVPair= "logo=http://my.domain.com/colubris/img/logo.gif", Colubris-AVPair= "login-page=http://my.domain.com/colubris/upload/login.html",
Colubris-AVPair= "transport-page=http://my.domain.com/colubris/upload/transport.html",
Colubris-AVPair= "session-page=http://my.domain.com/colubris/upload/session.html",
Colubris-AVPair= "fail-page=http://my.domain.com/colubris/upload/fail.html",
Colubris-AVPair= "login-error-url=http://my.domain.com/colubris/login-error.php",
Colubris-AVPair= "goodbye-url=http://my.domain.com/colubris/goodbye.php
the corresponding radtest output:
radtest foo bar localhost 0 testing123 Sending Access-Request of id 127 to 127.0.0.1:1812 User-Name = "foo" User-Password = "bar" NAS-IP-Address = localhost.localdomain NAS-Port = 0 rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=127, length=74 Colubris-AVPair = "logo=http://my.domain.com/colubris/img/logo.gif"
at this point, i'm beginning to suspect that i'm just doing something supremely dopey and digging myself into a bigger and bigger hole. if anyone could give me a little clarity, i'd be mighty obliged.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html