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