session: Remove deselect_previous_service()
[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 - 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 - DNS caching
30
31    Priority: Low
32    Complexity: C4
33
34    A simple initial implementation would see ConnMan's dnsproxy
35    caching the DNS record based on their TTL.
36
37
38 - Power management
39
40    Priority: Medium
41    Complexity: C4
42    Owner: Samuel Ortiz <sameo@linux.intel.com>
43
44    Implement a simple device pm hook that ConnMan's core code would
45    use whenever it decides to put devices in power save mode. Although
46    the kernel runtime power management code should take care of that,
47    not all driver (especially WiFi ones) implement runtime PM hooks.
48
49
50 - IP ranges allocation and check
51
52    Priority: High
53    Complexity: C2
54
55    For both tethering and private networks, but also to detect invalid
56    static IP configurations, we need to have a core IP range layer
57    that manages all currently used IP blocks.
58
59
60 - Personal firewall
61
62    Priority: Low
63    Complexity: C8
64    Owner: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
65
66    Discuss and implement a basic and safe firewalling strategy into
67    Connman. Provide a D-Bus API for personal firewalling.
68
69
70 - PACRunner extensions
71
72    Priority: Low
73    Complexity: C4
74
75    Support more URI schemes, support multiple connections, tighter
76    security integration.
77
78
79
80 WiFi
81 ====
82
83 - Ad-Hoc support
84
85    Priority: Medium
86    Complexity: C2
87    Owner: Samuel Ortiz <sameo@linux.intel.com>
88
89
90 - Fast Connect
91
92    Priority: Low
93    Complexity: C4
94    Owner: Samuel Ortiz <sameo@linux.intel.com>
95
96
97 - EAP-AKA/SIM
98
99    Priority: Medium
100    Complexity: C2
101    Owner: Samuel Ortiz <sameo@linux.intel.com>
102
103    This EAP is needed for SIM card based network authentication.
104    ConnMan here plays a minor role: Once wpa_supplicant is set up for
105    starting and EAP-AKA/SIM authentication, it will talk to a SIM card
106    through its pcsc-lite API.
107
108
109 - EAP-FAST
110
111    Priority: Low
112    Complexity: C1
113
114
115 - WiFi p2p
116
117    Priority: Medium
118    Complexity: C2
119
120
121
122 Bluetooth
123 =========
124
125 - DUN client
126
127    Priority: Low
128    Complexity: C4
129    Owner: Mario Tokarz <mario.tokarz@bmw-carit.de>
130
131
132
133 Cellular
134 ========
135
136
137 VPN
138 ===
139
140 - l2tp support
141
142    Priority: Low
143    Complexity: C2
144    Owner: Mohamed Abbas <mohamed.abbas@intel.com>
145
146
147 - pptp support
148
149    Priority: Low
150    Complexity: C2
151    Owner: Mohamed Abbas <mohamed.abbas@intel.com>
152
153
154 - IPsec
155
156    Priority: Low
157    Complexity: C4
158
159
160 - Split tunnelling
161
162    Priority: Low
163    Complexity: C8
164    Dependencies: Core:Private networks
165
166    The current VPN support puts the VPN interface at the top of the
167    service list, giving VPNs the default route. When doing split
168    tunneling, the system routes packet to the VPN interface for
169    private IPs, while going through the default interface for the rest
170    of the traffic.