- For a user who installed using FreedomBox disk image, when Plinth upgrades to
a release containing this change, don't run network setup. This is ensured by
not incrementing the version number of the networks module.
- For a user who installed using freedombox-setup Debian package, when Plinth
upgrades to a release containing this change, don't run network setup. This is
ensured by not incrementing the version number of the networks module.
- For a user who installed using freedombox-setup Debian package, when Plinth is
run for the first time, don't run network setup. This is ensured by checking
for the file /var/lib/freedombox/is-freedombox-disk-image which will not
exist.
- For a user who installed using FreedomBox disk image, when Plinth runs for the
first time, setup process executes and triggers the script due networks module
being an essential module.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
- Remove apps and system modules and merge their views into main views.
- Move main_menu from cfg into menu.py.
- Remove dependencies of other modules on apps and system modules.
- Update tests.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
- Very similar to configuration of IPv4 networks.
- Supports 'auto', 'dhcp', 'manual' and 'ignored' modes as supported by
network manager. 'shared' mode is not yet implemented by network
manager.
Most tables now occupy the full width of the container row. Some of
them are otherwise squished. Also make sure the new fixed container
layout has not reduced the originally intended width of a table.
Now all forms will uniformly occupy the full width of the available
row. Bootstrap originally designed forms this way. However, we were
setting restricted widths on forms as they were too wide. With the new
fixed container layout this is no longer necessary.
Network manager's libnm throws a critical message for when accessing DNS
entries from IPv4 configuration when there are none available. See the
number of entries available before accessing them.
Select the frequency band (2.4 GHz vs. 5 GHz) is a prerequisite for
selecting the channel. Channel selection is useful primarily as follow:
- Restrict to a particular access point when multiple access points use
the same SSID (AP name) but are available on different frequencies.
- Configure for a particular ad-hoc mesh network.
- Setup multiple access points from a single FreedomBox on multiple
channels to maximize the throughput and number of simultaneous
clients.
Ability to specify a particular BSSID will help associate with a
particular access point when multiple access points use the same
SSID (AP name). This is also makes it slightly harder to trick clients
into connection to a malicious device. Also configuring BATMAN-adv
seems to require setting a particular BSSID.
Disabled IPv4 method allows not configuring IPv4 entirely on network
interfaces as required in some cases.
Also, make sure to internationalize all the choices form values in
network module. There were missed before.
After batman-adv kernel driver takes over the Wi-Fi network interface
and provides a bat0 interface, this interface shows up as device type
'batadv'. This type is not recognized by network manager is dealt with
as a generic device. Configuring this device for IPv4/IPv6 in
auto/shared mode etc. works fine. So, add the ability to configure
generic interfaces.
This can then be used by a privileged action to verify that packages
requested for installation are in fact valid. This slightly improves
security of those privileged actions.
Setting IP address on a shared connection can be usefull. This tells
Network Manager to pick the provided network range (inferred from
IP/netmask) instead of something in 10.42.x.x. This can be used to give
predicatable IPs, static IPs and to make large static
reservations (instead of the default 8).
Currently menu items are shown in alphabetical order in applications and
no clear order in system configuration. This is done using static
weights for menu items based on English names that does not work for
other locales.
Sorting can't be done at the time of adding menu items as users of
multiple locales may use the interface at the same time.
Implement a sorting mechanism based on existing order as well as labels
of menu item. This allows the flexiblity of grouping menu items in
future as it may be need for system configuration. In case of help menu
Remove sort order for all modules except for help menu as here we want
that specific order.
- The last part of the module import path is the module name. This also
becomes the Django app name. Apps names have to be unique. Hence,
there is no scope for two different modules with same name but
different load path to exist in the project.
- Most uses of list of loaded modules are dealing with app names instead
of full module load path. This is due to the fact that Django deals
with app names and not module paths.
- It is also somewhat clumsy to access a loaded module as we are
re-importing every time to get access module.
- Simplify all of the above by using app names are module identifiers
and maintaing an ordered dictionary of app names to loadded modules.
- Remove unused imports.
- Minor styling fixes.
Using brand name directly from configuration means that it can't be
easily translated. Instead use the translated brand name sent in my the
context processor.
- Make connection adding/editing forms inherit from base.
- Make the forms responsible for extracting cleaned data.
- Use dictionaries for passing around settings values while
adding/editing connections.
* fixed IP configuration
* set up a new ipv4settings object to avoid the need of reseting all the values
* extended Static IP configuration:
* allow configuration of netmask (optional)
* allow configuration of Gateway (optional)
* allow configuartion of two DNS Servers (optional)
* extend DHCP configuration:
* allow configuration of user specific DNS Server
* DHCP provided DNS Servers will be ignored in that case
Python 3.2.x is deprecated, so I thought it would be
good to get tests running on some newer pythons. I've
switched from the python3-gi package to using 'pgi' from
pypi, because the apt-installed python3-gi was having trouble
importing.
pgi required python 3.3+ (see: https://pypi.python.org/pypi/pgi),
so I've removed python 3.2 from the test matrix. Let me know if
we're using python 3.2 anywhere, but as far as I know plinth is
run on python 3.4.3 with debian sid on the freedombox image.
- As discussed in the first boot redesign proposal.
- Images are taken from Tango icon set, GNOME icons or created.
- Responsive, works for very small widths also.
- First cut, special cases of network connectivity are not handled.
Specify the version of a library before importing it using GObject
introspection. Mainly to avoid warnings with recent version of
pygobject. Closes#247.
- Fix showing configured IP address in edit form.
- Combine the retrival functions and organize them according to where
the information is being retrived from connection/device/active
connection/access point.
- Add more fields to show such as ether speed, default ipv4/ipv6
connection, wifi mode, etc.
- Re-format the page. Separate ipv4/ipv6 sections. Separate device
information and connection information sections.
- Take the action buttons to the top.
- Make the activate/deactivate button work with new POST only CSRF
requirement.
- Update Firewall zone description messages.
- Show all IP addresses of the device.