Whups - I spoke too soon.  It appears that this didn't solve anything 
after all.  Any other thoughts?

> 
> On Fri, 07 Jan 2000, Phil Freed wrote:
> > We have just put up the latest Radiator code, and have 
> > completely revamped our config to take advantage of the
> > nifty new stuff.  But we're having problems with accounting
> > packets.  Radiator gets the packets, but according to "snoop"
> > it never replies to them. 
> > 
> >    Note:  this means that the problem is _not_ with the NAS.
> >    It never gets any ACKs because Radiator isn't sending any.
> >    So the NAS (correctly) keeps resending the packets.
> > 
> > Here are the salient portions of our config.
> > 
> >   <Client xxxxx>
> >         Secret  xxxxx
> >         IgnoreAcctSignature
> >         DupInterval 0
> >   </Client>
> > 
> > The IgnoreAcctSignature and DupInterval lines are there 
> > for debugging only; they should go away when everything's 
> > working.
> > 
> >   # Handle All the Accounting requests
> >   <Handler Acct-Status-Type=/.+/>
> >         AcctLogFileName %L/%R%c-%Y%m%d
> >         AccountingHandled
> >   </Handler>
> > 
> > This is the first handler in the config file.
> > According to the log, it is properly intercepting
> > the accounting packets.
> > 
> > Finally, here is our PreClientHook:
> > 
> > sub{
> >   ## lc() the username and remove junk characters.
> >   ## If the user has entered a realm, normalize it.
> > 
> >   # We don't need to re-create this hash for every packet....
> >   if (!defined %main::loa_realm2class) {
> >     %main::loa_realm2class = (
> >                 'realm1'            =>  'class1',
> >                 'realm2'            =>  'class2',
> >                 'realm3'            =>  'class2',
> >                  : : :                   : : :
> >                 );
> >   }
> > 
> >   my $p = ${$_[0]};
> >   my ($user, $realm);
> >   ($user = lc $p->getUserName) =~ tr/[\\,*\$:'"\x00-\x20\x7F-\x1FF]//d;
> >   ($user, $realm) = split ('@', $user);
> > 
> >   if ($realm) {
> >     $realm = ( $main::loa_realm2class{$realm}  or  $realm);
> >     $p->changeUserName("$user\@$realm");
> >   }
> > }
> > 
> > ---------
> > 
> > And here is a bit from the log file.  The daemon has 
> > just been killed and restarted....
> > 
> > Fri Jan  7 01:25:40 2000: DEBUG: Reading users file /usr/local/etc/raddb/users.isdn
> > Fri Jan  7 01:25:40 2000: DEBUG: Reading users file /usr/local/etc/raddb/users.isdn
> > Fri Jan  7 01:25:42 2000: INFO: Server started
> > Fri Jan  7 01:25:43 2000: DEBUG: Packet dump:
> > *** Received from 209.113.155.4 port 1651 ....
> > Code:       Accounting-Request
> > Identifier: 36
> > Authentic:  <3><221>d<237><140><171><152><147>VKov<219>}<171><139>
> > Attributes:
> >         Acct-Session-Id = "1C002EBF"
> >         User-Name = "[EMAIL PROTECTED]"
> >         Client-Id = 216.41.76.18
> >         NAS-Port = 4
> >         NAS-Port-Type = Async
> >         Acct-Status-Type = Stop
> >         Acct-Session-Time = 1553
> >         Acct-Authentic = RADIUS
> >         Connect_Info = 858862128
> >         Acct-Input-Octets = 20479
> >         Acct-Output-Octets = 274291
> >         Called-Station-Id = "9783364950"
> >         Calling-Station-Id = "9787775389"
> >         Class = "cybertours.com"
> >         Acct-Terminate-Cause = ACCT_TERM_USER_REQUEST
> >         Livingston = "User Request - PPP Term Req"
> >         Service-Type = Framed-User
> >         Framed-Protocol = PPP
> >         Framed-IP-Address = 216.41.76.164
> >         Acct-Delay-Time = 10699
> >         Proxy-State = 
>8u<135><28><216>)L<18><4>$f<0>I\<221><174><31>P<204><141>&<165>}\<219><19
><217><174>
> > 
> > Fri Jan  7 01:25:43 2000: DEBUG: Check if Handler Acct-Status-Type=/.+/ should be 
>used to handl
e this request
> > Fri Jan  7 01:25:43 2000: DEBUG: dump:Code:       Accounting-Request
> > Identifier: 36
> > Authentic:  <3><221>d<237><140><171><152><147>VKov<219>}<171><139>
> > Attributes:
> >         Acct-Session-Id = "1C002EBF"
> >         User-Name = "[EMAIL PROTECTED]"
> >         Client-Id = 216.41.76.18
> 
> It looks to me like the regexp in your Handler is causing problems.
> 
> You might like to try this:
> 
> <Handler Request-Type = Accounting-Request>
>       ....
> </Handler>
> 
> Note that the Request-Type support is in the Radiator 2.14.1 patches area:
> 
> http://www.open.com.au/radiator/downloads/patches-2.14.1/patches.README
> 
> 6/9/99 Rolled the AddToReplyIfNotExist.patch into the base code. This code
> was contributed by Vincent Gillet <[EMAIL PROTECTED]>, and implemnets
> the AddToReplyIfNotExist parameter, which will append an attribute
> to a reply if and only if it the attribute is not already present.
> AlsoaAdded new check item Request-Type. This is mostly useful
> in Handlers, to allow you to trigger on different types of 
>  requests.
> Download AuthGeneric.pm and AttrVal.pm from here.
> 
> hth
> 
> Hugh
> 
> -- 
> Radiator: the most portable, flexible and configurable RADIUS server
> anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
> Platypus, Freeside, TACACS+, PAM, external, etc etc on Unix, Win95/8,
> NT, Rhapsody


Phil Freed <[EMAIL PROTECTED]>

===
Archive at http://www.thesite.com.au/~radiator/
To unsubscribe, email '[EMAIL PROTECTED]' with
'unsubscribe radiator' in the body of the message.

Reply via email to