Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate & possibly implement mass download of wifi networks and their passwords. #16

Open
keithrbennett opened this issue Jul 5, 2018 · 0 comments

Comments

@keithrbennett
Copy link
Owner

Being able to report all saved wifi networks and their passwords would be great. After doing that, and saving them to a file, one could safely remove all preferred networks, and still always be able to log into all past networks (by consulting the saved list).

Until now, I thought it would be necessary to type in the password for each network, but I saw that the security command has an unlock keychain command. Using this it might be possible to produce a mass download of the passwords.

Assuming this is possible, we would want to be really sure we do not leave the keychain in an unlocked state. Ways to handle this might include using ensure to re-lock it, query it after done to verify, and, in case the program is terminated before it completes, print out a serious warning message before starting the whole operation.

Steps:

  1. Investigate the security command and test unlocking and relocking the keychain. If this does not work, terminate working on this issue.
  2. Write a method that outputs a dire warning, unlocks the keychain, executes a passed block, and then closes the keychain in an ensure clause. Signature should be something like this: with_unlocked_keychain(keychain_name).
  3. Exercise this method by iterating over the saved network names, getting the passwords (some will not have a password).
  4. Determine best way to fit this in to the user interface.
  5. Implement this all in code.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant