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