Skip to content

Commit

Permalink
fix: Handle profile writing using a Promise to sync file write operation
Browse files Browse the repository at this point in the history
  • Loading branch information
Ichag committed Sep 20, 2022
1 parent f077236 commit e1560c3
Showing 1 changed file with 34 additions and 31 deletions.
65 changes: 34 additions & 31 deletions src/windows-connect.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const fs = require('fs');
const fs = require('fs').promises;
const execFile = require('child_process').execFile;
const env = require('./env');
const scan = require('./windows-scan');
Expand Down Expand Up @@ -46,45 +46,48 @@ function connectToWifi(config, givenAP, callback) {
return Promise.reject('SSID not found');
}

fs.writeFileSync(
fs.writeFile(
profileFilename,
win32WirelessProfileBuilder(
resolvedAP,
givenAP.password,
givenAP.isHidden
)
);
return execCommand('netsh', [
'wlan',
'add',
'profile',
`filename=${profileFilename}`
])
)
.then(() => {
const cmd = 'netsh';
const params = [
return execCommand('netsh', [
'wlan',
'connect',
`ssid="${givenAP.ssid}"`,
`name="${givenAP.ssid}"`
];
if (config.iface) {
params.push(`interface="${config.iface}"`);
}
return execCommand(cmd, params);
'add',
'profile',
`filename=${profileFilename}`
])
.then(() => {
const cmd = 'netsh';
const params = [
'wlan',
'connect',
`ssid="${givenAP.ssid}"`,
`name="${givenAP.ssid}"`
];
if (config.iface) {
params.push(`interface="${config.iface}"`);
}
return execCommand(cmd, params);
})
.then(() => execCommand(`del ${profileFilename}`))
.then(() => callback && callback())
.catch(err => {
execFile(
'netsh',
['wlan', 'delete', `profile "${givenAP.ssid}"`],
{ env },
() => {
callback && callback(err);
}
);
});
})
.then(() => execCommand(`del ${profileFilename}`))
.then(() => callback && callback())
.catch(err => {
execFile(
'netsh',
['wlan', 'delete', `profile "${givenAP.ssid}"`],
{ env },
() => {
callback && callback(err);
}
);
});
.catch(e => Promise.reject(e));
})
.catch(e => Promise.reject(e));
}
Expand Down

0 comments on commit e1560c3

Please sign in to comment.