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 ==== - Session API implementation Priority: High Complexity: C4 Owner: Daniel Wagner Owner: Patrik Flykt The session API should provide a connection abstraction in order to prioritize applications network accesses, prevent or allow network and bearer roaming, or provide applications with a way to request for periodic network connections. On-demand connections will be implemented through this API as well. See http://www.mail-archive.com/connman@connman.net/msg01653.html - Personal firewall Priority: Low Complexity: C8 Owner: Tomasz Bursztyka 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. - Support for multiple agents Priority: Medium Complexity: C2 Allow to register multiple agents. Each unique system bus name owner however is only allowed to register one agent. The selection of which agents is used should be matched by bus name owner if possible or first come first serve. A graceful fallback to the next agent should be also used in case of malfunctional agents. - 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 type definitions Priority: Medium Complexity: C1 Go through variable types and use the following: * uint8_t instead of connman_uint8_t, unsigned char * uint16_t instead of connman_uint16_t, unsigned short * bool from instead of connman_bool_t and gboolean, in the latter case in those places it makes sense - Clean up data structure usage Priority: Medium Complexity: C4 Use hash tables, queues and lists in the code. Replace GSequences with simpler structures. At the same time do a check on the currently used data structures and see if something can be simplified. - Unit tests for DHCP, DNS and HTTP Priority: Medium 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. 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 Owner: Samuel Ortiz 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 - WiFi p2p Priority: Medium Complexity: C2 - Removing wpa_supplicant 0.7.x legacy support Priority: Low Complexity: C1 Owner: Tomasz Bursztyka 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 ========= - Add support for BlueZ 5.x APIs Priority: High Complexity: C1 Rename current plugin to plugins/bluetooth-legacy.c and make sure it does not register any technology or service when BlueZ 4.x API is not present. Create new plugins/bluetooth.c to support BlueZ 5.x API and make use of GDBusClient and GDBusProxy (see bluetoothctl for usage example). Remove plugins/bluetooth-legacy.c support in about 6 month (July 2013). Cellular ======== VPN === - IPsec Priority: Medium Complexity: C4 Owner: Jukka Rissanen Tools ===== - Add Agent mode to connmanctl command line tool Priority: Medium Complexity: C2 connmanctl should implement agent prompting when started with a suitable command line option. Agent mode should also be enabled when in interactive mode. User Interface ============== - GNOME3 UI Priority: Low Complexity: C4 Owner: Alok Barsode A GNOME3 shell user interface would make it easier for mainstream distros users to use ConnMan.