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