dhcpv6: Fix memory leak
[platform/upstream/connman.git] / TODO
diff --git a/TODO b/TODO
index 7b838e0..9b916d5 100644 (file)
--- a/TODO
+++ b/TODO
@@ -8,139 +8,119 @@ Background
    lowest complexity. Complexity is a function of both task 'complexity'
    and task 'scope'.
 
+
 Core
 ====
 
-- connman_element removal
-
-   Priority: Low
-   Complexity: C8
-   Owner: Samuel Ortiz <sameo@linux.intel.com>
-
-
-- IPv4LL
+- Session API implementation
 
-   Priority: Medium
+   Priority: High
    Complexity: C4
-   Owner: Julien Massot <jmassot@aldebaran-robotics.com>
+   Owner: Daniel Wagner <daniel.wagner@bmw-carit.de>
+   Owner: Patrik Flykt <patrik.flykt@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.
+   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
 
 
-- VPNc
+- Personal firewall
 
    Priority: Low
-   Complexity: C2
+   Complexity: C8
+   Owner: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
 
+   Discuss and implement a basic and safe firewalling strategy into
+   Connman. Provide a D-Bus API for personal firewalling.
 
-- Agent callbacks
 
-   Priority: Medium
-   Complexity: C2
-   Owner: Patrik Flykt <patrik.flykt@nokia.com>
+- PACRunner extensions
+
+   Priority: Low
+   Complexity: C4
 
-   Implement Agent API according to doc/agent-api.txt
+   Support more URI schemes, support multiple connections, tighter
+   security integration.
 
 
-- Moving DNS proxy code to ConnMan core
+- Check logging produced by connman_info()
 
    Priority: Medium
-   Complexity: C2
+   Complexity: C1
 
-   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.
+   Check that logging produced by connman_info() contains meaningful messages
+   and get rid of the unnecessary ones.
 
 
-- WiFi tethering
-   Priority: Medium
-   Complexity: C4
+- Support for multiple agents
 
-   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: C2
 
+  Allow to register multiple agents. Each unique system bus name owner
+  however is only allowed to register one agent.
 
-- Session API implementation
+  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.
 
-   Priority: High
-   Complexity: C4
-   Owner: Daniel Wagner <daniel.wagner@bmw-carit.de>
-   Owner: Samuel Ortiz <sameo@linux.intel.com>
+- Remove --nobacktrace option
 
-   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
+ When: 2.0
 
+ Remove the --nobacktrace option or change it to --backtrace depending on the
+ level of systemd integration or other factors.
 
-- Provisioning D-Bus API
+
+- Clean up type definitions
 
    Priority: Medium
-   Complexity: C2
-   Owner: Lucio Maciel <lucio.maciel@hp.com>
+   Complexity: C1
 
-   The current service provisioning lacks inotify support for adding
-   new provision files on the fly, and a D-Bus interface for modifying
-   existing ones.
+   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
 
 
-- WiSPR support
+- Clean up data structure usage
 
    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.
+   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.
 
 
-- IPv6 enhancements
+- Unit tests for DHCP, DNS and HTTP
 
-   Priority: High
-   Complexity: C8
-   Owner: Jukka Rissanen <jukka.rissanen@nokia.com>
+   Priority: Medium
+   Complexity: C4
 
-   Support IPv6 only networks so that system can go online even if
-   there is no IPv4 address. Also support more than one IPv6 address
-   in one device so that the addresses are reported correctly via
-   dbus interface. The autoconf IPv6 addresses need also some tweaking
-   so that system will go online properly.
+   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
-   Owner: Tomasz Bursztyka <tomasz.bursztyka@nokia.com>
-
-   Support in gsupplicant and connman core (network/service).
-
-
-- 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
@@ -159,14 +139,6 @@ WiFi
 
    Priority: Low
    Complexity: C1
-   Owner: Henri Bragge <henri.bragge@ixonos.com>
-
-
-- EAP-GTC
-
-   Priority: Low
-   Complexity: C1
-   Owner: Henri Bragge <henri.bragge@ixonos.com>
 
 
 - WiFi p2p
@@ -175,25 +147,72 @@ WiFi
    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
+
+   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
+=====
 
-- DUN server
+- 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.