Skip to content

Commit

Permalink
Remove built-in mDNS server.
Browse files Browse the repository at this point in the history
  • Loading branch information
mrstegeman committed May 15, 2020
1 parent 36aab81 commit 2d42c39
Show file tree
Hide file tree
Showing 11 changed files with 55 additions and 329 deletions.
1 change: 0 additions & 1 deletion .github/workflows/build.yml
Expand Up @@ -15,7 +15,6 @@ jobs:
matrix:
node-version: [
10,
12,
]
steps:
- uses: actions/checkout@v1
Expand Down
17 changes: 3 additions & 14 deletions config/default.js
Expand Up @@ -37,20 +37,9 @@ module.exports = {
},
settings: {
defaults: {
domain: {
localAccess: true,
mozillaTunnelService: true,
localControl: {
mdnsServiceType: 'http',
mdnsServiceName: 'Mozilla WebThings Gateway',
mdnsServiceDomain: os.hostname().split('.')[0],

mdnsTxt: {
desc: 'Web of Things Gateway',
protocol: 'http, https, Web Sockets',
power: '6 watts',
},
},
mdns: {
enabled: true,
domain: os.hostname().split('.')[0],
},
},
},
Expand Down
5 changes: 0 additions & 5 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion package.json
Expand Up @@ -44,7 +44,6 @@
"config": "^3.3.1",
"country-list": "^2.2.0",
"csv-parse": "^4.8.9",
"dnssd": "^0.4.1",
"express": "^4.17.1",
"express-fileupload": "^1.1.6",
"express-handlebars": "^4.0.3",
Expand Down
13 changes: 2 additions & 11 deletions src/app.js
Expand Up @@ -392,7 +392,6 @@ function startGateway() {

function gracefulExit() {
addonManager.unloadAddons();
mDNSserver.server.cleanup();
TunnelService.stop();
}

Expand Down Expand Up @@ -424,16 +423,8 @@ TunnelService.switchToHttps = () => {
// We check to see if mDNS should be setup in default mode, or has a previous
// user setup a unique domain. Then we start it.
mDNSserver.getmDNSstate().then((state) => {
try {
mDNSserver.getmDNSconfig().then((mDNSconfig) => {
console.log(`DNS config is: ${mDNSconfig.host}`);
mDNSserver.server.changeProfile(mDNSconfig);
mDNSserver.server.setState(state);
});
} catch (err) {
// if we failed to startup mDNS it's not the end of the world log it
// and carry on
console.error(`Service Discover failed to start with error: ${err}`);
if (platform.implemented('setMdnsServerStatus')) {
platform.setMdnsServerStatus(state);
}
});

Expand Down
40 changes: 26 additions & 14 deletions src/controllers/settings_controller.js
Expand Up @@ -198,13 +198,17 @@ SettingsController.put('/domain', auth, async (request, response) => {

try {
if (request.body.local.hasOwnProperty('localDNSname')) {
const requestDomainName = request.body.local.localDNSname;
await Settings.set('localDNSname', requestDomainName);
mDNSserver.server.setLocalDomain(requestDomainName);
if (!Platform.implemented('setHostname') ||
!Platform.setHostname(request.body.local.localDNSname)) {
response.sendStatus(500);
return;
}
} else if (request.body.local.hasOwnProperty('multicastDNSstate')) {
const requestState = request.body.local.multicastDNSstate;
await Settings.set('multicastDNSstate', requestState);
mDNSserver.server.setState(requestState);
if (!Platform.implemented('setMdnsServerStatus') ||
!Platform.setMdnsServerStatus(request.body.local.multicastDNSstate)) {
response.sendStatus(500);
return;
}
} else {
response.statusMessage = 'Invalid request.';
response.status(400).end();
Expand All @@ -220,17 +224,25 @@ SettingsController.put('/domain', auth, async (request, response) => {
port = config.get('ports.http');
}

const url = `${protocol}://${mDNSserver.server.localDomain}.local:${port}`;
const localDomainSettings = {localDomain: url,
update: true,
mDNSstate: mDNSserver.server.serviceState};
const domain = await mDNSserver.getmDNSdomain();
const state = await mDNSserver.getmDNSstate();
const url = `${protocol}://${domain}.local:${port}`;
const localDomainSettings = {
localDomain: url,
update: true,
mDNSstate: state,
};
response.status(200).json(localDomainSettings);
} catch (err) {
console.error(`Failed setting domain with: ${err} `);
const localDomainSettings = {localDomain: mDNSserver.server.localDomain,
update: false,
mDNSstate: mDNSserver.server.serviceState,
error: err.message};
const domain = await mDNSserver.getmDNSdomain();
const state = await mDNSserver.getmDNSstate();
const localDomainSettings = {
localDomain: domain,
update: false,
mDNSstate: state,
error: err.message,
};
response.status(400).json(localDomainSettings);
}
});
Expand Down

0 comments on commit 2d42c39

Please sign in to comment.