We're having some problems with the Class attribute being set improperly
when using the Group= check item.  What we're trying to do is have a set
of trial userids log to a different detail file than the non-trial users.
We've put all of the trial users in a unix group (trial)  and set the 
Class attribute to "trial" for users who match the Group=trial check item.
We then log to detail%{Class}.

We're seeing apparently random cases of non-trial userids having the
Class attribute set to trial and therefore having their accounting info
go to the wrong detail file.

Our server is running Solaris 7 and Radiator 2.14.1, with the latest
patches and the shadows module.  I've attached debug output for one 
particular session; the userid in question is in group 1000, not group 
2000 (the trial group).  It looks like getpwnam is getting the correct 
group (1000) for the user.

>From /etc/group:

customer::1000:
trial::2000:

Here are the relevant parts of our config:

##
# Set global options.
##
AuthPort 1812
AcctPort 1813
DbDir /etc/raddb
LogDir /var/adm/radacct
Trace 4
SnmpgetProg /usr/local/bin/snmpget
##
## Client Definitions
#
<Client xxx.xxx.xxx.5>
        Secret  removed
        NasType Livingston
        SNMPCommunity removed
        DupInterval 300
</Client>
##
<AuthBy SYSTEM>
        Identifier System
        UseGetspnam
</AuthBy>
<Handler>
        <AuthBy FILE>
        # The filename defaults to %D/users
        Filename %D/users.trial
        </AuthBy>
        ## Trial userids will have a Class of "trial" and
        ## all others will have no Class attribute set.
        AcctLogFileName %L/%N/detail%{Class}
</Handler>
#

Here's the relevant part of our users (users.trial) file:

# Default Trial Group Dial-Up PPP User System Profile
DEFAULT Auth-Type = System, Group = trial, NAS-Port-Type = Async
        Service-Type = Framed-User,
        Framed-Protocol = PPP,
        Framed-Address = 255.255.255.254,
        Framed-Netmask = 255.255.255.255,
        Reply-Message="choice: ",
        Port-Limit = 1,
        Idle-Timeout = 1200,
        Session-Timeout = 28800,
        Class = trial

# Default PPPoE DSL User Profile
DEFAULT Auth-Type = System, NAS-IP-Address = xxx.xxx.xxx.8
        Service-Type = Framed-User,
        Framed-Protocol = PPP,
        Framed-Address = 255.255.255.254,
        Framed-Netmask = 255.255.255.255,
        Idle-Timeout = 1200,
        Session-Timeout = 28800

# Default Dial-Up PPP User System Profile
DEFAULT Auth-Type = System, NAS-Port-Type = Async
        Service-Type = Framed-User,
        Framed-Protocol = PPP,
        Framed-Address = 255.255.255.254,
        Framed-Netmask = 255.255.255.255,
        Reply-Message="choice: ",
        Port-Limit = 1,
        Idle-Timeout = 1200,
        Session-Timeout = 28800

Are we doing something obviously wrong? :-)  Any suggestions would be
greatly appreciated!

Dawn Lovell
[EMAIL PROTECTED]
Thu Jan 27 14:39:01 2000: DEBUG: Packet dump:
*** Received from xxx.xxx.xxx.5 port 1028 ....
Code:       Access-Request
Identifier: 252
Authentic:  gB<219><29><242><250><226><202><22>G<239><127>~<141>%<153>
Attributes:
        User-Name = "user1"
        User-Password = ""
        NAS-IP-Address = xxx.xxx.xxx.5
        NAS-Port = 6
        NAS-Port-Type = Async
        Service-Type = Framed-User
        Framed-Protocol = PPP
        Connect-Info = "24000 LAPM/V42BIS"

