|- 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'.
|- Personal firewall
|Discuss and implement a basic and safe firewalling strategy into
|Connman. Provide a D-Bus API for personal firewalling.
|- PACRunner extensions
|Support more URI schemes, support multiple connections, tighter
|- Check logging produced by connman_info()
|Check that logging produced by connman_info() contains meaningful messages
|and get rid of the unnecessary ones.
|- Remove --nobacktrace option
|Remove the --nobacktrace option or change it to --backtrace depending on
|the level of systemd integration or other factors.
|- Clean up data structure usage
|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
|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
|Support other time sources like cellular, GPS in addition to NTP.
|- Get interface names from src/device.c
|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
|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
|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.
|- Clean up WiFi data structure usage
|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.
|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.
|- Removing wpa_supplicant 0.7.x legacy support
|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)
|- Remove Bluez 4.x support
|Remove plugins/bluetooth-legacy.c support in about 6 month (July 2013) or
|when Bluez 4.x usage becomes minimal.
|- L2TP & PPTP compatibility prefix removal
|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
|Update VPNC and OpenVPN with VPN Agent support to request possible user
|ids and passphrases.
|- Add Clock API and MoveBefore/MoveAfter support to connmanctl
|The connmanctl command line tool should support Clock API and Service API
|- GNOME3 UI
|A GNOME3 shell user interface would make it easier for mainstream distros
|users to use ConnMan. Continue/restart the work at