From 734887b783322f6ae2f5e04f3d8cfa9c4b261410 Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 8 Dec 2011 21:42:06 +0000 Subject: [PATCH] select case of MAC address for export, #15478 --- FS/FS/part_export/broadband_sqlradius.pm | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/FS/FS/part_export/broadband_sqlradius.pm b/FS/FS/part_export/broadband_sqlradius.pm index dc117b05c..45f286f17 100644 --- a/FS/FS/part_export/broadband_sqlradius.pm +++ b/FS/FS/part_export/broadband_sqlradius.pm @@ -26,6 +26,11 @@ tie %options, 'Tie::IxHash', # type => 'checkbox', # label => 'Hide IP address on session reports', # }, + 'mac_case' => { + label => 'Export MAC address as', + type => 'select', + options => [ qw(uppercase lowercase) ], + }, 'mac_delimiter' => { label => 'Separate MAC address octets with', default => '-', @@ -71,10 +76,19 @@ END sub rebless { shift; } +sub _mac_format { + my $self = shift; + my $addr = shift; + if ( $self->option('mac_case',1) eq 'lowercase' ) { + $addr = lc($addr); + } + join( ($self->option('mac_delimiter',1) || ''), $addr =~ /../g ); +} + sub export_username { my($self, $svc_broadband) = (shift, shift); my $mac_addr = $svc_broadband->mac_addr; - join( ($self->option('mac_delimiter',1) || ''), $mac_addr =~ /../g ); + $self->_mac_format($svc_broadband->mac_addr); } sub radius_reply { @@ -92,9 +106,7 @@ sub radius_check { my $password_attrib = $conf->config('radius-password') || 'Password'; my %check; if ( $self->option('mac_as_password') ) { - my $mac_addr = $svc_broadband->mac_addr; - $check{$password_attrib} = - join( ($self->option('mac_delimiter',1) || ''), $mac_addr =~ /../g ); + $check{$password_attrib} = $self->_mac_format($svc_broadband->mac_addr); } elsif ( length( $self->option('radius_password',1)) ) { $check{$password_attrib} = $self->option('radius_password'); -- 2.11.0