From bb55231cbd5153b952c3af776fda3b32de89af45 Mon Sep 17 00:00:00 2001 From: Zaid Abdulla Date: Thu, 15 Sep 2016 21:55:59 -0700 Subject: [PATCH] Remove obsolete custom commands sample files --- config/custom_commands-sample.json | 4 - .../greenpacket_frequencies.js | 210 ---------------- config/custom_commands/seowon_frequencies.js | 230 ------------------ 3 files changed, 444 deletions(-) delete mode 100644 config/custom_commands-sample.json delete mode 100644 config/custom_commands/greenpacket_frequencies.js delete mode 100644 config/custom_commands/seowon_frequencies.js diff --git a/config/custom_commands-sample.json b/config/custom_commands-sample.json deleted file mode 100644 index b83be0e..0000000 --- a/config/custom_commands-sample.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "seowon_frequencies" : "/^[0-9]+\\-SWU\\%2D9200\\-[0-9A-Z]+$/", - "greenpacket_frequencies" : "/^[0-9A-Z]+\\-DX350\\-[0-9A-Z]+$/" -} diff --git a/config/custom_commands/greenpacket_frequencies.js b/config/custom_commands/greenpacket_frequencies.js deleted file mode 100644 index 3aa17e9..0000000 --- a/config/custom_commands/greenpacket_frequencies.js +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Copyright 2013 Fanoos Telecom - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -var net = require('net'); -var PORT = 23; -var USERNAME = 'mt7109'; -var PASSWORD = 'wimax'; -var TIMEOUT = 5000; - -var FREQUENCIES_REGEX = /([0-9,]+)/ -var BANDWIDTHS_REGEX = /[0-9]+\-([0-9,]+)/ -var DEFAULT_BW_REGEX = /([0-9]+)\-[0-9,]+/ -var telnetConnect = function(host, callback) { - var client = net.connect(PORT, host, function() { - // enter username - telnetExecute(USERNAME, client, "Password: ", function(err, response) { - if (err) return callback(err); - // enter password - telnetExecute(PASSWORD, client, "\n# ", function(err, response) { - return callback(err); - }); - }); - }); - return client; -} - -var telnetExecute = function(command, connection, prompt, callback) { - var response = ''; - command += "\n"; - var listener = function(chunk) { - response += chunk.toString(); - if (response.slice(0 - prompt.length) == prompt) { - connection.removeListener('data', listener); - return callback(null, response.slice(command.length, 0 - prompt.length)); - } - }; - - var end = function() { - connection.removeListener('end', end); - return callback(null, response.slice(command.length)); - }; - - if (prompt) - connection.on('data', listener); - else - connection.on('end', end); - - if (command) - connection.write(command); -} - -var getDeviceIp = function(deviceId, callback) { - var db = require('../../lib/db'); - var URL = require('url'); - - db.devicesCollection.findOne({_id : deviceId}, {'InternetGatewayDevice.ManagementServer.ConnectionRequestURL._value' : 1}, function(err, device) { - var connectionRequestUrl = device.InternetGatewayDevice.ManagementServer.ConnectionRequestURL._value; - var url = URL.parse(connectionRequestUrl); - return callback(url.hostname); - }); -}; - -exports.init = function(deviceId, args, callback) { - return exports.get(deviceId, args, callback); -} - -exports.get = function(deviceId, args, callback) { - var currentFrequencies = []; - var currentBandwidths = []; - var defaultBandwidth = ''; - var final = []; - - getDeviceIp(deviceId, function(ip) { - var client = telnetConnect(ip, function(err) { - // get frequencies - telnetExecute("sncfg get WMX_FREQ_LIST", client, "\n# ", function(err, response) { - if (err) return callback(err); - currentFrequencies = FREQUENCIES_REGEX.exec(response)[1].split(',') - // get bandwidths - telnetExecute("sncfg get WMX_FREQ_BANDWDITH_FL", client, "\n# ", function(err, response) { - if (err) return callback(err); - currentBandwidths = BANDWIDTHS_REGEX.exec(response)[1].split(',') - defaultBandwidth = DEFAULT_BW_REGEX.exec(response)[1] - // generate freq/bw pairs string - for (var i = 0; i < currentFrequencies.length; i++) { - final.push(currentFrequencies[i] + ' ' + currentBandwidths[i]) - } - // log out - telnetExecute("exit", client, null, function(err, response) { - client.end(); - return callback(err, defaultBandwidth + '-' + final.join(',')); - }); - }); - }); - }); - - client.on("error", function(err) { - client.destroy(); - callback(err); - }); - - client.setTimeout(TIMEOUT, function() { - client.destroy(); - callback("timeout"); - }); - }); -}; - -var parsePairs = function(pairsString) { - var a = pairsString.split(','); - var f = []; - var b = []; - var l = []; - for (i in a) { - var sp = a[i].trim().split(' '); - f.push(parseInt(sp[0])); - b.push(parseFloat(sp[1])); - } - l.push(f.join(',')); - l.push(b.join(',')); - return l; -} - -exports.set = function(deviceId, args, callback) { - executeSet(deviceId, args, ['set'], callback); -}; - -exports.dset = function(deviceId, args, callback) { - executeSet(deviceId, args, ['dset'], callback); -}; - -exports.setdset = function(deviceId, args, callback) { - executeSet(deviceId, args, ['dset', 'set'], callback); -}; - -var executeSet = function(deviceId, args, method, callback) { - var tmp = args.split('-'); - var defaultBandwidth = tmp[0]; - var pairs = parsePairs(tmp[1]); - var frequenciesString = pairs[0]; - var bandwidthsString = pairs[1]; - - getDeviceIp(deviceId, function(ip) { - var client = telnetConnect(ip, function(err) { - var telnet_cmd = "sncfg " + method[0]; - telnetExecute(telnet_cmd + " WMX_FREQ_BANDWDITH_FL '" + defaultBandwidth + "-" + bandwidthsString + "'", client, "\n# ", function(err, response) { - if (err) return callback(err); - telnetExecute(telnet_cmd + " WMX_FREQ_LIST '" + frequenciesString + "'", client, "\n# ", function(err, response) { - if (err) return callback(err); - if (method.length > 1) { - telnet_cmd = "sncfg " + method[1]; - telnetExecute(telnet_cmd + " WMX_FREQ_BANDWDITH_FL '" + defaultBandwidth + "-" + bandwidthsString + "'", client, "\n# ", function(err, response) { - if (err) return callback(err); - telnetExecute(telnet_cmd + " WMX_FREQ_LIST '" + frequenciesString + "'", client, "\n# ", function(err, response) { - if (err) return callback(err); - telnetExecute("sncfg commit", client, "\n# ", function(err, response) { - if (err) return callback(err); - // log out - telnetExecute("exit", client, null, function(err, response) { - client.end(); - return callback(null, args); - }); - }); - }); - }); - } - else { - telnetExecute("sncfg commit", client, "\n# ", function(err, response) { - if (err) return callback(err); - // log out - telnetExecute("exit", client, null, function(err, response) { - client.end(); - return callback(null, args); - }); - }); - } - }); - }); - }); - - client.on("error", function(err) { - client.destroy(); - callback(err); - }); - - client.setTimeout(TIMEOUT, function() { - client.destroy(); - callback("timeout"); - }); - }); -}; diff --git a/config/custom_commands/seowon_frequencies.js b/config/custom_commands/seowon_frequencies.js deleted file mode 100644 index 93e8666..0000000 --- a/config/custom_commands/seowon_frequencies.js +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Copyright 2013 Fanoos Telecom - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -// Change frequency plans for Seowon devices. -// Args format: 3532500 5000,3537500 5000,3542500 5000,3547500 5000,3552500 5000,3557500 5000,3505000 10000,3515000 10000,3525000 10000,3535000 10000,3545000 10000,3555000 10000 -var net = require('net'); -var PORT = 23; -var USERNAME = 'admin'; -var PASSWORD = 'admin'; -var TIMEOUT = 5000; - -var FREQUENCIES_REGEX = /\s*([\d]+)\.\s*Frequency\s*:\s*([\d]+)\s\(KHz\),\s*Bandwidth\s*:\s*([\d\.]+)\s*\(MHz\)/gm - -var telnetConnect = function(host, callback) { - var client = net.connect(PORT, host, function() { - // enter username - telnetExecute(USERNAME, client, "Password: ", function(err, response) { - if (err) return callback(err); - // enter password - telnetExecute(PASSWORD, client, "MT7109> ", function(err, response) { - return callback(err); - }); - }); - }); - return client; -} - -var telnetExecute = function(command, connection, prompt, callback) { - var response = ''; - command += "\n"; - var listener = function(chunk) { - response += chunk.toString(); - if (response.slice(0 - prompt.length) == prompt) { - connection.removeListener('data', listener); - return callback(null, response.slice(command.length, 0 - prompt.length)); - } - }; - - var end = function() { - connection.removeListener('end', end); - return callback(null, response.slice(command.length)); - }; - - if (prompt) - connection.on('data', listener); - else - connection.on('end', end); - - if (command) - connection.write(command); -} - -var parseFrequencies = function(frequenciesString) { - var a = frequenciesString.split(','); - var l = []; - for (i in a) { - var sp = a[i].trim().split(' '); - var frequency = parseInt(sp[0]); - var bandwidth = parseFloat(sp[1]); - l.push([frequency, bandwidth]); - } - return l; -} - -var findFrequency = function(haystack, needle) { - for (i in haystack) { - if (haystack[i][0] == needle[0] && haystack[i][1] == needle[1]) - return i; - } - return -1; -} - -var getDeviceIp = function(deviceId, callback) { - var db = require('../../lib/db'); - var URL = require('url'); - - db.devicesCollection.findOne({_id : deviceId}, {'InternetGatewayDevice.ManagementServer.ConnectionRequestURL._value' : 1}, function(err, device) { - var connectionRequestUrl = device.InternetGatewayDevice.ManagementServer.ConnectionRequestURL._value; - var url = URL.parse(connectionRequestUrl); - return callback(url.hostname); - }); -}; - -exports.init = function(deviceId, args, callback) { - return exports.get(deviceId, args, callback); -}; - -exports.get = function(deviceId, args, callback) { - var currentFrequencies = []; - - getDeviceIp(deviceId, function(ip) { - var client = telnetConnect(ip, function(err) { - // enter privileged mode - telnetExecute("enable", client, "MT7109# ", function(err, response) { - if (err) return callback(err); - // show frequencies - telnetExecute("show wmx freq", client, "MT7109# ", function(err, response) { - if (err) return callback(err); - while (f = FREQUENCIES_REGEX.exec(response)) { - var frequency = parseInt(f[2]); - var bandwidth = Math.floor(parseFloat(f[3]) * 1000); - var freqStr = String(frequency) + ' ' + String(bandwidth); - currentFrequencies.push(freqStr); - } - // log out - telnetExecute("logout", client, null, function(err, response) { - client.end(); - return callback(err, currentFrequencies.join(',')); - }); - }); - }); - }); - - client.on("error", function(err) { - client.destroy(); - callback(err); - }); - - client.setTimeout(TIMEOUT, function() { - client.destroy(); - callback("timeout"); - }); - }); -}; - -exports.set = function(deviceId, args, callback) { - var newFrequencies = parseFrequencies(args); - var addFrequencies = []; - var delFrequencies = []; - - getDeviceIp(deviceId, function(ip) { - var client = telnetConnect(ip, function(err) { - // enter privileged mode - telnetExecute("enable", client, "MT7109# ", function(err, response) { - if (err) return callback(err); - // show frequencies - telnetExecute("show wmx freq", client, "MT7109# ", function(err, response) { - if (err) return callback(err); - while (f = FREQUENCIES_REGEX.exec(response)) { - var index = parseInt(f[1]); - var frequency = parseInt(f[2]); - var bandwidth = Math.floor(parseFloat(f[3])); - - var i = findFrequency(newFrequencies, [frequency, bandwidth * 1000]); - if (i == -1) - delFrequencies.push(index); - else - newFrequencies.splice(i, 1); - } - for (f in newFrequencies) - addFrequencies.push(newFrequencies[f]); - - if (addFrequencies.length == 0 && delFrequencies.length == 0) { - // log out - telnetExecute("logout", client, null, function(err, response) { - client.end(); - return callback(err, args); - }); - return; - } - - telnetExecute("wimax", client, "MT7109 (WiMax)# ", function(err, response) { - if (err) return callback(err); - var add, del; - del = function() { - if (delFrequencies.length == 0) { - add(); - return; - } - var i = delFrequencies.pop(); - telnetExecute("wmx freq del " + i, client, "MT7109 (WiMax)# ", function(err, response) { - if (err) return callback(err); - del(); - }); - }; - add = function() { - if (addFrequencies.length == 0) { - // commit - telnetExecute("commit", client, "MT7109 (WiMax)# ", function(err, response) { - if (err) return callback(err); - // log out - telnetExecute("logout", client, null, function(err, response) { - client.end(); - return callback(null, args); - }); - }); - return; - } - var i = addFrequencies.pop(); - telnetExecute("wmx freq add " + i[0] + ' ' + i[1]/1000, client, "MT7109 (WiMax)# ", function(err, response) { - if (err) return callback(err); - add(); - }); - }; - del(); - }); - }); - }); - }); - - client.on("error", function(err) { - client.destroy(); - callback(err); - }); - - client.setTimeout(TIMEOUT, function() { - client.destroy(); - callback("timeout"); - }); - }); -};