projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
adding export to read mailbox status information, RT#15987
[freeside.git]
/
FS
/
FS
/
part_export
/
broadband_sqlradius.pm
diff --git
a/FS/FS/part_export/broadband_sqlradius.pm
b/FS/FS/part_export/broadband_sqlradius.pm
index
9b6fbec
..
45f286f
100644
(file)
--- a/
FS/FS/part_export/broadband_sqlradius.pm
+++ b/
FS/FS/part_export/broadband_sqlradius.pm
@@
-26,6
+26,15
@@
tie %options, 'Tie::IxHash',
# type => 'checkbox',
# label => 'Hide IP address on session reports',
# },
# 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 => '-',
+ },
'mac_as_password' => {
type => 'checkbox',
default => '1',
'mac_as_password' => {
type => 'checkbox',
default => '1',
@@
-67,9
+76,19
@@
END
sub rebless { shift; }
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);
sub export_username {
my($self, $svc_broadband) = (shift, shift);
- $svc_broadband->mac_addr;
+ my $mac_addr = $svc_broadband->mac_addr;
+ $self->_mac_format($svc_broadband->mac_addr);
}
sub radius_reply {
}
sub radius_reply {
@@
-87,7
+106,7
@@
sub radius_check {
my $password_attrib = $conf->config('radius-password') || 'Password';
my %check;
if ( $self->option('mac_as_password') ) {
my $password_attrib = $conf->config('radius-password') || 'Password';
my %check;
if ( $self->option('mac_as_password') ) {
- $check{$password_attrib} = $s
vc_broadband->mac_addr; #formatting?
+ $check{$password_attrib} = $s
elf->_mac_format($svc_broadband->mac_addr);
}
elsif ( length( $self->option('radius_password',1)) ) {
$check{$password_attrib} = $self->option('radius_password');
}
elsif ( length( $self->option('radius_password',1)) ) {
$check{$password_attrib} = $self->option('radius_password');