X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=TODO;h=c1694e3d727c5da39c40f895f59a0ae2d72d242d;hb=25160aada7784cf402230d9cb67f441802bb9c63;hp=62baae4cef955fcc0a8050bacbe826e68e5b53b0;hpb=4da399a00d1ae6cf8914895fa6fd3d147d67e633;p=platform%2Fupstream%2Fconnman.git diff --git a/TODO b/TODO old mode 100644 new mode 100755 index 62baae4..c1694e3 --- a/TODO +++ b/TODO @@ -8,154 +8,131 @@ Background lowest complexity. Complexity is a function of both task 'complexity' and task 'scope'. + Core ==== -- connman_element removal +- Personal firewall Priority: Low Complexity: C8 + Discuss and implement a basic and safe firewalling strategy into + Connman. Provide a D-Bus API for personal firewalling. + -- DHCP lib server +- PACRunner extensions - Priority: High + Priority: Low Complexity: C4 - Owner: Martin Xu + Support more URI schemes, support multiple connections, tighter + security integration. -- On demand connection + +- Check logging produced by connman_info() Priority: Medium - Complexity: C4 - Owner: Samuel Ortiz + Complexity: C1 - 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. + Check that logging produced by connman_info() contains meaningful messages + and get rid of the unnecessary ones. -- Avahi-zeroconf - Priority: Medium - Complexity: C4 +- Remove --nobacktrace option - The IPv4 Link Local part should be integrated into DHCP-lib. + Priority: Medium + Complexity: C1 + When: 2.0 -- OpenVPN + Remove the --nobacktrace option or change it to --backtrace depending on + the level of systemd integration or other factors. - Priority: Low - Complexity: C2 +- Clean up data structure usage -- VPNc + Priority: Medium + Complexity: C4 - Priority: Low - Complexity: C2 + Use hash tables, queues and lists in the code. Check on the currently used + data structures and see if something can be simplified. -- iptables wrapper +- Unit tests for DHCP, DNS and HTTP - Priority: High + Priority: Low Complexity: C4 - Owner: Samuel Ortiz - 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. + 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. -- Tethering - Priority: Medium - Complexity: C8 - Owner: Marcel Holtmann - Dependencies: Core:iptables wrapper - Dependencies: Core:DHCP lib server +- Support other time sources than NTP - 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. + Priority: Low + Complexity: C2 + Support other time sources like cellular, GPS in addition to NTP. -- Agent callbacks - Priority: Medium +- 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. -- pacrunner - Priority: High - Complexity: C4 - Owner: Mohamed Abbas +- Support D-Bus ObjectManager - 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. + 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. -- Moving DNS proxy code to ConnMan core + With this, Manager API is removed, and a WiFi P2P API based on + ObjectManager common to Linux desktops can be implemented. - 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. +Tethering +========= +- Verify if bridge has been correctly created and configured -WiFi -==== + Priority: Low + Complexity: C1 -- WPS + 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. - Priority: Low - Complexity: C2 - Dependencies: Core:Agent callbacks +WiFi +==== -- Ad-Hoc support +- Clean up WiFi data structure usage Priority: Medium Complexity: C2 - Dependencies: Core:Avahi-zeroconf - -- Fast Connect - - Priority: Low - Complexity: C4 - Dependencies: WiFi:libsupplicant - Owner: Samuel Ortiz + 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 Complexity: C2 - Owner: Samuel Ortiz This EAP is needed for SIM card based network authentication. ConnMan here plays a minor role: Once wpa_supplicant is set up for @@ -163,45 +140,66 @@ WiFi through its pcsc-lite API. -- EAP-Fast +- EAP-FAST Priority: Low Complexity: C1 - Owner: Samuel Ortiz -- EAP-GTC +- Removing wpa_supplicant 0.7.x legacy support - Priority: Low - Complexity: C1 - Owner: Samuel Ortiz + Priority: Low + Complexity: C1 + + 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 +========= + + +Cellular +======== -- WiFi p2p +VPN +=== + +- IPsec Priority: Medium - Complexity: C2 + Complexity: C4 -- WiFi CRDA setting through 3G country +- L2TP & PPTP compatibility prefix removal - Priority: Low - Complexity: C2 - Owner: Samuel Ortiz + Priority: Medium + Complexity: C1 + When: connman 2.0 - Setting the 802.11 country based on the 3G MNC/MCC. + 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. -Bluetooth -========= +- Update VPNC and OpenVPN with Agent support -- DUN client + Priority: Medium + Complexity: C2 - Priority: Low - Complexity: C4 + Update VPNC and OpenVPN with VPN Agent support to request possible user + ids and passphrases. -- DUN server +Tools +===== + +- Add Clock API support to connmanctl Priority: Low - Complexity: C4 + Complexity: C2 + + The connmanctl command line tool should support Clock API.