From d135feca1171d03ce58618c852ff511cb6b78b01 Mon Sep 17 00:00:00 2001 From: nqb Date: Tue, 30 Nov 2021 08:00:05 +0100 Subject: [PATCH] set NAS-Port-Type to virtual when undef --- lib/pf/Switch/Ubiquiti/EdgeSwitch.pm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/lib/pf/Switch/Ubiquiti/EdgeSwitch.pm b/lib/pf/Switch/Ubiquiti/EdgeSwitch.pm index f2791f85d186..332c6a770649 100644 --- a/lib/pf/Switch/Ubiquiti/EdgeSwitch.pm +++ b/lib/pf/Switch/Ubiquiti/EdgeSwitch.pm @@ -20,6 +20,7 @@ use warnings; use pf::log; use base ('pf::Switch::Ubiquiti'); +use pf::util qw(clean_mac); use pf::constants; use pf::config qw( $WIRED_802_1X @@ -233,6 +234,25 @@ sub getVoipVsa { ); } +=item parseRequest + +=cut + +sub parseRequest { + my ( $self, $radius_request ) = @_; + + my $client_mac = ref($radius_request->{'Calling-Station-Id'}) eq 'ARRAY' + ? clean_mac($radius_request->{'Calling-Station-Id'}[0]) + : clean_mac($radius_request->{'Calling-Station-Id'}); + my $user_name = $self->parseRequestUsername($radius_request); + my $nas_port_type = ( defined($radius_request->{'NAS-Port-Type'}) ? $radius_request->{'NAS-Port-Type'} : "virtual" ); + my $port = $radius_request->{'NAS-Port'}; + my $eap_type = ( exists($radius_request->{'EAP-Type'}) ? $radius_request->{'EAP-Type'} : 0 ); + my $nas_port_id = ( defined($radius_request->{'NAS-Port-Id'}) ? $radius_request->{'NAS-Port-Id'} : undef ); + + return ($nas_port_type, $eap_type, $client_mac, $port, $user_name, $nas_port_id, undef, $nas_port_id); +} + =head1 AUTHOR Inverse inc.