From 3a58c19c441c88dd22b60e7d5d06b7a63488aa5d Mon Sep 17 00:00:00 2001 From: Alex Rennie-Lis Date: Tue, 9 Apr 2024 13:26:55 +0100 Subject: [PATCH] Added session duration handling --- code/index.js | 2 ++ code/lib/handlers.js | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/code/index.js b/code/index.js index b7bfad4..ad9b368 100644 --- a/code/index.js +++ b/code/index.js @@ -30,6 +30,7 @@ catch (error) { client_secret: "password", default_vlan_enabled: false, mac_auth_only: false + session_duration: 60 } } if (process.env['NETRADIUS_PORT_RADIUS_AUTH']) config.ports.radius_authentication = process.env['NETRADIUS_PORT_RADIUS_AUTH']; @@ -40,6 +41,7 @@ if (process.env['NETRADIUS_DEFAULT_VLAN']) config.default_vlan_enabled = process if (process.env['NETRADIUS_DEFAULT_VLAN_ID']) config.default_vlan_id = process.env['NETRADIUS_DEFAULT_VLAN_ID']; if (process.env['NETRADIUS_CLIENT_SECRET']) config.client_secret = process.env['NETRADIUS_CLIENT_SECRET']; if (process.env['NETRADIUS_MAC_AUTH_ONLY']) config.mac_auth_only = process.env['NETRADIUS_MAC_AUTH_ONLY']; +if (process.env['NETRADIUS_SESSION_DURATION']) config.session_duration = process.env['NETRADIUS_SESSION_DURATION']; // Set defaults if (!config.ports.radius_authentication) config.ports.radius_authentication = 1812; diff --git a/code/lib/handlers.js b/code/lib/handlers.js index 90bbdda..a4ed61c 100644 --- a/code/lib/handlers.js +++ b/code/lib/handlers.js @@ -18,6 +18,7 @@ module.exports = { } var user = data.authUser (username, password); var vlan = false; + var code = 'Access-Reject'; if (user) { log.write (username + " access granted to VLAN " + user.vlan); code = 'Access-Accept'; @@ -42,7 +43,8 @@ module.exports = { attributes: { "Tunnel-Medium-Type": 6, "Tunnel-Type": 13, - "Tunnel-Private-Group-Id": vlan + "Tunnel-Private-Group-Id": vlan, + "Session-Timeout": config.radius.session_duration || 60 } }); callback (response, null);