wifi: Add wifi pointer NULL checks
[framework/connectivity/connman.git] / TODO
diff --git a/TODO b/TODO
index 62baae4..a9287b7 100644 (file)
--- a/TODO
+++ b/TODO
@@ -11,146 +11,53 @@ Background
 Core
 ====
 
-- connman_element removal
-
-   Priority: Low
-   Complexity: C8
-
-
-- DHCP lib server
+- Session API implementation
 
    Priority: High
    Complexity: C4
-   Owner: Martin Xu <martin.xu@intel.com>
-
-
-- On demand connection
-
-   Priority: Medium
-   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
+   Owner: Daniel Wagner <daniel.wagner@bmw-carit.de>
+   Owner: Patrik Flykt <patrik.flykt@linux.intel.com>
 
-   Priority: Low
-   Complexity: C2
+   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
-
-
-- 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.
-
+   Owner: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
 
-- Agent callbacks
-
-   Priority: Medium
-   Complexity: C2
+   Discuss and implement a basic and safe firewalling strategy into
+   Connman. Provide a D-Bus API for personal firewalling.
 
 
-- pacrunner
+- PACRunner extensions
 
-   Priority: High
+   Priority: Low
    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.
+   Support more URI schemes, support multiple connections, tighter
+   security integration.
 
 
-- Moving DNS proxy code to ConnMan core
+- Favorite service migration removal
 
-   Priority: Medium
-   Complexity: C2
+  Priority: Medium
+  Complexity: C1
+  When: 12/2012
 
-   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.
+  Remove service migration code that moves services from default.profile
+  to the current directory-based structure.
 
 
 WiFi
 ====
 
-- WPS
-
-   Priority: Low
-   Complexity: C2
-   Dependencies: Core:Agent callbacks
-
-
-- Ad-Hoc support
-
-   Priority: Medium
-   Complexity: C2
-   Dependencies: Core:Avahi-zeroconf
-
-
-- Fast Connect
-
-   Priority: Low
-   Complexity: C4
-   Dependencies: WiFi:libsupplicant
-   Owner: Samuel Ortiz <sameo@linux.intel.com>
-
-
 - EAP-AKA/SIM
 
    Priority: Medium
@@ -163,18 +70,25 @@ WiFi
    through its pcsc-lite API.
 
 
-- EAP-Fast
+- EAP-FAST
 
    Priority: Low
    Complexity: C1
-   Owner: Samuel Ortiz <sameo@linux.intel.com>
 
 
-- EAP-GTC
+- Wireless background scan
 
-   Priority: Low
-   Complexity: C1
-   Owner: Samuel Ortiz <sameo@linux.intel.com>
+   Priority: Medium
+   Complexity: C4
+   Owner: Tomasz Bursztyka <tomasz.bursztyka@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
@@ -183,25 +97,53 @@ WiFi
    Complexity: C2
 
 
-- WiFi CRDA setting through 3G country
+- Previous WPS pin code sending
 
-   Priority: Low
-   Complexity: C2
-   Owner: Samuel Ortiz <sameo@linux.intel.com>
+  Priority: Medium
+  Complexity: C2
 
-   Setting the 802.11 country based on the 3G MNC/MCC.
+  Provide previous WPS pin code in PreviousPassphrase field if WPS was used.
 
 
 Bluetooth
 =========
 
-- DUN client
+
+Cellular
+========
+
+
+VPN
+===
+
+- IPsec
+
+   Priority: Medium
+   Complexity: C4
+   Owner: Jukka Rissanen <jukka.rissanen@linux.intel.com>
+
+
+Tools
+=====
+
+- Command line tool
 
    Priority: Low
    Complexity: C4
+   Owner: Patrik Flykt <patrik.flykt@linux.intel.com>
+
+   For platforms not running python, it could prove useful to provide them
+   with a native single binary command line tool.
 
 
-- DUN server
+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.