client: Implement support for queueing Agent messages
[platform/upstream/connman.git] / TODO
diff --git a/TODO b/TODO
index 9cb78f0..1b3974f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -8,6 +8,7 @@ Background
    lowest complexity. Complexity is a function of both task 'complexity'
    and task 'scope'.
 
+
 Core
 ====
 
@@ -45,10 +46,96 @@ Core
    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:
+   * bool from <stdbool.h> 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. 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.
+
+
+- DHCPv6 DECLINE message support
+
+   Priority: Medium
+   Complexity: C2
+
+
+- Support other time sources than NTP
+
+   Priority: Medium
+   Complexity: C2
+
+   Support other time sources like cellular, GPS in addition to NTP.
+
 
 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
@@ -67,38 +154,32 @@ WiFi
    Complexity: C1
 
 
-- Wireless background scan
-
-   Priority: Medium
-   Complexity: C4
-   Owner: Samuel Ortiz <sameo@linux.intel.com>
-
-   While connected ConnMan should offload the background scanning to
-   wpa_supplicant. Wpa_supplicant allows for a fancy background scan
-   which frequency increases after the current connection signal level
-   drops below a defined threshold.
-   We should also be able to have wpa_supplicant do the background
-   scanning for us when we're not connected, if we have configured our
-   favorite networks.
-
-
 - WiFi p2p
 
    Priority: Medium
    Complexity: C2
 
 
+- Removing wpa_supplicant 0.7.x legacy support
+
+  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
-
-   Priority: Low
-   Complexity: C4
-   Owner: Mario Tokarz <mario.tokarz@bmw-carit.de>
+- 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
 ========
@@ -113,32 +194,29 @@ VPN
    Complexity: C4
    Owner: Jukka Rissanen <jukka.rissanen@linux.intel.com>
 
+- L2TP & PPTP compatibility prefix removal
 
-- Split tunnelling
-
-   Priority: Low
-   Complexity: C8
-   Dependencies: Core:Private networks
-   Owner: Jukka Rissanen <jukka.rissanen@linux.intel.com>
+   Priority: Medium
+   Complexity: C1
+   When: connman 2.0
 
-   The current VPN support puts the VPN interface at the top of the
-   service list, giving VPNs the default route. When doing split
-   tunneling, the system routes packet to the VPN interface for
-   private IPs, while going through the default interface for the rest
-   of the traffic.
+   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
 =====
 
-- Command line tool
+- Add Session mode, VPN and Clock API support to connmanctl command line tool
 
    Priority: Low
-   Complexity: C4
-   Owner: Patrik Flykt <patrik.flykt@linux.intel.com>
+   Complexity: C2
 
-   For platforms not running python, it could prove useful to provide them
-   with a native single binary command line tool.
+   The connmanctl command line tool should support Session mode and VPN
+   Agent with a set of suitable commands used in both interactive and
+   non-interactive mode. Also add support for Clock API.
 
 
 User Interface