TODO: Add unit test 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 - Favorite service migration removal
59
60   Priority: Medium
61   Complexity: C1
62   When: 12/2012
63
64   Remove service migration code that moves services from default.profile
65   to the current directory-based structure.
66
67 - Support for multiple agents
68
69   Priority: Medium
70   Complexity: C2
71
72   Allow to register multiple agents. Each unique system bus name owner
73   however is only allowed to register one agent.
74
75   The selection of which agents is used  should be matched by bus name
76   owner if possible or first come first serve. A graceful fallback to
77   the next agent should be also used in case of malfunctional agents.
78
79 - Remove --nobacktrace option
80
81  Priority: Medium
82  Complexity: C1
83  When: 2.0
84
85  Remove the --nobacktrace option or change it to --backtrace depending on the
86  level of systemd integration or other factors.
87
88
89 - Clean up type definitions
90
91    Priority: Medium
92    Complexity: C1
93
94    Go through variable types and use the following:
95    * uint8_t instead of connman_uint8_t, unsigned char
96    * uint16_t instead of connman_uint16_t, unsigned short
97    * bool from <stdbool.h> instead of connman_bool_t and gboolean, in the
98      latter case in those places it makes sense
99
100
101 - Clean up data structure usage
102
103    Priority: Medium
104    Complexity: C4
105
106    Use hash tables, queues and lists in the code. Replace GSequences with
107    simpler structures. At the same time do a check on the currently used
108    data structures and see if something can be simplified.
109
110
111 - Unit tests for DHCP, DNS and HTTP
112
113    Priority: Medium
114    Complexity: C4
115
116    Create unit tests for these components starting with DHCP. Use gtest
117    from GLib for this task similarly to what has been done for OBEX in Bluez
118    and oFono in general.
119
120
121 WiFi
122 ====
123
124 - Clean up WiFi data structure usage
125
126    Priority: Medium
127    Complexity: C2
128
129    Struct wifi_data is passed as a pointer in some of the wifi plugin
130    callbacks. For example removing a WiFi USB stick causes RTNL and
131    wpa_supplicant to call the wifi plugin at the same time causing the
132    freeing of the wifi data structure. Fix up the code to have proper
133    reference counting or other handling in place for the shared wifi data
134    and the members in the data structure.
135
136
137 - EAP-AKA/SIM
138
139    Priority: Medium
140    Complexity: C2
141    Owner: Samuel Ortiz <sameo@linux.intel.com>
142
143    This EAP is needed for SIM card based network authentication.
144    ConnMan here plays a minor role: Once wpa_supplicant is set up for
145    starting and EAP-AKA/SIM authentication, it will talk to a SIM card
146    through its pcsc-lite API.
147
148
149 - EAP-FAST
150
151    Priority: Low
152    Complexity: C1
153
154
155 - WiFi p2p
156
157    Priority: Medium
158    Complexity: C2
159
160
161 - Removing wpa_supplicant 0.7.x legacy support
162
163   Priority: Low
164   Complexity: C1
165   Owner: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
166
167   Removing global country property setter in gsupplicant, and removing
168   wifi's technology set_regdom implementation. Removing autoscan fallback.
169   (Note: should be done around the end 2012)
170
171 Bluetooth
172 =========
173
174
175 Cellular
176 ========
177
178
179 VPN
180 ===
181
182 - IPsec
183
184    Priority: Medium
185    Complexity: C4
186    Owner: Jukka Rissanen <jukka.rissanen@linux.intel.com>
187
188
189 WiMAX
190 =====
191
192 - WiMAX removal
193
194    Priority: Medium
195    Complexity: C1
196    When: 12/2012
197
198    WiMAX plugin is unmaintained. Remove WiMAX plugin, service type definitions
199    and associated code.
200
201
202 Tools
203 =====
204
205 - Add Agent mode to connmanctl command line tool
206
207    Priority: Medium
208    Complexity: C2
209
210    connmanctl should implement agent prompting when started with a suitable
211    command line option. Agent mode should also be enabled when in interactive
212    mode.
213
214
215 User Interface
216 ==============
217
218 - GNOME3 UI
219
220    Priority: Low
221    Complexity: C4
222    Owner: Alok Barsode <alok.barsode@linux.intel.com>
223
224    A GNOME3 shell user interface would make it easier for mainstream distros
225    users to use ConnMan.