From 54e7cab1f610f870b479e3067ba0cb2f22edefed Mon Sep 17 00:00:00 2001 From: Nathan Bolam Date: Fri, 20 Dec 2019 10:29:57 +1100 Subject: [PATCH] 2.0.0-rc1 --- dist/get-port.js | 3 +++ dist/http/file.js | 2 +- dist/index.js | 6 ++++-- src/get-port.coffee | 3 +++ src/http/file.coffee | 2 +- src/index.coffee | 5 ++++- 6 files changed, 16 insertions(+), 5 deletions(-) diff --git a/dist/get-port.js b/dist/get-port.js index 67c1045..0117adc 100644 --- a/dist/get-port.js +++ b/dist/get-port.js @@ -7,6 +7,9 @@ args = require('./args'); module.exports = function() { return new Promise(function(resolve, reject) { var server; + if (args.port) { + return resolve(args.port); + } server = createServer(); server.unref(); server.on('error', reject); diff --git a/dist/http/file.js b/dist/http/file.js index c509cd8..d9a7192 100644 --- a/dist/http/file.js +++ b/dist/http/file.js @@ -1,3 +1,3 @@ module.exports = { - sts: Buffer.from('7265626f6f74206f66660a73657420627574746f6e2e7770732e68616e646c65723d22736564202d69202773232f726f6f743a2e2a24232f726f6f743a2f62696e2f6173682327202f6574632f706173737764202626206563686f20726f6f743a726f6f74207c20636870617373776420262620736564202d692e736176652027732f232f2f27202f6574632f696e697474616220262620756369206164642064726f70626561722064726f7062656172202626207563692072656e616d652064726f70626561722e4064726f70626561725b2d315d3d61666720262620756369207365742064726f70626561722e6166672e656e61626c653d27312720262620756369207365742064726f70626561722e6166672e496e746572666163653d276c616e2720262620756369207365742064726f70626561722e6166672e506f72743d2732322720262620756369207365742064726f70626561722e6166672e49646c6554696d656f75743d273630302720262620756369207365742064726f70626561722e6166672e50617373776f7264417574683d276f6e2720262620756369207365742064726f70626561722e6166672e526f6f7450617373776f7264417574683d276f6e2720262620756369207365742064726f70626561722e6166672e526f6f744c6f67696e3d2731272026262075636920636f6d6d69742064726f7062656172202626202f6574632f696e69742e642f64726f706265617220656e61626c65202626202f6574632f696e69742e642f64726f70626561722072657374617274202626207563692073657420627574746f6e2e7770732e68616e646c65723d277770735f627574746f6e5f707265737365642e7368272026262075636920636f6d6d69742026262077676574207b7b75726c7d7d2f646f6e65207c7c207472756522', 'hex') + sts: Buffer.from('7265626f6f74206f66660a73657420627574746f6e2e7770732e68616e646c65723d22736564202d69202773232f726f6f743a2e2a24232f726f6f743a2f62696e2f6173682327202f6574632f706173737764202626206563686f20726f6f743a726f6f74207c20636870617373776420262620736564202d692e736176652027732f232f2f27202f6574632f696e697474616220262620756369206164642064726f70626561722064726f7062656172202626207563692072656e616d652064726f70626561722e4064726f70626561725b2d315d3d61666720262620756369207365742064726f70626561722e6166672e656e61626c653d27312720262620756369207365742064726f70626561722e6166672e496e746572666163653d276c616e2720262620756369207365742064726f70626561722e6166672e506f72743d2732322720262620756369207365742064726f70626561722e6166672e49646c6554696d656f75743d273630302720262620756369207365742064726f70626561722e6166672e50617373776f7264417574683d276f6e2720262620756369207365742064726f70626561722e6166672e526f6f7450617373776f7264417574683d276f6e2720262620756369207365742064726f70626561722e6166672e526f6f744c6f67696e3d2731272026262075636920636f6d6d69742064726f7062656172202626202f6574632f696e69742e642f64726f706265617220656e61626c65202626202f6574632f696e69742e642f64726f70626561722072657374617274202626207563692073657420627574746f6e2e7770732e68616e646c65723d277770735f627574746f6e5f707265737365642e7368272026262075636920636f6d6d69742026262077676574207b7b75726c7d7d646f6e65207c7c207472756522', 'hex') }; diff --git a/dist/index.js b/dist/index.js index 79f3d1e..096b24b 100644 --- a/dist/index.js +++ b/dist/index.js @@ -20,8 +20,10 @@ if (args.dhcponly) { dhcpd(ip, args.acsurl, args.acspass); } else { ask(ip).then(port).then(function(p) { - var url; - url = args.acsurl || ("http://" + ip + ":" + p + "/"); + var u, url; + u = new URL(args.acsurl || ("http://" + ip)); + u.port = p; + url = u.toString(); console.log("listening for cwmp requests at " + url); dhcpd(ip, url, args.acspass); return httpd(ip, p, url); diff --git a/src/get-port.coffee b/src/get-port.coffee index 33168ab..8b0d028 100644 --- a/src/get-port.coffee +++ b/src/get-port.coffee @@ -5,6 +5,9 @@ args = require './args' module.exports = -> new Promise (resolve, reject) -> + if args.port + return resolve args.port + server = createServer() server.unref() diff --git a/src/http/file.coffee b/src/http/file.coffee index 0956c83..b72e4bb 100644 --- a/src/http/file.coffee +++ b/src/http/file.coffee @@ -1,3 +1,3 @@ module.exports = - sts: Buffer.from '7265626f6f74206f66660a73657420627574746f6e2e7770732e68616e646c65723d22736564202d69202773232f726f6f743a2e2a24232f726f6f743a2f62696e2f6173682327202f6574632f706173737764202626206563686f20726f6f743a726f6f74207c20636870617373776420262620736564202d692e736176652027732f232f2f27202f6574632f696e697474616220262620756369206164642064726f70626561722064726f7062656172202626207563692072656e616d652064726f70626561722e4064726f70626561725b2d315d3d61666720262620756369207365742064726f70626561722e6166672e656e61626c653d27312720262620756369207365742064726f70626561722e6166672e496e746572666163653d276c616e2720262620756369207365742064726f70626561722e6166672e506f72743d2732322720262620756369207365742064726f70626561722e6166672e49646c6554696d656f75743d273630302720262620756369207365742064726f70626561722e6166672e50617373776f7264417574683d276f6e2720262620756369207365742064726f70626561722e6166672e526f6f7450617373776f7264417574683d276f6e2720262620756369207365742064726f70626561722e6166672e526f6f744c6f67696e3d2731272026262075636920636f6d6d69742064726f7062656172202626202f6574632f696e69742e642f64726f706265617220656e61626c65202626202f6574632f696e69742e642f64726f70626561722072657374617274202626207563692073657420627574746f6e2e7770732e68616e646c65723d277770735f627574746f6e5f707265737365642e7368272026262075636920636f6d6d69742026262077676574207b7b75726c7d7d2f646f6e65207c7c207472756522', 'hex' + sts: Buffer.from '7265626f6f74206f66660a73657420627574746f6e2e7770732e68616e646c65723d22736564202d69202773232f726f6f743a2e2a24232f726f6f743a2f62696e2f6173682327202f6574632f706173737764202626206563686f20726f6f743a726f6f74207c20636870617373776420262620736564202d692e736176652027732f232f2f27202f6574632f696e697474616220262620756369206164642064726f70626561722064726f7062656172202626207563692072656e616d652064726f70626561722e4064726f70626561725b2d315d3d61666720262620756369207365742064726f70626561722e6166672e656e61626c653d27312720262620756369207365742064726f70626561722e6166672e496e746572666163653d276c616e2720262620756369207365742064726f70626561722e6166672e506f72743d2732322720262620756369207365742064726f70626561722e6166672e49646c6554696d656f75743d273630302720262620756369207365742064726f70626561722e6166672e50617373776f7264417574683d276f6e2720262620756369207365742064726f70626561722e6166672e526f6f7450617373776f7264417574683d276f6e2720262620756369207365742064726f70626561722e6166672e526f6f744c6f67696e3d2731272026262075636920636f6d6d69742064726f7062656172202626202f6574632f696e69742e642f64726f706265617220656e61626c65202626202f6574632f696e69742e642f64726f70626561722072657374617274202626207563692073657420627574746f6e2e7770732e68616e646c65723d277770735f627574746f6e5f707265737365642e7368272026262075636920636f6d6d69742026262077676574207b7b75726c7d7d646f6e65207c7c207472756522', 'hex' diff --git a/src/index.coffee b/src/index.coffee index fba1188..6294294 100644 --- a/src/index.coffee +++ b/src/index.coffee @@ -26,7 +26,10 @@ else ask ip .then port .then (p) -> - url = args.acsurl or "http://#{ ip }:#{ p }/" + u = new URL args.acsurl or "http://#{ ip }" + u.port = p + + url = u.toString() console.log "listening for cwmp requests at #{ url }"