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