Imported Upstream version 1.24
[platform/upstream/connman.git] / TODO
1 Background
2 ==========
3
4 - Priority scale: High, Medium and Low
5
6 - Complexity scale: C1, C2, C4 and C8.
7    The complexity scale is exponential, with complexity 1 being the
8    lowest complexity. Complexity is a function of both task 'complexity'
9    and task 'scope'.
10
11
12 Core
13 ====
14
15 - Personal firewall
16
17    Priority: Low
18    Complexity: C8
19    Owner: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
20
21    Discuss and implement a basic and safe firewalling strategy into
22    Connman. Provide a D-Bus API for personal firewalling.
23
24
25 - PACRunner extensions
26
27    Priority: Low
28    Complexity: C4
29
30    Support more URI schemes, support multiple connections, tighter
31    security integration.
32
33
34 - Check logging produced by connman_info()
35
36    Priority: Medium
37    Complexity: C1
38
39    Check that logging produced by connman_info() contains meaningful messages
40    and get rid of the unnecessary ones.
41
42
43 - Remove --nobacktrace option
44
45    Priority: Medium
46    Complexity: C1
47    When: 2.0
48
49    Remove the --nobacktrace option or change it to --backtrace depending on
50    the level of systemd integration or other factors.
51
52
53 - Clean up data structure usage
54
55    Priority: Medium
56    Complexity: C4
57
58    Use hash tables, queues and lists in the code. Check on the currently used
59    data structures and see if something can be simplified.
60
61
62 - Unit tests for DHCP, DNS and HTTP
63
64    Priority: Medium
65    Complexity: C4
66
67    Create unit tests for these components starting with DHCP. Use gtest
68    from GLib for this task similarly to what has been done for OBEX in Bluez
69    and oFono in general.
70
71
72 - Support other time sources than NTP
73
74    Priority: Medium
75    Complexity: C2
76
77    Support other time sources like cellular, GPS in addition to NTP.
78
79
80 WiFi
81 ====
82
83 - Clean up WiFi data structure usage
84
85    Priority: Medium
86    Complexity: C2
87
88    Struct wifi_data is passed as a pointer in some of the wifi plugin
89    callbacks. For example removing a WiFi USB stick causes RTNL and
90    wpa_supplicant to call the wifi plugin at the same time causing the
91    freeing of the wifi data structure. Fix up the code to have proper
92    reference counting or other handling in place for the shared wifi data
93    and the members in the data structure.
94
95
96 - EAP-AKA/SIM
97
98    Priority: Medium
99    Complexity: C2
100    Owner: Samuel Ortiz <sameo@linux.intel.com>
101
102    This EAP is needed for SIM card based network authentication.
103    ConnMan here plays a minor role: Once wpa_supplicant is set up for
104    starting and EAP-AKA/SIM authentication, it will talk to a SIM card
105    through its pcsc-lite API.
106
107
108 - EAP-FAST
109
110    Priority: Low
111    Complexity: C1
112
113
114 - WiFi p2p
115
116    Priority: Medium
117    Complexity: C2
118
119
120 - Removing wpa_supplicant 0.7.x legacy support
121
122   Priority: Low
123   Complexity: C1
124   Owner: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
125
126   Removing global country property setter in gsupplicant, and removing
127   wifi's technology set_regdom implementation. Removing autoscan fallback.
128   (Note: should be done around the end 2012)
129
130 Bluetooth
131 =========
132
133 - Remove Bluez 4.x support
134
135   Priority: Low
136   Complexity: C1
137
138   Remove plugins/bluetooth-legacy.c support in about 6 month (July 2013) or
139   when Bluez 4.x usage becomes minimal.
140
141 Cellular
142 ========
143
144
145 VPN
146 ===
147
148 - IPsec
149
150    Priority: Medium
151    Complexity: C4
152    Owner: Jukka Rissanen <jukka.rissanen@linux.intel.com>
153
154 - L2TP & PPTP compatibility prefix removal
155
156    Priority: Medium
157    Complexity: C1
158    When: connman 2.0
159
160    The VPN config file provisioning patchset contains code that makes
161    PPP options to be marked by "PPPD." prefix. The code supports also
162    old "L2TP." and "PPTP." prefix for PPP options. Remove the compatibility
163    code and only allow "PPPD." prefix for PPP options.
164
165
166 - Update VPNC and OpenVPN with Agent support
167
168    Priority: Medium
169    Complexity: C2
170
171    Update VPNC and OpenVPN with VPN Agent support to request possible user
172    ids and passphrases.
173
174
175 Tools
176 =====
177
178 - Add Clock API and MoveBefore/MoveAfter support to connmanctl
179
180    Priority: Low
181    Complexity: C2
182
183    The connmanctl command line tool should support Clock API and Service API
184    MoveBefore/MoveAfter.
185
186
187 User Interface
188 ==============
189
190 - GNOME3 UI
191
192    Priority: Low
193    Complexity: C4
194    Owner: Alok Barsode <alok.barsode@linux.intel.com>
195
196    A GNOME3 shell user interface would make it easier for mainstream distros
197    users to use ConnMan.