diff --git a/software/app.js b/software/app.js deleted file mode 100644 index c7aacdc..0000000 --- a/software/app.js +++ /dev/null @@ -1,111 +0,0 @@ -var net = require('net'); -var config = require('./config'); -var logger = require('./logger'); -var parser = require('./utils/ProtocolParser'); -var defines = require('./utils/defines'); -var cardAuth = require('./auth/cardAuth'); -var encoder = require('./utils/ProtocolBinarify'); -var local = require('./utils/LocalServer'); -var server = net.createServer(function(c) { //'connection' listener - var client = c.remoteAddress + ':' + c.remotePort; - logger({ - event: 'Client connected', - client: client, - reason: 'System', - }); - c.on('end', function() { - logger({ - event: 'Client disconnected', - client: client, - reason: 'System', - }); - local.removeListener('command', commandListener); - }).on('error', function(){ - c.end(); - local.removeListener('command', commandListener); - }); - var commandListener = function(command){ - switch(command){ - case defines.commands.doDoorOpen: - case defines.commands.doAlarmOff: - logger({ - event: defines.commands.map[command], - reason: 'root', - }); - c.write(encoder.command(command)); - break; - default: - //Not Allow - break; - } - } - local.on('command', commandListener); - c.pipe((new parser).on('packet', function(p){ - switch(p.type){ - case defines.event: - logger({ - event: defines.events.map[p.data.type], - client: client, - reason: 'Client', - }); - break; - case defines.request: - switch(p.data.type){ - case defines.requests.auth: - logger({ - event: 'Authenticating Card', - client: client, - reason: 'Client', - data: p.data.param, - }); - cardAuth(p.data.param, function(err, pass){ - if(err){ - logger({ - event: 'Error', - client: client, - reason: 'System', - err: err, - }); - c.write(encoder.response(defines.responses.natural)); - }else{ - if(pass !== null){ - logger({ - event: 'Auth Pass', - reason: pass, - }); - c.write(encoder.response(defines.responses.positive)); - }else{ - logger({ - event: 'Auth Deny', - reason: 'System', - identity: p.data.param, - }); - c.write(encoder.response(defines.responses.negative)); - } - } - }); - break; - default: - //What the hell? - break; - } - break; - default: - //What the hell? - break; - } - })); - -}); -server.listen(config.bindPort, function(){ //'listening' listener - logger("Card9 server started"); - local.create(config.sockFile, function(){ - process.setuid("nobody"); - }) -}).on('error', function(e){ - if(e.code == 'EADDRINUSE'){ - logger("Error: Address already in use, exiting...", function(){ - process.exit(1); - }); - } -}); \ No newline at end of file diff --git a/software/card9.js b/software/card9.js new file mode 100644 index 0000000..f10102a --- /dev/null +++ b/software/card9.js @@ -0,0 +1,112 @@ +var net = require('net'); +var config = require('./config'); +var logger = require('./logger'); +var parser = require('./utils/ProtocolParser'); +var defines = require('./utils/defines'); +var cardAuth = require('./auth/cardAuth'); +var encoder = require('./utils/ProtocolBinarify'); +var local = require('./utils/LocalServer'); +var server = net.createServer(function(c) { //'connection' listener + var client = c.remoteAddress + ':' + c.remotePort; + logger({ + event: 'Client connected', + client: client, + reason: 'System', + }); + c.on('end', function() { + logger({ + event: 'Client disconnected', + client: client, + reason: 'System', + }); + local.removeListener('command', commandListener); + }).on('error', function(){ + c.end(); + local.removeListener('command', commandListener); + }); + var commandListener = function(command){ + switch(command){ + case defines.commands.doDoorOpen: + case defines.commands.doAlarmOff: + logger({ + event: defines.commands.map[command], + reason: 'root', + }); + c.write(encoder.command(command)); + break; + default: + //Not Allow + break; + } + } + local.on('command', commandListener); + c.pipe((new parser).on('packet', function(p){ + switch(p.type){ + case defines.event: + logger({ + event: defines.events.map[p.data.type], + client: client, + reason: 'Client', + }); + break; + case defines.request: + switch(p.data.type){ + case defines.requests.auth: + logger({ + event: 'Authenticating Card', + client: client, + reason: 'Client', + data: p.data.param, + }); + cardAuth(p.data.param, function(err, pass){ + if(err){ + logger({ + event: 'Error', + client: client, + reason: 'System', + err: err, + }); + c.write(encoder.response(defines.responses.natural)); + }else{ + if(pass !== null){ + logger({ + event: 'Auth Pass', + reason: pass, + }); + c.write(encoder.response(defines.responses.positive)); + }else{ + logger({ + event: 'Auth Deny', + reason: 'System', + identity: p.data.param, + }); + c.write(encoder.response(defines.responses.negative)); + } + } + }); + break; + default: + //What the hell? + break; + } + break; + default: + //What the hell? + break; + } + })); + +}); +server.listen(config.bindPort, function(){ //'listening' listener + logger("Card9 server started"); + local.create(config.sockFile, function(){ + process.setuid("nobody"); + }) +}).on('error', function(e){ + if(e.code == 'EADDRINUSE'){ + logger("Error: Address already in use, exiting...", function(){ + process.exit(1); + }); + } +}); +module.exports = server; \ No newline at end of file