1b3974f7ea8d8f0648b60d9119b02cd570fc1cc0
[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 - Session API implementation
16
17    Priority: High
18    Complexity: C4
19    Owner: Daniel Wagner <daniel.wagner@bmw-carit.de>
20    Owner: Patrik Flykt <patrik.flykt@linux.intel.com>
21
22    The session API should provide a connection abstraction in order to
23    prioritize applications network accesses, prevent or allow network
24    and bearer roaming, or provide applications with a way to request
25    for periodic network connections. On-demand connections will be
26    implemented through this API as well.
27    See http://www.mail-archive.com/connman@connman.net/msg01653.html
28
29
30 - Personal firewall
31
32    Priority: Low
33    Complexity: C8
34    Owner: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
35
36    Discuss and implement a basic and safe firewalling strategy into
37    Connman. Provide a D-Bus API for personal firewalling.
38
39
40 - PACRunner extensions
41
42    Priority: Low
43    Complexity: C4
44
45    Support more URI schemes, support multiple connections, tighter
46    security integration.
47
48
49 - Check logging produced by connman_info()
50
51    Priority: Medium
52    Complexity: C1
53
54    Check that logging produced by connman_info() contains meaningful messages
55    and get rid of the unnecessary ones.
56
57
58 - Support for multiple agents
59
60   Priority: Medium
61   Complexity: C2
62
63   Allow to register multiple agents. Each unique system bus name owner
64   however is only allowed to register one agent.
65
66   The selection of which agents is used  should be matched by bus name
67   owner if possible or first come first serve. A graceful fallback to
68   the next agent should be also used in case of malfunctional agents.
69
70 - Remove --nobacktrace option
71
72  Priority: Medium
73  Complexity: C1
74  When: 2.0
75
76  Remove the --nobacktrace option or change it to --backtrace depending on the
77  level of systemd integration or other factors.
78
79
80 - Clean up type definitions
81
82    Priority: Medium
83    Complexity: C1
84
85    Go through variable types and use the following:
86    * bool from <stdbool.h> instead of connman_bool_t and gboolean, in the
87      latter case in those places it makes sense
88
89
90 - Clean up data structure usage
91
92    Priority: Medium
93    Complexity: C4
94
95    Use hash tables, queues and lists in the code. Check on the currently used
96    data structures and see if something can be simplified.
97
98
99 - Unit tests for DHCP, DNS and HTTP
100
101    Priority: Medium
102    Complexity: C4
103
104    Create unit tests for these components starting with DHCP. Use gtest
105    from GLib for this task similarly to what has been done for OBEX in Bluez
106    and oFono in general.
107
108
109 - DHCPv6 DECLINE message support
110
111    Priority: Medium
112    Complexity: C2
113
114
115 - Support other time sources than NTP
116
117    Priority: Medium
118    Complexity: C2
119
120    Support other time sources like cellular, GPS in addition to NTP.
121
122
123 WiFi
124 ====
125
126 - Clean up WiFi data structure usage
127
128    Priority: Medium
129    Complexity: C2
130
131    Struct wifi_data is passed as a pointer in some of the wifi plugin
132    callbacks. For example removing a WiFi USB stick causes RTNL and
133    wpa_supplicant to call the wifi plugin at the same time causing the
134    freeing of the wifi data structure. Fix up the code to have proper
135    reference counting or other handling in place for the shared wifi data
136    and the members in the data structure.
137
138
139 - EAP-AKA/SIM
140
141    Priority: Medium
142    Complexity: C2
143    Owner: Samuel Ortiz <sameo@linux.intel.com>
144
145    This EAP is needed for SIM card based network authentication.
146    ConnMan here plays a minor role: Once wpa_supplicant is set up for
147    starting and EAP-AKA/SIM authentication, it will talk to a SIM card
148    through its pcsc-lite API.
149
150
151 - EAP-FAST
152
153    Priority: Low
154    Complexity: C1
155
156
157 - WiFi p2p
158
159    Priority: Medium
160    Complexity: C2
161
162
163 - Removing wpa_supplicant 0.7.x legacy support
164
165   Priority: Low
166   Complexity: C1
167   Owner: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
168
169   Removing global country property setter in gsupplicant, and removing
170   wifi's technology set_regdom implementation. Removing autoscan fallback.
171   (Note: should be done around the end 2012)
172
173 Bluetooth
174 =========
175
176 - Remove Bluez 4.x support
177
178   Priority: Low
179   Complexity: C1
180
181   Remove plugins/bluetooth-legacy.c support in about 6 month (July 2013) or
182   when Bluez 4.x usage becomes minimal.
183
184 Cellular
185 ========
186
187
188 VPN
189 ===
190
191 - IPsec
192
193    Priority: Medium
194    Complexity: C4
195    Owner: Jukka Rissanen <jukka.rissanen@linux.intel.com>
196
197 - L2TP & PPTP compatibility prefix removal
198
199    Priority: Medium
200    Complexity: C1
201    When: connman 2.0
202
203    The VPN config file provisioning patchset contains code that makes
204    PPP options to be marked by "PPPD." prefix. The code supports also
205    old "L2TP." and "PPTP." prefix for PPP options. Remove the compatibility
206    code and only allow "PPPD." prefix for PPP options.
207
208
209 Tools
210 =====
211
212 - Add Session mode, VPN and Clock API support to connmanctl command line tool
213
214    Priority: Low
215    Complexity: C2
216
217    The connmanctl command line tool should support Session mode and VPN
218    Agent with a set of suitable commands used in both interactive and
219    non-interactive mode. Also add support for Clock API.
220
221
222 User Interface
223 ==============
224
225 - GNOME3 UI
226
227    Priority: Low
228    Complexity: C4
229    Owner: Alok Barsode <alok.barsode@linux.intel.com>
230
231    A GNOME3 shell user interface would make it easier for mainstream distros
232    users to use ConnMan.