v1.0.3: Code stabilization, hashed psk handling, new commands
- New command: client.Disconnect
- New command: client.SelectNetwork
- client.AddOrUpdateNetwork also checks the SSID for a match
- client.Connect either calls EnableNetwork or SelectNetwork depending upon the enabled-ness of the network
- the wpa_supplication.conf now stores a hash of the passphrase rather than the raw string
Hashing passphrases...
Reading Stack Overflow, a lot of folks feel you gain no security in hashing this password over leaving the password plaintext.
I disagree, although I understand their argument, to a point.
They argue that WiFi uses the hashed password anyway, so an attacker could still use this to compromise your WiFi network.
This is true. However, security involves raising the bar as high as reasonably possible, not completely eliminating a threat. Given that more people can use a plain-text psk than a hashed psk, I argue that hashing the psk offers a slight improvement of security over leaving the password plaintext. Consequently, in this library, I've hashed the password when writing it to the configuration file.
However, make no mistake, it isn't a huge improvement to security here. I feel it offers at least some slight improvement to security for those interested in it.
client.Connect changes...
Otherwise, this release also fixes problems I observed when working with client.Connect, and offers a way to disconnect from the network should you need to explicitly do this (although I didn't subscribe to any messages regarding the disconnection, I just kicked it off). I found client connections troublesome where the interface already had a connection established.