| 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 |