Implement network configuration in settings page of web server
|Status:||Closed||Start date:||24 Nov 2013|
|Category:||04 - Root File System|
|Severity:||04 - Low|
- Port bui-network-config file management into piboxd
- Define the piboxd protocol for passing data from the front end to the backend.
RM #251: Updated protocol to support request/reply for network configuration (re: settings page).
RM #251: Initial support (but incomplete) of web-based network configuration.
This supports loading network interface names and their configurations along
with DNS configuration (MA_GETIFLIST, MA_GETIF, MA_GETDNS).
RM #251: Add save handling for IPV4 page and network mode.
Add pop up dialog for messaging to user.
Changed Clear to Reset.
Handle mode setup on page load.
RM #251: Implement save functionality for IPV4 page and network mode.
Change use of "name" to "id" in appropriate places.
Add support for getting/setting network mode.
RM #251: Added support for saving IPV4 configuration and getting/setting network mode.
Added unit tests for new functionality.
Updated valgrind.sh to allow more detailed output.
Completed support for wireless client and access point pages.
RM #251: Fixed timed test script to allow running any set of tests provided by the unit test script.
RM #251: Completed support for get/set for wireless client and access point.
Added unit tests to validate this support.
Fixed minor memory leaks in stream handling.
Added missing test data file for testing access point support.
RM #251: Don't allow setting network config on remote browsers, only on a local host browser.
#1 Updated by Hammel about 7 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 10
#3 Updated by Hammel almost 7 years ago
- % Done changed from 10 to 20
I've started writing a new settings page with jQuery and idTabs (I may integrate jQueryUI later). From this I'm implementing the backend php to send a request to a modified piboxd which now has some stubs from bui-network-config. Unit tests show that piboxd is handling a new NET request correct and returning the list of available interfaces (the first stub implemented).I need to test that the php makes the proper request and gets back the data I expect from piboxd. I can do this by building new packages for:
Then testing that access to the web page causes generated of the proper list of interfaces in the new settings page.
#4 Updated by Hammel almost 7 years ago
- get a list of available interfaces
- get the configuration of each interface by name
- get the current dns configuration.
There is still much work to be done, but the UI for the IPV4 page is now complete. It just needs functions implemented for each feature/button.Next up:
- Fix Enable radio buttons to be set based on interface configuration.
- Implement clear button to clear visible fields.
- Implement save button to collect and submit field data.
#5 Updated by Hammel almost 7 years ago
- % Done changed from 20 to 90
Once this final addition is added this issue can be closed.
#6 Updated by Hammel almost 7 years ago
Updated index.html to support testing where the browser is located to determine which functions to provide. This works, but the display is not clean when running midori on the RPi. I still need to clean this up, either by fixing up the content or by using a different browser. I only have two browsers: midori and surf. Midori displays it incorrectly (radio and check buttons are misaligned) and surf crashes on it. I'll either need a different browser or figure out why midori doesn't work and/or surf crashes.
#8 Updated by Hammel almost 7 years ago
Latest surf requires a patch to remove a previously applied patch. Once that's done, I can build from git. This version doesn't crash. However, it displays the same problems that midori has. So this may just be a problem with my code. Specifically, it may be a problem with the css. I'll have to play with it to try and clean up the radio buttons on the wireless client and access point pages, as well as making the box around the mode buttons larger (or the font smaller).
Kind of sucks that this is the case. I don't have this problem on android or in Firefox. Looks like it may be a WebKit bug since both midori and surf are based on webkit. I may be able to verify by installing midori on my desktops but that will require hacking around the recent update to prevent the settings page from showing up on non-localhost browsers.
#9 Updated by Hammel almost 7 years ago
I found that I don't need to update midori. The problem was that midori interpreted the CSS for the checkbox fields differently than firefox. The fix was to apply a "width:100%" definition that applied only to text input and select fields, not to checkbox input fields. That fix is applied and pushed.
The bui-network-config UI is now ported to the piboxwww tree and and the backend code is ported to piboxd. All that's left is to switch from bui-network-config in the desktop menus to Midori (or Surf) launched to the localhost:2001 URL. Surf would be better since it doesn't give an option to move to a different URL.
#11 Updated by Hammel almost 7 years ago
- Status changed from In Progress to Closed
- % Done changed from 90 to 100
Verified implemented and working for wireless client case. Not fully tested with respect to running as an access point. Will make that a different issue so 0.7.0 can be released.
Closing this issue.