TODO: Update type definitions cleanup task
[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. Replace GSequences with
96    simpler structures. At the same time do a check on the currently used
97    data structures and see if something can be simplified.
98
99
100 - Unit tests for DHCP, DNS and HTTP
101
102    Priority: Medium
103    Complexity: C4
104
105    Create unit tests for these components starting with DHCP. Use gtest
106    from GLib for this task similarly to what has been done for OBEX in Bluez
107    and oFono in general.
108
109
110 WiFi
111 ====
112
113 - Clean up WiFi data structure usage
114
115    Priority: Medium
116    Complexity: C2
117
118    Struct wifi_data is passed as a pointer in some of the wifi plugin
119    callbacks. For example removing a WiFi USB stick causes RTNL and
120    wpa_supplicant to call the wifi plugin at the same time causing the
121    freeing of the wifi data structure. Fix up the code to have proper
122    reference counting or other handling in place for the shared wifi data
123    and the members in the data structure.
124
125
126 - EAP-AKA/SIM
127
128    Priority: Medium
129    Complexity: C2
130    Owner: Samuel Ortiz <sameo@linux.intel.com>
131
132    This EAP is needed for SIM card based network authentication.
133    ConnMan here plays a minor role: Once wpa_supplicant is set up for
134    starting and EAP-AKA/SIM authentication, it will talk to a SIM card
135    through its pcsc-lite API.
136
137
138 - EAP-FAST
139
140    Priority: Low
141    Complexity: C1
142
143
144 - WiFi p2p
145
146    Priority: Medium
147    Complexity: C2
148
149
150 - Removing wpa_supplicant 0.7.x legacy support
151
152   Priority: Low
153   Complexity: C1
154   Owner: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
155
156   Removing global country property setter in gsupplicant, and removing
157   wifi's technology set_regdom implementation. Removing autoscan fallback.
158   (Note: should be done around the end 2012)
159
160 Bluetooth
161 =========
162
163 - Remove Bluez 4.x support
164
165   Priority: Low
166   Complexity: C1
167
168   Remove plugins/bluetooth-legacy.c support in about 6 month (July 2013) or
169   when Bluez 4.x usage becomes minimal.
170
171 Cellular
172 ========
173
174
175 VPN
176 ===
177
178 - IPsec
179
180    Priority: Medium
181    Complexity: C4
182    Owner: Jukka Rissanen <jukka.rissanen@linux.intel.com>
183
184 - L2TP & PPTP compatibility prefix removal
185
186    Priority: Medium
187    Complexity: C1
188    When: connman 2.0
189
190    The VPN config file provisioning patchset contains code that makes
191    PPP options to be marked by "PPPD." prefix. The code supports also
192    old "L2TP." and "PPTP." prefix for PPP options. Remove the compatibility
193    code and only allow "PPPD." prefix for PPP options.
194
195 Tools
196 =====
197
198 - Add Agent mode to connmanctl command line tool
199
200    Priority: Medium
201    Complexity: C2
202
203    connmanctl should implement agent prompting when started with a suitable
204    command line option. Agent mode should also be enabled when in interactive
205    mode.
206
207
208 User Interface
209 ==============
210
211 - GNOME3 UI
212
213    Priority: Low
214    Complexity: C4
215    Owner: Alok Barsode <alok.barsode@linux.intel.com>
216
217    A GNOME3 shell user interface would make it easier for mainstream distros
218    users to use ConnMan.