| Background |
| ========== |
| |
| - Priority scale: High, Medium and Low |
| |
| - Complexity scale: C1, C2, C4 and C8. |
| The complexity scale is exponential, with complexity 1 being the |
| lowest complexity. Complexity is a function of both task 'complexity' |
| and task 'scope'. |
| |
| |
| Core |
| ==== |
| |
| - Personal firewall |
| |
| Priority: Low |
| Complexity: C8 |
| |
| Discuss and implement a basic and safe firewalling strategy into |
| Connman. Provide a D-Bus API for personal firewalling. |
| |
| |
| - PACRunner extensions |
| |
| Priority: Low |
| Complexity: C4 |
| |
| Support more URI schemes, support multiple connections, tighter |
| security integration. |
| |
| |
| - Check logging produced by connman_info() |
| |
| Priority: Medium |
| Complexity: C1 |
| |
| Check that logging produced by connman_info() contains meaningful messages |
| and get rid of the unnecessary ones. |
| |
| |
| - Remove --nobacktrace option |
| |
| Priority: Medium |
| Complexity: C1 |
| When: 2.0 |
| |
| Remove the --nobacktrace option or change it to --backtrace depending on |
| the level of systemd integration or other factors. |
| |
| |
| - Clean up data structure usage |
| |
| Priority: Medium |
| Complexity: C4 |
| |
| Use hash tables, queues and lists in the code. Check on the currently used |
| data structures and see if something can be simplified. |
| |
| |
| - Unit tests for DHCP, DNS and HTTP |
| |
| Priority: Low |
| Complexity: C4 |
| |
| Create unit tests for these components starting with DHCP. Use gtest |
| from GLib for this task similarly to what has been done for OBEX in Bluez |
| and oFono in general. |
| |
| |
| - Support other time sources than NTP |
| |
| Priority: Low |
| Complexity: C2 |
| |
| Support other time sources like cellular, GPS in addition to NTP. |
| |
| |
| - Get interface names from src/device.c |
| |
| Priority: Low |
| Complexity: C2 |
| |
| Instead of using ioctls in connman_inet_ifindex and connman_inet_ifname, |
| utilize the information already provided by netlink in src/device.c. |
| |
| |
| - Simplify gateway selection code |
| |
| Priority: Low |
| Complexity: C4 |
| |
| The service list is always sorted according to preference with the |
| first service always owning the default route. See if update_order and |
| find_default_gateway in src/connection.c can be modified to use the |
| sorted service list instead of walking through the gateway_hash. |
| |
| |
| - Support D-Bus ObjectManager |
| |
| Priority: Medium |
| Complexity: C4 |
| |
| Support D-Bus ObjectManager by using functionality already present in |
| ./gdbus. Method calls and signals are already registered with gdbus, but |
| properties and replies especially in Agent are still handled with plain |
| dbus library function calls. |
| |
| With this, Manager API is removed, and a WiFi P2P API based on |
| ObjectManager common to Linux desktops can be implemented. |
| |
| |
| WiFi |
| ==== |
| |
| - Clean up WiFi data structure usage |
| |
| Priority: Medium |
| Complexity: C2 |
| |
| Struct wifi_data is passed as a pointer in some of the wifi plugin |
| callbacks. For example removing a WiFi USB stick causes RTNL and |
| wpa_supplicant to call the wifi plugin at the same time causing the |
| freeing of the wifi data structure. Fix up the code to have proper |
| reference counting or other handling in place for the shared wifi data |
| and the members in the data structure. |
| |
| |
| - EAP-AKA/SIM |
| |
| Priority: Medium |
| Complexity: C2 |
| |
| This EAP is needed for SIM card based network authentication. |
| ConnMan here plays a minor role: Once wpa_supplicant is set up for |
| starting and EAP-AKA/SIM authentication, it will talk to a SIM card |
| through its pcsc-lite API. |
| |
| |
| - EAP-FAST |
| |
| Priority: Low |
| Complexity: C1 |
| |
| |
| - Removing wpa_supplicant 0.7.x legacy support |
| |
| Priority: Low |
| Complexity: C1 |
| |
| Removing global country property setter in gsupplicant, and removing |
| wifi's technology set_regdom implementation. Removing autoscan fallback. |
| (Note: should be done around the end 2012) |
| |
| Bluetooth |
| ========= |
| |
| - Remove Bluez 4.x support |
| |
| Priority: Low |
| Complexity: C1 |
| |
| Remove plugins/bluetooth-legacy.c support in about 6 month (July 2013) or |
| when Bluez 4.x usage becomes minimal. |
| |
| Cellular |
| ======== |
| |
| |
| VPN |
| === |
| |
| - IPsec |
| |
| Priority: Medium |
| Complexity: C4 |
| |
| |
| - L2TP & PPTP compatibility prefix removal |
| |
| Priority: Medium |
| Complexity: C1 |
| When: connman 2.0 |
| |
| The VPN config file provisioning patchset contains code that makes |
| PPP options to be marked by "PPPD." prefix. The code supports also |
| old "L2TP." and "PPTP." prefix for PPP options. Remove the compatibility |
| code and only allow "PPPD." prefix for PPP options. |
| |
| |
| - Update VPNC and OpenVPN with Agent support |
| |
| Priority: Medium |
| Complexity: C2 |
| |
| Update VPNC and OpenVPN with VPN Agent support to request possible user |
| ids and passphrases. |
| |
| |
| Tools |
| ===== |
| |
| - Add Clock API and MoveBefore/MoveAfter support to connmanctl |
| |
| Priority: Low |
| Complexity: C2 |
| |
| The connmanctl command line tool should support Clock API and Service API |
| MoveBefore/MoveAfter. |
| |
| |
| User Interface |
| ============== |
| |
| - GNOME3 UI |
| |
| Priority: Low |
| Complexity: C4 |
| |
| A GNOME3 shell user interface would make it easier for mainstream distros |
| users to use ConnMan. Continue/restart the work at |
| https://github.com/connectivity/gnome-extension-connman |