>[Update: fixed script so that it won't set incorrect attributes, but >problem persist] > >I'm trying to set up FreeRADIUS with rlm_perl module to have ability >to interoperate with our billing/provisioning system. > >FreeRADIUS version: > ># radiusd -v >radiusd: FreeRADIUS Version 1.1.7, for host amd64-portbld-freebsd6.3, >built on Jan 15 2009 at 18:36:52 > >Perl version: > ># perl -V >Summary of my perl5 (revision 5 version 8 subversion 8) configuration: > Platform: > osname=freebsd, osvers=6.3-rc2, archname=amd64-freebsd > > >We are using Juniper ERX-310 BRAS to terminate our customers and to >configure policies and so on, he need few attributes to be tagged. > >Here is what normal session should be like to: > >[ne...@nemo ~]$ radtest admin test 127.0.0.1 2 testing123 >Sending Access-Request of id 229 to 127.0.0.1 port 1812 > User-Name = "admin" > User-Password = "test" > NAS-IP-Address = 255.255.255.255 > NAS-Port = 2 >rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=127, length=126 > ERX-Qos-Profile-Name = "SP_Tele_Internet" > ERX-Qos-Parameters = "internet_tr_value 2097152" > Framed-IP-Address = 10.0.112.2 > Framed-IP-Netmask = 255.255.255.255 > ERX-Service-Statistics:1 = time-volume > ERX-Service-Activate:1 = "telesys(1048576)" > >Please note ERX-Service-Statistics:1 and ERX-Service-Activate:1 attributes. > >I have minimized code in Perl module to achieve this, to exclude any >possibility of our system influence: > >sub authorize { > if (($RAD_REQUEST{'User-Name'} eq 'admin') and >($RAD_REQUEST{'User-Password'} eq 'test')) { > $RAD_REPLY{'ERX-Service-Activate:1'} = 'telesys(1048576)'; > $RAD_REPLY{'ERX-Service-Statistics:1'} = 'time-volume'; > $RAD_REPLY{'ERX-Qos-Parameters'} = "internet_tr_value 2097152"; > $RAD_REPLY{'ERX-Qos-Profile-Name'} = "SP_Tele_Internet"; > $RAD_REPLY{'Framed-IP-Address'} = '10.0.112.2'; > $RAD_REPLY{'Framed-IP-Netmask'}= "255.255.255.255"; > return RLM_MODULE_OK; > }; >} > >Now let me to describe what happens. >When I restart radiusd and issue 1st radius Access-Request packet, it >returns attributes as expected. But the next one returns this: > >$ radtest admin test 127.0.0.1 2 testing123 >Sending Access-Request of id 32 to 127.0.0.1 port 1812 > User-Name = "admin" > User-Password = "test" > NAS-IP-Address = 255.255.255.255 > NAS-Port = 2 >rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=37, length=125 > ERX-Qos-Profile-Name = "SP_Tele_Internet" > ERX-Qos-Parameters = "internet_tr_value 2097152" > Framed-IP-Address = 10.0.112.2 > Framed-IP-Netmask = 255.255.255.255 > ERX-Service-Statistics:0 = time-volume > ERX-Service-Activate:0 = "telesys(1048576)" > >Please note ":0" after 2 last ERX-* attributes, which is a) incorrect, >b) in perl code it is clearly written as ":1". >
I can't replicate this in 2.1.3. Upgrade - it has been fixed. Ivan Kalik Kalik Informatika ISP - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html