try putting them in perenthesis re:
$RAD_REPLY{'Recv-Limit'} = ($BytesAvail - $BytesUsed);
$RAD_REPLY{'Xmit-Limit'} = ($BytesAvail - $BytesUsed);
The array may be adding the data in as a string.
On Tue, 2005-03-22 at 20:13, Chris Knipe wrote:
> Lo all,
>
> This has been to the perl mailing lists as well, there is nothing wrong with
> the code as far as every one knows... rlm_perl just doesn't like this for
> some reason....
>
> Snipets of the script in question:
> $RAD_REPLY{'Acct-Interim-Interval'} = "300";
> $RAD_REPLY{'MS-MPPE-Encryption-Policy'} = "1";
> $RAD_REPLY{'MS-MPPE-Encryption-Types'} = "LS";
> $RAD_REPLY{'Rate-Limit'} = "256k/512k";
> $RAD_REPLY{'Recv-Limit'} = $BytesAvail - $BytesUsed;
> $RAD_REPLY{'Xmit-Limit'} = $BytesAvail - $BytesUsed;
> $RAD_REPLY{'Reply-Message'} = "You have " .
> $za->format_bytes($BytesAvail - $BytesUsed) . " available.";
> $RAD_REPLY{'Session-Timeout'} = "86400";
>
> Righty. From the above, EVERYTHING gets returned (radiusd -X reports that
> rlm_perl added the values) with the EXCEPTION of Recv-Limit and Xmit-Limit.
> *IF* I add physical values to Recv-Limit, Xmit-Limit, then radiusd -X finds
> the attributes and add them to the reply packet.
>
> So basically:
> $RAD_REPLY{'Recv-Limit'} = $BytesAvail - $BytesUsed;
> $RAD_REPLY{'Xmit-Limit'} = $BytesAvail - $BytesUsed;
> doesn't work
> $RAD_REPLY{'Recv-Limit'} = 23423424;
> $RAD_REPLY{'Xmit-Limit'} = 23234242;
> works
>
> Strange as well, is that format_bytes successfully completes the formating
> and the calculation. Thus, there is also nothing wrong in my code. A
> further test I did to verify my code, which also worked (and not on FR -
> rlm_perl):
>
> <snip>
> #!/usr/bin/perl
>
> use strict;
> use warnings;
>
> use Data::Dumper 'Dumper';
>
> my( $BytesAvail, $BytesUsed ) = (20971521, 1);
>
> {
> my %RAD_REPLY;
> $RAD_REPLY{'Recv-Limit'} = "20971520";
> $RAD_REPLY{'Xmit-Limit'} = "20971520";
> print Dumper \%RAD_REPLY;
> }
>
>
>
> {
> my %RAD_REPLY;
> $RAD_REPLY{'Recv-Limit'} = $BytesAvail - $BytesUsed;
> $RAD_REPLY{'Xmit-Limit'} = $BytesAvail - $BytesUsed;
> print Dumper \%RAD_REPLY;
> }
>
> __END__
> </snip>
>
> also works flawlessly.....
>
> Hope someone can give me some clarification.....
>
> --
> Chris.
>
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html