TODO update
[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 Core
12 ====
13
14 - connman_element removal
15
16    Priority: Low
17    Complexity: C8
18    Owner: Samuel Ortiz <sameo@linux.intel.com>
19
20
21 - Session API implementation
22
23    Priority: High
24    Complexity: C4
25    Owner: Daniel Wagner <daniel.wagner@bmw-carit.de>
26    Owner: Samuel Ortiz <sameo@linux.intel.com>
27
28    The session API should provide a connection abstraction in order to
29    prioritize applications network accesses, prevent or allow network
30    and bearer roaming, or provide applications with a way to request
31    for periodic network connections. On-demand connections will be
32    implemented through this API as well.
33    See http://www.mail-archive.com/connman@connman.net/msg01653.html
34
35
36 - Provisioning D-Bus API
37
38    Priority: Medium
39    Complexity: C2
40    Owner: Henri Bragge <henri.bragge@ixonos.com>
41
42    The current service provisioning lacks a D-Bus interface for modifying
43    existing configurations.
44
45
46 - WiSPR support
47
48    Priority: Medium
49    Complexity: C4
50    Owner: Marcel Holtmann <marcel@holtmann.org>
51
52    Based on the portal detection parsing results, and provisioned
53    credentials, ConnMan should be able to initiate a WiSPR authentication.
54
55
56 - DNS caching
57
58    Priority: Low
59    Complexity: C4
60
61    A simple initial implementation would see ConnMan's dnsproxy
62    caching the DNS record based on their TTL.
63
64
65 - Power management
66
67    Priority: Medium
68    Complexity: C4
69    Owner: Samuel Ortiz <sameo@linux.intel.com>
70
71    Implement a simple device pm hook that ConnMan's core code would
72    use whenever it decides to put devices in power save mode. Although
73    the kernel runtime power management code should take care of that,
74    not all driver (especially WiFi ones) implement runtime PM hooks.
75
76
77 - IPv6 gateway handling
78
79    Priority: Medium
80    Complexity: C4
81
82    We should be able to switch between IPv6 only services and thus
83    change the default IPv6 gateway on the fly. For that we need to
84    improve the connection.c code to properly handle IPv6 gateways.
85
86
87 - IP ranges allocation and check
88
89    Priority: High
90    Complexity: C2
91
92    For both tethering and private networks, but also to detect invalid
93    static IP configurations, we need to have a core IP range layer
94    that manages all currently used IP blocks.
95
96
97 - Personal firewall
98
99    Priority: Low
100    Complexity: C8
101
102    Extend the iptables code and provide a D-Bus API for personal firewalling.
103
104
105 - PACRunner extensions
106
107    Priority: Low
108    Complexity: C4
109
110    Support more URI schemes, support multiple connections, tighter
111    security integration.
112
113
114 - Private networks
115
116    Priority: Medium
117    Complexity: C4
118
119    The private networks D-Bus API should provide applications with a
120    TUN interface linked to a reserved private IP range.
121    oFono DUN forwarding will use a private network for giving DUN
122    clients access to the default service connectivity.
123
124
125
126 WiFi
127 ====
128
129 - Ad-Hoc support
130
131    Priority: Medium
132    Complexity: C2
133    Owner: Samuel Ortiz <sameo@linux.intel.com>
134
135
136 - Fast Connect
137
138    Priority: Low
139    Complexity: C4
140    Owner: Samuel Ortiz <sameo@linux.intel.com>
141
142
143 - EAP-AKA/SIM
144
145    Priority: Medium
146    Complexity: C2
147    Owner: Samuel Ortiz <sameo@linux.intel.com>
148
149    This EAP is needed for SIM card based network authentication.
150    ConnMan here plays a minor role: Once wpa_supplicant is set up for
151    starting and EAP-AKA/SIM authentication, it will talk to a SIM card
152    through its pcsc-lite API.
153
154
155 - EAP-FAST
156
157    Priority: Low
158    Complexity: C1
159    Owner: Henri Bragge <henri.bragge@ixonos.com>
160
161
162 - EAP-GTC
163
164    Priority: Low
165    Complexity: C1
166    Owner: Henri Bragge <henri.bragge@ixonos.com>
167
168
169 - WiFi p2p
170
171    Priority: Medium
172    Complexity: C2
173
174
175
176 Bluetooth
177 =========
178
179 - DUN client
180
181    Priority: Low
182    Complexity: C4
183
184
185
186 Cellular
187 ========
188
189 - IPv6 and IPv6v4 cellular data connection
190
191    Priority: Medium
192    Complexity: C2
193    Owner: Samuel Ortiz <sameo@linux.intel.com>
194
195    Support IPv6 and dual stack cellular data connections.
196    oFono already supports it and provide an extensive D-Bus API for it.
197
198
199
200 VPN
201 ===
202
203 - l2tp support
204
205    Priority: Low
206    Complexity: C2
207    Owner: Mohamed Abbas <mohamed.abbas@intel.com>
208
209
210 - pptp support
211
212    Priority: Low
213    Complexity: C2
214    Owner: Mohamed Abbas <mohamed.abbas@intel.com>
215
216
217 - IPsec
218
219    Priority: Low
220    Complexity: C4
221
222
223 - Split tunnelling
224
225    Priority: Low
226    Complexity: C8
227    Dependencies: Core:Private networks
228
229    The current VPN support puts the VPN interface at the top of the
230    service list, giving VPNs the default route. When doing split
231    tunneling, the system routes packet to the VPN interface for
232    private IPs, while going through the default interface for the rest
233    of the traffic.