lowest complexity. Complexity is a function of both task 'complexity'
and task 'scope'.
+
Core
====
-- connman_element removal
+- Session API implementation
- Priority: Low
- Complexity: C8
- Owner: Samuel Ortiz <sameo@linux.intel.com>
+ Priority: High
+ Complexity: C4
+ Owner: Daniel Wagner <daniel.wagner@bmw-carit.de>
+ Owner: Patrik Flykt <patrik.flykt@linux.intel.com>
+
+ 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
-- IPv4LL
+- Personal firewall
- Priority: Medium
- Complexity: C4
- Owner: Julien Massot <jmassot@aldebaran-robotics.com>
+ Priority: Low
+ Complexity: C8
+ Owner: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
- The IPv4 Link Local support should be integrated into DHCP-lib.
- IPv4LL should be started when DHCP failed, and then DHCP should
- be scheduled for periodic trials.
- Also, there should be no default route going through an IPv4LL
- interface.
+ Discuss and implement a basic and safe firewalling strategy into
+ Connman. Provide a D-Bus API for personal firewalling.
-- VPNc
+- PACRunner extensions
Priority: Low
- Complexity: C2
+ Complexity: C4
+
+ Support more URI schemes, support multiple connections, tighter
+ security integration.
-- Agent callbacks
+- Check logging produced by connman_info()
Priority: Medium
- Complexity: C2
- Owner: Patrik Flykt <patrik.flykt@nokia.com>
+ Complexity: C1
- Implement Agent API according to doc/agent-api.txt
+ Check that logging produced by connman_info() contains meaningful messages
+ and get rid of the unnecessary ones.
-- Moving DNS proxy code to ConnMan core
+- Support for multiple agents
- Priority: Medium
- Complexity: C2
+ Priority: Medium
+ Complexity: C2
- Supporting DNS proxy or resolv.conf direct editing seems more than
- plenty as far as resolving is concerned. So the idea is to move the
- dnsproxy plugin code to ConnMan core and have an additional command
- line option in case one would like to stick with the current
- resolver.c code for editing resolv.conf.
+ 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.
-- WiFi tethering
- Priority: Medium
- Complexity: C4
+- Remove --nobacktrace option
- WiFi tethering should be done through an extended wpa_supplicant
- D-Bus API, as STA and AP modes are typically mutually exclusive.
+ 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.
-- Session API implementation
- Priority: High
- Complexity: C4
- Owner: Daniel Wagner <daniel.wagner@bmw-carit.de>
- Owner: Samuel Ortiz <sameo@linux.intel.com>
+- Clean up type definitions
- 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
+ Priority: Medium
+ Complexity: C1
+ Go through variable types and use the following:
+ * bool from <stdbool.h> instead of connman_bool_t and gboolean, in the
+ latter case in those places it makes sense
-- Provisioning D-Bus API
+
+- Clean up data structure usage
Priority: Medium
- Complexity: C2
- Owner: Lucio Maciel <lucio.maciel@hp.com>
+ Complexity: C4
- The current service provisioning lacks inotify support for adding
- new provision files on the fly, and a D-Bus interface for modifying
- existing ones.
+ 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.
-- WiSPR support
+- Unit tests for DHCP, DNS and HTTP
Priority: Medium
Complexity: C4
- Owner: Marcel Holtmann <marcel@holtmann.org>
- Based on the portal detection parsing results, and provisioned
- credentials, ConnMan should be able to initiate a WiSPR authentication.
+ 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
====
-- WPS
-
- Priority: Low
- Complexity: C2
- Dependencies: Core:Agent callbacks
-
-
-- Ad-Hoc support
+- Clean up WiFi data structure usage
Priority: Medium
Complexity: C2
- Dependencies: Core:IPv4LL
- Owner: Samuel Ortiz <sameo@linux.intel.com>
-
-- Fast Connect
-
- Priority: Low
- Complexity: C4
- Owner: Samuel Ortiz <sameo@linux.intel.com>
+ 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
through its pcsc-lite API.
-- EAP-Fast
-
- Priority: Low
- Complexity: C1
-
-
-- EAP-GTC
+- EAP-FAST
Priority: Low
Complexity: C1
Complexity: C2
-- WiFi CRDA setting through 3G country
-
- Priority: Medium
- Complexity: C2
- Owner: Samuel Ortiz <sameo@linux.intel.com>
+- Removing wpa_supplicant 0.7.x legacy support
- Setting the 802.11 country based on the 3G MNC/MCC.
+ Priority: Low
+ Complexity: C1
+ Owner: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
+ 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
=========
-- DUN client
+- Remove Bluez 4.x support
- Priority: Low
+ 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
+ Owner: Jukka Rissanen <jukka.rissanen@linux.intel.com>
+
+- L2TP & PPTP compatibility prefix removal
+ Priority: Medium
+ Complexity: C1
+ When: connman 2.0
-- DUN server
+ 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.
+
+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 <alok.barsode@linux.intel.com>
+
+ A GNOME3 shell user interface would make it easier for mainstream distros
+ users to use ConnMan.