Skip to content

Commit

Permalink
Added owner fields in radius filter
Browse files Browse the repository at this point in the history
  • Loading branch information
fdurand committed Apr 23, 2021
1 parent 0436266 commit 2d9ad16
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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} // []}
Expand Down
9 changes: 6 additions & 3 deletions lib/pf/radius.pm
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -228,6 +229,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) {
Expand Down Expand Up @@ -508,7 +510,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);
Expand Down Expand Up @@ -1127,8 +1130,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);
Expand Down

0 comments on commit 2d9ad16

Please sign in to comment.