Develop a mac application "DNS Lock" to lock the DNS settings.
Here are the steps the user will follow:
- user open the network preferences on his/her macbook and sets the DNS (or opens the mac application "DNS Lock" and sets the DNS)
- user opens the mac application "DNS Lock"
- he/she specifies the timer (in hours or minutes or days) for which the DNS settings cannot be changed on the laptop.
- after the user clicks "Start" button, DNS settings should be locked.
Core Requirements:
- when the software is in "locked" state, the user shouldn't be able to remove the timer or stop the timer in any way.
- the only way to change the DNS settings is to wait for the timer to expire.
- locking should remain even if the user restarts his/her laptop.
- application should not crash, shouldn't much affect the performance of network, CPU & battery usage i.e. it should be efficient overall
Deliverables:
- mac application (executable)
- documented source code
- a description of how to build the source code
- a description of the approach used
NOTE: it is acceptable that the user is able to changes the DNS settings during the locked state. But as soon as the user clicks on "Save" button, the "DNS Lock" app should rollback the settings again.