Use * characters for hidden password input
[framework/connectivity/connman.git] / TODO
diff --git a/TODO b/TODO
index a5eafda..62baae4 100644 (file)
--- a/TODO
+++ b/TODO
@@ -17,18 +17,10 @@ Core
    Complexity: C8
 
 
-- DHCP lib
-
-   Priority: High
-   Complexity: C8
-   Owner: Martin Xu <martin.xu@intel.com>
-
-
-- IPv6
+- DHCP lib server
 
    Priority: High
    Complexity: C4
-   Dependencies: Core:DHCP Lib
    Owner: Martin Xu <martin.xu@intel.com>
 
 
@@ -38,12 +30,21 @@ Core
    Complexity: C4
    Owner: Samuel Ortiz <sameo@linux.intel.com>
 
+   With on demand connection applications get connectivity access
+   simply by trying to reach the network. They don't need to
+   specifically request for a service connection, but ConnMan
+   establishes it on their behalf.
+   This feature counter part is idle disconnect. ConnMan needs to be
+   able to close the on demand established connections by monitoring
+   the link activity. This requires kernel support with e.g. the
+   netfilter IDLETIMER target.
 
 - Avahi-zeroconf
 
    Priority: Medium
    Complexity: C4
 
+   The IPv4 Link Local part should be integrated into DHCP-lib.
 
 - OpenVPN
 
@@ -57,31 +58,72 @@ Core
    Complexity: C2
 
 
+- iptables wrapper
+
+   Priority: High
+   Complexity: C4
+   Owner: Samuel Ortiz <sameo@linux.intel.com>
+
+   ConnMan needs to be able to set iptables rules and tables for both
+   tethering and on demand connection.
+   The main idea is to define an internal API for talking to the
+   netfilter socket in order to set our tables and rules. Being in
+   sync with the actual iptables library might be problematic.
+   A less elegant solution would be a process based one, that would
+   simply call the iptables executable.
+
 - Tethering
 
    Priority: Medium
    Complexity: C8
+   Owner: Marcel Holtmann <marcel@holtmann.org>
+   Dependencies: Core:iptables wrapper
+   Dependencies: Core:DHCP lib server
 
+   Bluetooth, USB and WiFi tethering.
+   The tethering framework would typically allow sharing the 3G data
+   link between WiFi, Bluetooth or USB clients.
+   A bridge needs to be setup and all tethering connections are added
+   to it. A DHCP server and a DNS proxy will be running on the bridge.
+   Then IP forwarding and masquerading will be set between the default
+   service and the bridge interface.
 
-- WAPD - Web Proxy Autodiscovery Protocol
+
+- Agent callbacks
 
    Priority: Medium
    Complexity: C2
-   Dependencies: Core:HTTP proxy
 
 
-- Agent callbacks
+- pacrunner
 
-   Priority: Medium
-   Complexity: C2
+   Priority: High
+   Complexity: C4
+   Owner: Mohamed Abbas <mohamed.abbas@intel.com>
 
+   pacrunner is a standalone daemon that downloads and interpret PAC
+   files through a JavaScript interpreter. Once the interpretation is
+   done, pacrunner is able to associate a proxy with an URL.
+   pacrunner D-Bus interface exports a configuration API for passing
+   it the PAC URLs. It also provide a FindProxyForURL() API for
+   application to know which proxies to use.
+   ConnMan will use pacrunner for both auto and manual proxy
+   configurations. Then applications should talk to pacrunner (through
+   libproxy for example) to find the right proxies.
+   ConnMan will also use the FindProxyForURL() pacruner API for a more
+   stable and accurate online detection code.
 
-- HTTP proxy
 
-   Priority: Medium
-   Complexity: C1
+- Moving DNS proxy code to ConnMan core
 
+   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.
 
 
 WiFi
@@ -101,23 +143,53 @@ WiFi
    Dependencies: Core:Avahi-zeroconf
 
 
-- libsupplicant
+- Fast Connect
 
-   Priority: Medium
+   Priority: Low
    Complexity: C4
+   Dependencies: WiFi:libsupplicant
    Owner: Samuel Ortiz <sameo@linux.intel.com>
 
-- Fast Connect
+
+- EAP-AKA/SIM
+
+   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
+   starting and EAP-AKA/SIM authentication, it will talk to a SIM card
+   through its pcsc-lite API.
+
+
+- EAP-Fast
 
    Priority: Low
-   Complexity: C4
-   Dependencies: WiFi:libsupplicant
+   Complexity: C1
    Owner: Samuel Ortiz <sameo@linux.intel.com>
 
-- TTLS EAP support
+
+- EAP-GTC
+
+   Priority: Low
+   Complexity: C1
+   Owner: Samuel Ortiz <sameo@linux.intel.com>
+
+
+- WiFi p2p
+
+   Priority: Medium
+   Complexity: C2
+
+
+- WiFi CRDA setting through 3G country
 
    Priority: Low
    Complexity: C2
+   Owner: Samuel Ortiz <sameo@linux.intel.com>
+
+   Setting the 802.11 country based on the 3G MNC/MCC.
 
 
 Bluetooth
@@ -127,3 +199,9 @@ Bluetooth
 
    Priority: Low
    Complexity: C4
+
+
+- DUN server
+
+   Priority: Low
+   Complexity: C4