Commit abd6879a authored by Ahmad Nemati's avatar Ahmad Nemati

init

parent 9e73cf2d
......@@ -4,13 +4,15 @@ let redis = require('./redis')
redis.init()
const secret = 'secret'; // Replace with your shared secret
const port = 1812; // Default RADIUS authentication port
const portAcc = 1813; // Default RADIUS authentication port
let reject = 'Access-Reject'
let accept = 'Access-Accept'
let maxConnection = 2
let maxConnection = 1
const server = dgram.createSocket('udp4');
const serverAuth = dgram.createSocket('udp4');
const serverAccounting = dgram.createSocket('udp4');
server.on('message', (msg, rinfo) => {
serverAuth.on('message', (msg, rinfo) => {
const packet = radius.decode({packet: msg, secret});
if (packet.code !== 'Access-Request') {
......@@ -29,12 +31,32 @@ server.on('message', (msg, rinfo) => {
doAuth(packet, user, rinfo)
});
server.on('listening', () => {
const address = server.address();
console.log('RADIUS server listening on port', address.port);
serverAuth.on('listening', () => {
const address = serverAuth.address();
console.log('RADIUS server Auth listening on port', address.port);
});
server.bind(port);
serverAccounting.on('message', (msg, rinfo) => {
const packet = radius.decode({packet: msg, secret});
console.log(packet)
if (packet.code !== 'Access-Request') {
console.error('Invalid packet type: ' + packet.code);
return;
}
});
serverAccounting.on('listening', () => {
const address = serverAccounting.address();
console.log('RADIUS server Accounting listening on port', address.port);
});
serverAccounting.bind(portAcc);
serverAuth.bind(port);
async function doAuth(packet, user, rinfo) {
let existsUser = authenticateUser(user.username)
......@@ -79,5 +101,5 @@ function sendResponsePacket(packet, rinfo, code) {
});
server.send(response, 0, response.length, rinfo.port, rinfo.address);
serverAuth.send(response, 0, response.length, rinfo.port, rinfo.address);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment