diff --git a/html/pfappserver/lib/pfappserver/Form/Config/FilterEngines/RADIUSFilter.pm b/html/pfappserver/lib/pfappserver/Form/Config/FilterEngines/RADIUSFilter.pm index 48379b747e71..22ff1207dece 100644 --- a/html/pfappserver/lib/pfappserver/Form/Config/FilterEngines/RADIUSFilter.pm +++ b/html/pfappserver/lib/pfappserver/Form/Config/FilterEngines/RADIUSFilter.pm @@ -18,7 +18,7 @@ use HTML::FormHandler::Moose; use pf::constants::role qw(@ROLES); use pf::config qw(%Config); use pf::util::radius_dictionary qw($RADIUS_DICTIONARY); -use pf::constants::filters qw(@BASE_FIELDS @NODE_INFO_FIELDS @FINGERBANK_FIELDS @SWITCH_FIELDS @SECURITY_EVENT_FIELDS); +use pf::constants::filters qw(@BASE_FIELDS @NODE_INFO_FIELDS @FINGERBANK_FIELDS @SWITCH_FIELDS @SECURITY_EVENT_FIELDS @OWNER_FIELDS); extends 'pfappserver::Form::Config::FilterEngines'; with qw( pfappserver::Base::Form::Role::Help @@ -98,6 +98,7 @@ sub options_field_names { @FINGERBANK_FIELDS, @SWITCH_FIELDS, @SECURITY_EVENT_FIELDS, + @OWNER_FIELDS, ( map { "radius_request.$_" } ( @{$Config{radius_configuration}{radius_attributes} // []} diff --git a/lib/pf/radius.pm b/lib/pf/radius.pm index 121b28a15413..f4d8c51477ba 100644 --- a/lib/pf/radius.pm +++ b/lib/pf/radius.pm @@ -73,6 +73,7 @@ use pf::security_event; use pf::constants::security_event qw($LOST_OR_STOLEN); use pf::Redis; use pf::constants::eap_type qw($EAP_TLS $MS_EAP_AUTHENTICATION $EAP_PSK); +use pf::person; our $VERSION = 1.03; @@ -224,6 +225,7 @@ sub authorize { $args->{'ssid'} = $ssid; $args->{'node_info'} = $node_obj; $args->{'fingerbank_info'} = pf::node::fingerbank_info($mac, $node_obj); + $args->{'owner'} = person_view_simple($node_obj->{'pid'}); my $filter = pf::access_filter::radius->new; my $rule = $filter->test('preProcess', $args); if ($rule) { @@ -460,7 +462,8 @@ sub accounting { connection_sub_type => $connection_sub_type, radius_request => $radius_request, ssid => $ssid, - node_info => $node_obj + node_info => $node_obj, + owner => person_view_simple($node_obj->{'pid'}) }; my $filter = pf::access_filter::radius->new; my $rule = $filter->test($headers->{'X-FreeRADIUS-Server'}.".".$headers->{'X-FreeRADIUS-Section'}, $args); @@ -1079,8 +1082,8 @@ sub radius_filter { connection_sub_type => $connection_sub_type, radius_request => $radius_request, ssid => $ssid, - node_info => $node_obj - + node_info => $node_obj, + owner => person_view_simple($node_obj->{'pid'}), }; my $filter = pf::access_filter::radius->new; my $rule = $filter->test($scope, $args);