Thu Jan 27 14:39:01 2000: DEBUG: Check if Handler  should be used to handle this 
request
Thu Jan 27 14:39:01 2000: DEBUG: Handling request with Handler ''
Thu Jan 27 14:39:01 2000: DEBUG:  Deleting session for user1, xxx.xxx.xxx.5, 6
Thu Jan 27 14:39:01 2000: DEBUG: Handling with Radius::AuthFILE
Thu Jan 27 14:39:01 2000: DEBUG: Radius::AuthFILE looks for match with user1
Thu Jan 27 14:39:01 2000: DEBUG: Radius::AuthFILE looks for match with DEFAULT
Thu Jan 27 14:39:01 2000: DEBUG: Handling with Radius::AuthSYSTEM
Thu Jan 27 14:39:01 2000: DEBUG: getpwnam got user1, xxxxxxxxxxxxx, 56861, 1000, , 
Test User user1, Test User user1, /tmp, /bin/noshell
Thu Jan 27 14:39:01 2000: DEBUG: Radius::AuthSYSTEM looks for match with user1
Thu Jan 27 14:39:01 2000: DEBUG: Radius::AuthSYSTEM REJECT: User user1 is not in Group 
trial
Thu Jan 27 14:39:01 2000: DEBUG: Radius::AuthFILE REJECT: User user1 is not in Group 
trial
Thu Jan 27 14:39:01 2000: DEBUG: Radius::AuthFILE looks for match with DEFAULT1
Thu Jan 27 14:39:01 2000: DEBUG: Handling with Radius::AuthSYSTEM
Thu Jan 27 14:39:02 2000: DEBUG: getpwnam got user1, xxxxxxxxxxxxx, 56861, 1000, , 
Test User user1, Test User user1, /tmp, /bin/noshell
Thu Jan 27 14:39:02 2000: DEBUG: Radius::AuthSYSTEM looks for match with user1
Thu Jan 27 14:39:02 2000: DEBUG: Radius::AuthSYSTEM REJECT: Check item NAS-IP-Address 
expression 'xxx.xxx.xxx.8' does not match 'xxx.xxx.xxx.5' in request
Thu Jan 27 14:39:02 2000: DEBUG: Radius::AuthFILE REJECT: Check item NAS-IP-Address 
expression 'xxx.xxx.xxx.8' does not match 'xxx.xxx.xxx.5' in request
Thu Jan 27 14:39:02 2000: DEBUG: Radius::AuthFILE looks for match with DEFAULT2
Thu Jan 27 14:39:02 2000: DEBUG: Handling with Radius::AuthSYSTEM
Thu Jan 27 14:39:02 2000: DEBUG: getpwnam got user1, xxxxxxxxxxxxx, 56861, 1000, , 
Test User user1, Test User user1, /tmp, /bin/noshell
Thu Jan 27 14:39:02 2000: DEBUG: Radius::AuthSYSTEM looks for match with user1
Thu Jan 27 14:39:02 2000: DEBUG: Radius::AuthSYSTEM ACCEPT: 
Thu Jan 27 14:39:02 2000: DEBUG: Radius::AuthFILE ACCEPT: 
Thu Jan 27 14:39:02 2000: DEBUG: Access accepted for user1
Thu Jan 27 14:39:02 2000: DEBUG: Packet dump:
*** Sending to xxx.xxx.xxx.5 port 1028 ....
Code:       Access-Accept
Identifier: 252
Authentic:  gB<219><29><242><250><226><202><22>G<239><127>~<141>%<153>
Attributes:
        Service-Type = Framed-User
        Framed-Protocol = PPP
        Framed-Address = 255.255.255.254
        Framed-Netmask = 255.255.255.255
        Reply-Message = "choice: "
        Port-Limit = 1
        Idle-Timeout = 1200
        Session-Timeout = 28800

...

Thu Jan 27 14:39:03 2000: DEBUG: Packet dump:
*** Received from xxx.xxx.xxx.5 port 1028 ....
Code:       Access-Request
Identifier: 252
Authentic:  gB<219><29><242><250><226><202><22>G<239><127>~<141>%<153>
Attributes:
        User-Name = "user1"
        User-Password = ""
        NAS-IP-Address = xxx.xxx.xxx.5
        NAS-Port = 6
        NAS-Port-Type = Async
        Service-Type = Framed-User
        Framed-Protocol = PPP
        Connect-Info = "24000 LAPM/V42BIS"

Thu Jan 27 14:39:03 2000: INFO: Duplicate request id 252 received from xxx.xxx.xxx.5: 
ignored

...

Thu Jan 27 14:39:03 2000: DEBUG: Packet dump:
*** Received from xxx.xxx.xxx.5 port 1028 ....
Code:       Accounting-Request
Identifier: 253
Authentic:  <134><203>Y<3><251><4><208><135><173><0>~<172><238><128><198><142>
Attributes:
        Acct-Session-Id = "8E000A40"
        User-Name = "user1"
        NAS-IP-Address = xxx.xxx.xxx.5
        NAS-Port = 6
        NAS-Port-Type = Async
        Acct-Status-Type = Start
        Acct-Authentic = RADIUS
        Connect-Info = "24000 LAPM/V42BIS"
        Class = "trial"
        Service-Type = Framed-User
        Framed-Protocol = PPP
        Framed-IP-Address = xxx.xxx.xxx.48
        Acct-Delay-Time = 0

Thu Jan 27 14:39:03 2000: DEBUG: Check if Handler  should be used to handle this 
request
Thu Jan 27 14:39:03 2000: DEBUG: Handling request with Handler ''
Thu Jan 27 14:39:03 2000: DEBUG:  Adding session for user1, xxx.xxx.xxx.5, 6
Thu Jan 27 14:39:03 2000: DEBUG: Handling with Radius::AuthFILE
Thu Jan 27 14:39:03 2000: DEBUG: Accounting accepted
Thu Jan 27 14:39:03 2000: DEBUG: Packet dump:
*** Sending to xxx.xxx.xxx.5 port 1028 ....
Code:       Accounting-Response
Identifier: 253
Authentic:  <134><203>Y<3><251><4><208><135><173><0>~<172><238><128><198><142>
Attributes:

Thu Jan 27 14:39:03 2000: DEBUG: Packet dump:
*** Received from xxx.xxx.xxx.5 port 1028 ....
Code:       Access-Request
Identifier: 252
Authentic:  gB<219><29><242><250><226><202><22>G<239><127>~<141>%<153>
Attributes:
        User-Name = "user1"
        User-Password = ""
        NAS-IP-Address = xxx.xxx.xxx.5
        NAS-Port = 6
        NAS-Port-Type = Async
        Service-Type = Framed-User
        Framed-Protocol = PPP
        Connect-Info = "24000 LAPM/V42BIS"

Thu Jan 27 14:39:03 2000: INFO: Duplicate request id 252 received from xxx.xxx.xxx.5: 
ignored

Reply via email to