summaryrefslogtreecommitdiff
path: root/TODO
blob: 9b916d54406c31ffaf6cf8aa22b79ffed10d31aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
Background
==========

- Priority scale: High, Medium and Low

- Complexity scale: C1, C2, C4 and C8.
   The complexity scale is exponential, with complexity 1 being the
   lowest complexity. Complexity is a function of both task 'complexity'
   and task 'scope'.


Core
====

- Session API implementation

   Priority: High
   Complexity: C4
   Owner: Daniel Wagner <daniel.wagner@bmw-carit.de>
   Owner: Patrik Flykt <patrik.flykt@linux.intel.com>

   The session API should provide a connection abstraction in order to
   prioritize applications network accesses, prevent or allow network
   and bearer roaming, or provide applications with a way to request
   for periodic network connections. On-demand connections will be
   implemented through this API as well.
   See http://www.mail-archive.com/connman@connman.net/msg01653.html


- Personal firewall

   Priority: Low
   Complexity: C8
   Owner: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>

   Discuss and implement a basic and safe firewalling strategy into
   Connman. Provide a D-Bus API for personal firewalling.


- PACRunner extensions

   Priority: Low
   Complexity: C4

   Support more URI schemes, support multiple connections, tighter
   security integration.


- Check logging produced by connman_info()

   Priority: Medium
   Complexity: C1

   Check that logging produced by connman_info() contains meaningful messages
   and get rid of the unnecessary ones.


- Support for multiple agents

  Priority: Medium
  Complexity: C2

  Allow to register multiple agents. Each unique system bus name owner
  however is only allowed to register one agent.

  The selection of which agents is used  should be matched by bus name
  owner if possible or first come first serve. A graceful fallback to
  the next agent should be also used in case of malfunctional agents.

- Remove --nobacktrace option

 Priority: Medium
 Complexity: C1
 When: 2.0

 Remove the --nobacktrace option or change it to --backtrace depending on the
 level of systemd integration or other factors.


- Clean up type definitions

   Priority: Medium
   Complexity: C1

   Go through variable types and use the following:
   * bool from <stdbool.h> instead of connman_bool_t and gboolean, in the
     latter case in those places it makes sense


- Clean up data structure usage

   Priority: Medium
   Complexity: C4

   Use hash tables, queues and lists in the code. Replace GSequences with
   simpler structures. At the same time do a check on the currently used
   data structures and see if something can be simplified.


- Unit tests for DHCP, DNS and HTTP

   Priority: Medium
   Complexity: C4

   Create unit tests for these components starting with DHCP. Use gtest
   from GLib for this task similarly to what has been done for OBEX in Bluez
   and oFono in general.


WiFi
====

- Clean up WiFi data structure usage

   Priority: Medium
   Complexity: C2

   Struct wifi_data is passed as a pointer in some of the wifi plugin
   callbacks. For example removing a WiFi USB stick causes RTNL and
   wpa_supplicant to call the wifi plugin at the same time causing the
   freeing of the wifi data structure. Fix up the code to have proper
   reference counting or other handling in place for the shared wifi data
   and the members in the data structure.


- EAP-AKA/SIM

   Priority: Medium
   Complexity: C2
   Owner: Samuel Ortiz <sameo@linux.intel.com>

   This EAP is needed for SIM card based network authentication.
   ConnMan here plays a minor role: Once wpa_supplicant is set up for
   starting and EAP-AKA/SIM authentication, it will talk to a SIM card
   through its pcsc-lite API.


- EAP-FAST

   Priority: Low
   Complexity: C1


- WiFi p2p

   Priority: Medium
   Complexity: C2


- Removing wpa_supplicant 0.7.x legacy support

  Priority: Low
  Complexity: C1
  Owner: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>

  Removing global country property setter in gsupplicant, and removing
  wifi's technology set_regdom implementation. Removing autoscan fallback.
  (Note: should be done around the end 2012)

Bluetooth
=========

- Remove Bluez 4.x support

  Priority: Low
  Complexity: C1

  Remove plugins/bluetooth-legacy.c support in about 6 month (July 2013) or
  when Bluez 4.x usage becomes minimal.

Cellular
========


VPN
===

- IPsec

   Priority: Medium
   Complexity: C4
   Owner: Jukka Rissanen <jukka.rissanen@linux.intel.com>

- L2TP & PPTP compatibility prefix removal

   Priority: Medium
   Complexity: C1
   When: connman 2.0

   The VPN config file provisioning patchset contains code that makes
   PPP options to be marked by "PPPD." prefix. The code supports also
   old "L2TP." and "PPTP." prefix for PPP options. Remove the compatibility
   code and only allow "PPPD." prefix for PPP options.

Tools
=====

- Add Agent mode to connmanctl command line tool

   Priority: Medium
   Complexity: C2

   connmanctl should implement agent prompting when started with a suitable
   command line option. Agent mode should also be enabled when in interactive
   mode.


User Interface
==============

- GNOME3 UI

   Priority: Low
   Complexity: C4
   Owner: Alok Barsode <alok.barsode@linux.intel.com>

   A GNOME3 shell user interface would make it easier for mainstream distros
   users to use ConnMan.