Hi!
I'm using PacketFence 9.0.1, and I'm getting an auth reject for IP Phones
that are re-authenticating using MAB. The first authentication goes without
any problems, but the next re-auth is rejected.
The RADIUS log shows:
User-Name = "24d9214bbc39"
User-Password = "******"
NAS-IP-Address = 172.x.x.x
NAS-Port = 50126
Service-Type = Call-Check
Framed-MTU = 1500
Called-Station-Id = "f0:9e:63:39:93:1a"
Calling-Station-Id = "24:d9:21:4b:bc:39"
Calling-Station-Id = "24-D9-21-4B-BC-39"
NAS-Port-Type = Ethernet
Event-Timestamp = "Dec 17 2019 05:10:59 -03"
Message-Authenticator = 0xf8a9bd5438e6df255a886aa1bb71e2d5
NAS-Port-Id = "GigabitEthernet1/0/26"
Cisco-AVPair = "audit-session-id=AC10746800005B10FBBDA5B9"
Cisco-NAS-Port = "GigabitEthernet1/0/26"
Stripped-User-Name = "24d9214bbc39"
Realm = "null"
FreeRADIUS-Client-IP-Address = 172.x.x.x
Module-Failure-Message = "rest: Server returned:"
Module-Failure-Message = "rest:
{\"control:PacketFence-Authorization-Status\":\"allow\",\"Reply-Message\":\"Authentication
failed on PacketFence\"}"
SQL-User-Name = "24d9214bbc39"
This is an Avaya IP Phone. Dot1X authentication works without any problems,
with Windows machines. I think that I'm hitting the same bug as this
thread:
https://marc.info/?l=packetfence-users&m=154954294209777&w=2
As you can see on the RADIUS log, the "Calling-Station-Id" is duplicated.
The Avaya phone is connected to a Cisco Switch:
Cisco IOS Software, C2960S Software (C2960S-UNIVERSALK9-M), Version
12.2(55)SE8, RELEASE SOFTWARE (fc2)
Is there any way to override/fix this problem without updating IOS on the
switch? I've tried to implement the patch that was posted on the thread
that I've found, but it didn't worked (patched API.PM only, as the other 2
files seems to be already patched in 9.0.1), but got a start error on the
web server.
[root@packetfence-01 pf]# diff api.pm api-fix-not.pm
1369c1369,1376
< if
(pf::util::valid_mac($remapped_radius_request{'Calling-Station-Id'})) {
---
> ## if
(pf::util::valid_mac($remapped_radius_request{'Calling-Station-Id'})) {
> if (ref($remapped_radius_request{'Calling-Station-Id'})) eq 'ARRAY')
{
> foreach my $callingStationId
(@{$remapped_radius_request{'Calling-Station-Id'}}) {
> if (pf::util::valid_mac($callingStationId)) {
> $return =
$class->radius_authorize(%remapped_radius_request);
> }
> }
> } elsif
(pf::util::valid_mac($remapped_radius_request{'Calling-Station-Id'})) {
1371c1378
< } else {
---
> } else {
Got this errors on the web server:
Dec 17 04:57:05 packetfence-01 pfqueue: pfqueue(6277) WARN: [mac:[undef]]
"my" variable %remapped_radius_request masks earlier declaration in same
scope at /usr/local/pf/lib/pf/api.pm line 1371.
(main::BEGIN)
Dec 17 04:57:05 packetfence-01 pfqueue: "my" variable
%remapped_radius_request masks earlier declaration in same scope at
/usr/local/pf/lib/pf/api.pm line 1371.
Dec 17 04:57:05 packetfence-01 pfqueue: BEGIN not safe after
errors--compilation aborted at /usr/local/pf/lib/pf/api.pm line 1371.
Dec 17 04:57:05 packetfence-01 pfqueue: Compilation failed in require at
/usr/local/pf/sbin/pfqueue line 47.
Dec 17 04:57:05 packetfence-01 pfqueue: BEGIN failed--compilation aborted
at /usr/local/pf/sbin/pfqueue line 47.
Thanks a lot for your help!!!
regards,
Francisco.
_______________________________________________
PacketFence-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/packetfence-users