TODO: Set owner on core private networks implementation
[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    Owner: Guillaume Zajac <guillaume.zajac@linux.intel.com>
119
120    The private networks D-Bus API should provide applications with a
121    TUN interface linked to a reserved private IP range.
122    oFono DUN forwarding will use a private network for giving DUN
123    clients access to the default service connectivity.
124
125
126
127 WiFi
128 ====
129
130 - Ad-Hoc support
131
132    Priority: Medium
133    Complexity: C2
134    Owner: Samuel Ortiz <sameo@linux.intel.com>
135
136
137 - Fast Connect
138
139    Priority: Low
140    Complexity: C4
141    Owner: Samuel Ortiz <sameo@linux.intel.com>
142
143
144 - EAP-AKA/SIM
145
146    Priority: Medium
147    Complexity: C2
148    Owner: Samuel Ortiz <sameo@linux.intel.com>
149
150    This EAP is needed for SIM card based network authentication.
151    ConnMan here plays a minor role: Once wpa_supplicant is set up for
152    starting and EAP-AKA/SIM authentication, it will talk to a SIM card
153    through its pcsc-lite API.
154
155
156 - EAP-FAST
157
158    Priority: Low
159    Complexity: C1
160    Owner: Henri Bragge <henri.bragge@ixonos.com>
161
162
163 - EAP-GTC
164
165    Priority: Low
166    Complexity: C1
167    Owner: Henri Bragge <henri.bragge@ixonos.com>
168
169
170 - WiFi p2p
171
172    Priority: Medium
173    Complexity: C2
174
175
176
177 Bluetooth
178 =========
179
180 - DUN client
181
182    Priority: Low
183    Complexity: C4
184
185
186
187 Cellular
188 ========
189
190 - IPv6 and IPv6v4 cellular data connection
191
192    Priority: Medium
193    Complexity: C2
194    Owner: Samuel Ortiz <sameo@linux.intel.com>
195
196    Support IPv6 and dual stack cellular data connections.
197    oFono already supports it and provide an extensive D-Bus API for it.
198
199
200
201 VPN
202 ===
203
204 - l2tp support
205
206    Priority: Low
207    Complexity: C2
208    Owner: Mohamed Abbas <mohamed.abbas@intel.com>
209
210
211 - pptp support
212
213    Priority: Low
214    Complexity: C2
215    Owner: Mohamed Abbas <mohamed.abbas@intel.com>
216
217
218 - IPsec
219
220    Priority: Low
221    Complexity: C4
222
223
224 - Split tunnelling
225
226    Priority: Low
227    Complexity: C8
228    Dependencies: Core:Private networks
229
230    The current VPN support puts the VPN interface at the top of the
231    service list, giving VPNs the default route. When doing split
232    tunneling, the system routes packet to the VPN interface for
233    private IPs, while going through the default interface for the rest
234    of the traffic.