DA: Add exception check for time logic
[platform/upstream/connman.git] / TODO
diff --git a/TODO b/TODO
old mode 100644 (file)
new mode 100755 (executable)
index 9b916d5..c10b8ce
--- a/TODO
+++ b/TODO
@@ -12,26 +12,10 @@ Background
 Core
 ====
 
 Core
 ====
 
-- Session API implementation
-
-   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
-
-
 - Personal firewall
 
    Priority: Low
    Complexity: C8
 - Personal firewall
 
    Priority: Low
    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.
 
    Discuss and implement a basic and safe firewalling strategy into
    Connman. Provide a D-Bus API for personal firewalling.
@@ -55,36 +39,14 @@ Core
    and get rid of the unnecessary ones.
 
 
    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
 
 - 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
    Priority: Medium
    Complexity: C1
+   When: 2.0
 
 
-   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
+   Remove the --nobacktrace option or change it to --backtrace depending on
+   the level of systemd integration or other factors.
 
 
 - Clean up data structure usage
 
 
 - Clean up data structure usage
@@ -92,14 +54,13 @@ Core
    Priority: Medium
    Complexity: C4
 
    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
+   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
 
    data structures and see if something can be simplified.
 
 
 - Unit tests for DHCP, DNS and HTTP
 
-   Priority: Medium
+   Priority: Low
    Complexity: C4
 
    Create unit tests for these components starting with DHCP. Use gtest
    Complexity: C4
 
    Create unit tests for these components starting with DHCP. Use gtest
@@ -107,6 +68,51 @@ Core
    and oFono in general.
 
 
    and oFono in general.
 
 
+- Support other time sources than NTP
+
+   Priority: Low
+   Complexity: C2
+
+   Support other time sources like cellular, GPS in addition to NTP.
+
+
+- Get interface names from src/device.c
+
+   Priority: Low
+   Complexity: C2
+
+   Instead of using ioctls in connman_inet_ifindex and connman_inet_ifname,
+   utilize the information already provided by netlink in src/device.c.
+
+
+- Support D-Bus ObjectManager
+
+   Priority: Medium
+   Complexity: C4
+
+   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.
+
+
+Tethering
+=========
+
+- Verify if bridge has been correctly created and configured
+
+   Priority: Low
+   Complexity: C1
+
+   When enabling tethering check if there was any error while creating and
+   configuring the bridge before continue. It has been done only for WiFi
+   technology, for other tethering technologies it should be evaluated
+   and implemented in case it is advantageous.
+
+
 WiFi
 ====
 
 WiFi
 ====
 
@@ -127,7 +133,6 @@ WiFi
 
    Priority: Medium
    Complexity: C2
 
    Priority: Medium
    Complexity: C2
-   Owner: Samuel Ortiz <sameo@linux.intel.com>
 
    This EAP is needed for SIM card based network authentication.
    ConnMan here plays a minor role: Once wpa_supplicant is set up for
 
    This EAP is needed for SIM card based network authentication.
    ConnMan here plays a minor role: Once wpa_supplicant is set up for
@@ -141,32 +146,19 @@ WiFi
    Complexity: C1
 
 
    Complexity: C1
 
 
-- WiFi p2p
-
-   Priority: Medium
-   Complexity: C2
-
-
 - Removing wpa_supplicant 0.7.x legacy support
 
   Priority: Low
   Complexity: C1
 - 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)
 
 
   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
 =========
 
 Bluetooth
 =========
 
-- 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
 ========
 
 Cellular
 ========
@@ -179,7 +171,7 @@ VPN
 
    Priority: Medium
    Complexity: C4
 
    Priority: Medium
    Complexity: C4
-   Owner: Jukka Rissanen <jukka.rissanen@linux.intel.com>
+
 
 - L2TP & PPTP compatibility prefix removal
 
 
 - L2TP & PPTP compatibility prefix removal
 
@@ -192,27 +184,57 @@ VPN
    old "L2TP." and "PPTP." prefix for PPP options. Remove the compatibility
    code and only allow "PPPD." prefix for PPP options.
 
    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
+- Update VPNC and OpenVPN with Agent support
 
    Priority: Medium
    Complexity: C2
 
 
    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.
+   Update VPNC and OpenVPN with VPN Agent support to request possible user
+   ids and passphrases.
+
+
+- Change OpenConnect plugin to use libopenconnect
+
+   Priority: Medium
+   Complexity: C4
+
+   Current implementation of OpenConnect uses screenscraping and interactive
+   mode for accepting self signed certificates and reacting to PKCS pass
+   phrase requests. This should be replaced with libopenconnect use. It may be
+   worthwhile to attempt to replace the whole authentication with the use of
+   openconnect_obtain_cookie() whatever authentication type is used. This
+   would lead to using only the cookie when connecting (--cookie-on-stdin)
+   and would cleanup the code at run_connect().
 
 
+   The usage of stdout can be removed as unnecessary. Cookie should be
+   retrieved with openconnect_obtain_cookie(). Remove this also from
+   connman_task_run().
 
 
-User Interface
-==============
+   Function is_valid_protocol() must use openconnect_get_supported_protocols.
+   Also the static const char *protocols[] would be unnecessary.
 
 
-- GNOME3 UI
+   Reading the stderr with byte-by-byte approach is to be removed, as well as
+   are the PKCS failures and requests in stderr IO channel processing.
+
+   The use of interactive mode toggle is to be removed. Non-interactive mode
+   must be used, which leads to using --syslog with each authentication type
+   as task arg.
+
+   If the peer certificate cannot be verified with normal means it is because
+   the peer certificate is self signed and the user setting
+   "AllowSelfSignedCert" has to be used for the verify certificate callback
+   reply. The callback for certificate validation must return zero if user has
+   allowed self signed certificates. In such case save the SHA1 fingerprint of
+   server certificate as it is done now, otherwise indicate error to
+   libopenconnect.
+
+Tools
+=====
+
+- Add Clock API support to connmanctl
 
    Priority: Low
 
    Priority: Low
-   Complexity: C4
-   Owner: Alok Barsode <alok.barsode@linux.intel.com>
+   Complexity: C2
 
 
-   A GNOME3 shell user interface would make it easier for mainstream distros
-   users to use ConnMan.
+   The connmanctl command line tool should support Clock API.