From b5727f0e807de138edfcd3aa9c7b7c29da39cfb1 Mon Sep 17 00:00:00 2001 From: Robert Anderson <randerson@lbsd.net> Date: Wed, 2 Sep 2009 08:02:08 +0000 Subject: [PATCH] Updated terminate cause as per RFC 2866 Fixed incorrect row name when fetching terminate cause --- .../include/ajax/functions/AdminUserLogs.php | 2 +- .../include/ajax/functions/WiSPUserLogs.php | 2 +- webgui/include/radiuscodes.php | 64 ++++++++++++------- webui/user/include/radiuscodes.php | 64 ++++++++++++------- 4 files changed, 82 insertions(+), 50 deletions(-) diff --git a/webgui/include/ajax/functions/AdminUserLogs.php b/webgui/include/ajax/functions/AdminUserLogs.php index 0d11e94b..251a4a6f 100644 --- a/webgui/include/ajax/functions/AdminUserLogs.php +++ b/webgui/include/ajax/functions/AdminUserLogs.php @@ -401,7 +401,7 @@ function getAdminUserLogs($params) { $item['AcctInputMbyte'] = $acctInputMbyte; $item['AcctOutputMbyte'] = $acctOutputMbyte; $item['AcctSessionTime'] = $acctSessionTime; - $item['ConnectTermReason'] = strRadiusTermCode($row->servicetype); + $item['ConnectTermReason'] = strRadiusTermCode($row->acctterminatecause); # Push this row onto main array array_push($resultArray,$item); diff --git a/webgui/include/ajax/functions/WiSPUserLogs.php b/webgui/include/ajax/functions/WiSPUserLogs.php index c8ffd4c0..d2d6b5f1 100644 --- a/webgui/include/ajax/functions/WiSPUserLogs.php +++ b/webgui/include/ajax/functions/WiSPUserLogs.php @@ -400,7 +400,7 @@ function getWiSPUserLogs($params) { $item['AcctInputMbyte'] = $acctInputMbyte; $item['AcctOutputMbyte'] = $acctOutputMbyte; $item['AcctSessionTime'] = $acctSessionTime; - $item['ConnectTermReason'] = strRadiusTermCode($row->servicetype); + $item['ConnectTermReason'] = strRadiusTermCode($row->acctterminatecause); # Push this row onto main array array_push($resultArray,$item); diff --git a/webgui/include/radiuscodes.php b/webgui/include/radiuscodes.php index a66697a8..64a5c898 100644 --- a/webgui/include/radiuscodes.php +++ b/webgui/include/radiuscodes.php @@ -23,38 +23,54 @@ function strRadiusTermCode($errCode) { if (is_numeric($errCode)) { - + # Terminate codes RFC 2866 switch ($errCode) { - case 0: - return "Still logged in"; - case 45: # Unknown - case 46: # Unknown - case 63: # Unknown case 1: - return "User request"; + return "User Request"; case 2: - case 816: # TCP connection reset? unknown - return "Carrier loss"; + return "Lost Carrier"; + case 3: + return "Lost Service"; + case 4: + return "Idle Timeout"; case 5: - return "Session timeout"; - case 6: # Admin reset - case 10: # NAS request - case 11: # NAS reboot - case 831: # NAS request? unknown - case 841: # NAS request? unknown - return "Router reset/reboot"; - case 8: # Port error - return "Port error"; - case 180: # Unknown - return "Local hangup"; - case 827: # Unknown - return "Service unavailable"; + return "Session Timeout"; + case 6: + return "Admin Reset"; + case 7: + return "Admin Reboot"; + case 8: + return "Port Error"; + case 9: + return "NAS Error"; + case 10: + return "NAS Request"; + case 11: + return "NAS Reboot"; + case 12: + return "Port Unneeded"; + case 13: + return "Port Preempted"; + case 14: + return "Port Suspended"; + case 15: + return "Service Unavailable"; + case 16: + return "Callback"; + case 17: + return "User Error"; + case 18: + return "Host Request"; default: return "Unkown"; } - } else { - return "Unknown"; + switch ($errCode) { + case NULL: + return "Still logged in"; + default: + return "Unkown"; + } } } diff --git a/webui/user/include/radiuscodes.php b/webui/user/include/radiuscodes.php index a66697a8..64a5c898 100644 --- a/webui/user/include/radiuscodes.php +++ b/webui/user/include/radiuscodes.php @@ -23,38 +23,54 @@ function strRadiusTermCode($errCode) { if (is_numeric($errCode)) { - + # Terminate codes RFC 2866 switch ($errCode) { - case 0: - return "Still logged in"; - case 45: # Unknown - case 46: # Unknown - case 63: # Unknown case 1: - return "User request"; + return "User Request"; case 2: - case 816: # TCP connection reset? unknown - return "Carrier loss"; + return "Lost Carrier"; + case 3: + return "Lost Service"; + case 4: + return "Idle Timeout"; case 5: - return "Session timeout"; - case 6: # Admin reset - case 10: # NAS request - case 11: # NAS reboot - case 831: # NAS request? unknown - case 841: # NAS request? unknown - return "Router reset/reboot"; - case 8: # Port error - return "Port error"; - case 180: # Unknown - return "Local hangup"; - case 827: # Unknown - return "Service unavailable"; + return "Session Timeout"; + case 6: + return "Admin Reset"; + case 7: + return "Admin Reboot"; + case 8: + return "Port Error"; + case 9: + return "NAS Error"; + case 10: + return "NAS Request"; + case 11: + return "NAS Reboot"; + case 12: + return "Port Unneeded"; + case 13: + return "Port Preempted"; + case 14: + return "Port Suspended"; + case 15: + return "Service Unavailable"; + case 16: + return "Callback"; + case 17: + return "User Error"; + case 18: + return "Host Request"; default: return "Unkown"; } - } else { - return "Unknown"; + switch ($errCode) { + case NULL: + return "Still logged in"; + default: + return "Unkown"; + } } } -- GitLab