Parse wpa_supplicant file

This commit is contained in:
mmcwilliams 2017-12-31 23:45:40 -05:00
parent 2c3b4408fb
commit 15ded20735
2 changed files with 28 additions and 5 deletions

View File

@ -71,8 +71,6 @@ function onWifiWrite (data, offset, withoutResponse, callback) {
result = bleno.Characteristic.RESULT_UNLIKELY_ERROR
return callback(result)
}
console.log(hash)
console.log(plaintext)
return wifi.setNetwork(ssid, plaintext, hash, (err, data) => {
if (err) {
log.error('Error configuring wifi', err)

View File

@ -57,13 +57,18 @@ class Wifi {
* @param {string} data Contents of the config file
*/
_readConfigCb (err, data) {
let parsed
if (err) {
console.error(err)
return _cb(err)
}
console.dir(data)
parsed = this._parseConfig(data)
console.dir(parsed)
console.log(data)
console.log(data.search(networkPattern))
console.log(_entry)
if (data.search(networkPattern) === -1) {
data += `\n${_entry}`
} else {
@ -117,8 +122,28 @@ class Wifi {
//this._callback(null, { ssid : ssid, pwd : pwd.length })
_cb = () => {}
}
_parseConfig () {
_parseConfig (str) {
const networks = []
const lines = str.split('\n')
let network = {}
for (let line of lines) {
if (line.indexOf('network={') !== -1) {
network = {}
network.raw = line
} else if (line.indexOf('ssid=') !== -1) {
network.ssid = line.replace('ssid=', '').trim().replace(quoteRe, '')
if (network.raw) {
network.raw += '\n' + line
}
} else if (line.indexOf('}') !== -1) {
network.raw += '\n' + line
networks.push(network)
network = {}
} else if (network.ssid) {
network.raw += '\n' + line
}
}
return networks
}
/**
* Create sanitized wpa_supplicant.conf stanza for