Add SSID and Frequency mixed scan.
[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
20    Discuss and implement a basic and safe firewalling strategy into
21    Connman. Provide a D-Bus API for personal firewalling.
22
23
24 - PACRunner extensions
25
26    Priority: Low
27    Complexity: C4
28
29    Support more URI schemes, support multiple connections, tighter
30    security integration.
31
32
33 - Check logging produced by connman_info()
34
35    Priority: Medium
36    Complexity: C1
37
38    Check that logging produced by connman_info() contains meaningful messages
39    and get rid of the unnecessary ones.
40
41
42 - Remove --nobacktrace option
43
44    Priority: Medium
45    Complexity: C1
46    When: 2.0
47
48    Remove the --nobacktrace option or change it to --backtrace depending on
49    the level of systemd integration or other factors.
50
51
52 - Clean up data structure usage
53
54    Priority: Medium
55    Complexity: C4
56
57    Use hash tables, queues and lists in the code. Check on the currently used
58    data structures and see if something can be simplified.
59
60
61 - Unit tests for DHCP, DNS and HTTP
62
63    Priority: Low
64    Complexity: C4
65
66    Create unit tests for these components starting with DHCP. Use gtest
67    from GLib for this task similarly to what has been done for OBEX in Bluez
68    and oFono in general.
69
70
71 - Support other time sources than NTP
72
73    Priority: Low
74    Complexity: C2
75
76    Support other time sources like cellular, GPS in addition to NTP.
77
78
79 - Get interface names from src/device.c
80
81    Priority: Low
82    Complexity: C2
83
84    Instead of using ioctls in connman_inet_ifindex and connman_inet_ifname,
85    utilize the information already provided by netlink in src/device.c.
86
87
88 - Support D-Bus ObjectManager
89
90    Priority: Medium
91    Complexity: C4
92
93    Support D-Bus ObjectManager by using functionality already present in
94    ./gdbus. Method calls and signals are already registered with gdbus, but
95    properties and replies especially in Agent are still handled with plain
96    dbus library function calls.
97
98    With this, Manager API is removed, and a WiFi P2P API based on
99    ObjectManager common to Linux desktops can be implemented.
100
101
102 Tethering
103 =========
104
105 - Verify if bridge has been correctly created and configured
106
107    Priority: Low
108    Complexity: C1
109
110    When enabling tethering check if there was any error while creating and
111    configuring the bridge before continue. It has been done only for WiFi
112    technology, for other tethering technologies it should be evaluated
113    and implemented in case it is advantageous.
114
115
116 WiFi
117 ====
118
119 - Clean up WiFi data structure usage
120
121    Priority: Medium
122    Complexity: C2
123
124    Struct wifi_data is passed as a pointer in some of the wifi plugin
125    callbacks. For example removing a WiFi USB stick causes RTNL and
126    wpa_supplicant to call the wifi plugin at the same time causing the
127    freeing of the wifi data structure. Fix up the code to have proper
128    reference counting or other handling in place for the shared wifi data
129    and the members in the data structure.
130
131
132 - EAP-AKA/SIM
133
134    Priority: Medium
135    Complexity: C2
136
137    This EAP is needed for SIM card based network authentication.
138    ConnMan here plays a minor role: Once wpa_supplicant is set up for
139    starting and EAP-AKA/SIM authentication, it will talk to a SIM card
140    through its pcsc-lite API.
141
142
143 - EAP-FAST
144
145    Priority: Low
146    Complexity: C1
147
148
149 - Removing wpa_supplicant 0.7.x legacy support
150
151   Priority: Low
152   Complexity: C1
153
154   Removing global country property setter in gsupplicant, and removing
155   wifi's technology set_regdom implementation. Removing autoscan fallback.
156   (Note: should be done around the end 2012)
157
158
159 Bluetooth
160 =========
161
162
163 Cellular
164 ========
165
166
167 VPN
168 ===
169
170 - IPsec
171
172    Priority: Medium
173    Complexity: C4
174
175
176 - L2TP & PPTP compatibility prefix removal
177
178    Priority: Medium
179    Complexity: C1
180    When: connman 2.0
181
182    The VPN config file provisioning patchset contains code that makes
183    PPP options to be marked by "PPPD." prefix. The code supports also
184    old "L2TP." and "PPTP." prefix for PPP options. Remove the compatibility
185    code and only allow "PPPD." prefix for PPP options.
186
187
188 - Update VPNC and OpenVPN with Agent support
189
190    Priority: Medium
191    Complexity: C2
192
193    Update VPNC and OpenVPN with VPN Agent support to request possible user
194    ids and passphrases.
195
196
197 Tools
198 =====
199
200 - Add Clock API support to connmanctl
201
202    Priority: Low
203    Complexity: C2
204
205    The connmanctl command line tool should support Clock API.