Trucation of octet attribute handled by rlm_perl
Hello everyone I am having a slight problem with rlm_perl and I would really appreciate any advice/help. I have a perl script which rlm_perl adds a value to the DHCP-Classless-Static-Route attribute something like this :- #### perl script snippets ############ ... my $route = pack('C7', split(/\,/, "16,172,16,10,0,0,2")); ... &radiusd::radlog(RADLOG_DEBUG, "packed data: " . unpack('H*', $route)); ... $RAD_REPLY{'DHCP-Classless-Static-Route'} = $route; ... ############################### ..but from the debug output I see that the attribute data is truncated at the first octet with value 00 :- ### freeradius -Xx snippets ######## ... Thu Feb 28 10:35:23 2013 : rlm_perl: packed data: 10ac100a000002 .... Thu Feb 28 10:35:23 2013 : Debug: rlm_perl: Added pair DHCP-Classless-Static-Route = ??? ... DHCP-Classless-Static-Route = 0x10ac100a .... ############################## Am I doing somthething daft, or is this a possible bug in rlm_perl? I am using freeradius 2.2.0.
All attributes in rlm_perl scripts should be text. rlm_perl convert them to text before function call and convert them from text after function return. So you should use $RAD_REPLY{'DHCP-Classless-Static-Route'} = '0x'.unpack('H*', $route); On 28.02.2013 11:05, Бен Томпсон wrote:
Hello everyone
I am having a slight problem with rlm_perl and I would really appreciate any advice/help.
I have a perl script which rlm_perl adds a value to the DHCP-Classless-Static-Route attribute something like this :-
#### perl script snippets ############ ... my $route = pack('C7', split(/\,/, "16,172,16,10,0,0,2")); ... &radiusd::radlog(RADLOG_DEBUG, "packed data: " . unpack('H*', $route)); ... $RAD_REPLY{'DHCP-Classless-Static-Route'} = $route; ... ###############################
Many thanks for you help. 2013/3/1 Iliya Peregoudov <iperegudov@cboss.ru>:
All attributes in rlm_perl scripts should be text. rlm_perl convert them to text before function call and convert them from text after function return. So you should use
$RAD_REPLY{'DHCP-Classless-Static-Route'} = '0x'.unpack('H*', $route);
On 28.02.2013 11:05, Бен Томпсон wrote:
Hello everyone
I am having a slight problem with rlm_perl and I would really appreciate any advice/help.
I have a perl script which rlm_perl adds a value to the DHCP-Classless-Static-Route attribute something like this :-
#### perl script snippets ############ ... my $route = pack('C7', split(/\,/, "16,172,16,10,0,0,2")); ... &radiusd::radlog(RADLOG_DEBUG, "packed data: " . unpack('H*', $route)); ... $RAD_REPLY{'DHCP-Classless-Static-Route'} = $route; ... ###############################
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
participants (2)
-
Iliya Peregoudov -
Бен Томпсон