4 - Priority scale: High, Medium and Low
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'
20 Discuss and implement a basic and safe firewalling strategy into
21 Connman. Provide a D-Bus API for personal firewalling.
24 - PACRunner extensions
29 Support more URI schemes, support multiple connections, tighter
33 - Check logging produced by connman_info()
38 Check that logging produced by connman_info() contains meaningful messages
39 and get rid of the unnecessary ones.
42 - Remove --nobacktrace option
48 Remove the --nobacktrace option or change it to --backtrace depending on
49 the level of systemd integration or other factors.
52 - Clean up data structure usage
57 Use hash tables, queues and lists in the code. Check on the currently used
58 data structures and see if something can be simplified.
61 - Unit tests for DHCP, DNS and HTTP
66 Create unit tests for these components starting with DHCP. Use gtest
67 from GLib for this task similarly to what has been done for OBEX in Bluez
71 - Support other time sources than NTP
76 Support other time sources like cellular, GPS in addition to NTP.
79 - Get interface names from src/device.c
84 Instead of using ioctls in connman_inet_ifindex and connman_inet_ifname,
85 utilize the information already provided by netlink in src/device.c.
88 - Support D-Bus ObjectManager
93 Support D-Bus ObjectManager by using functionality already present in
94 ./gdbus. Method calls and signals are already registered with gdbus, but
95 properties and replies especially in Agent are still handled with plain
96 dbus library function calls.
98 With this, Manager API is removed, and a WiFi P2P API based on
99 ObjectManager common to Linux desktops can be implemented.
105 - Verify if bridge has been correctly created and configured
110 When enabling tethering check if there was any error while creating and
111 configuring the bridge before continue. It has been done only for WiFi
112 technology, for other tethering technologies it should be evaluated
113 and implemented in case it is advantageous.
119 - Clean up WiFi data structure usage
124 Struct wifi_data is passed as a pointer in some of the wifi plugin
125 callbacks. For example removing a WiFi USB stick causes RTNL and
126 wpa_supplicant to call the wifi plugin at the same time causing the
127 freeing of the wifi data structure. Fix up the code to have proper
128 reference counting or other handling in place for the shared wifi data
129 and the members in the data structure.
137 This EAP is needed for SIM card based network authentication.
138 ConnMan here plays a minor role: Once wpa_supplicant is set up for
139 starting and EAP-AKA/SIM authentication, it will talk to a SIM card
140 through its pcsc-lite API.
149 - Removing wpa_supplicant 0.7.x legacy support
154 Removing global country property setter in gsupplicant, and removing
155 wifi's technology set_regdom implementation. Removing autoscan fallback.
156 (Note: should be done around the end 2012)
176 - L2TP & PPTP compatibility prefix removal
182 The VPN config file provisioning patchset contains code that makes
183 PPP options to be marked by "PPPD." prefix. The code supports also
184 old "L2TP." and "PPTP." prefix for PPP options. Remove the compatibility
185 code and only allow "PPPD." prefix for PPP options.
188 - Update VPNC and OpenVPN with Agent support
193 Update VPNC and OpenVPN with VPN Agent support to request possible user
197 - Change OpenConnect plugin to use libopenconnect
202 Current implementation of OpenConnect uses screenscraping and interactive
203 mode for accepting self signed certificates and reacting to PKCS pass
204 phrase requests. This should be replaced with libopenconnect use. It may be
205 worthwhile to attempt to replace the whole authentication with the use of
206 openconnect_obtain_cookie() whatever authentication type is used. This
207 would lead to using only the cookie when connecting (--cookie-on-stdin)
208 and would cleanup the code at run_connect().
210 The usage of stdout can be removed as unnecessary. Cookie should be
211 retrieved with openconnect_obtain_cookie(). Remove this also from
214 Function is_valid_protocol() must use openconnect_get_supported_protocols.
215 Also the static const char *protocols[] would be unnecessary.
217 Reading the stderr with byte-by-byte approach is to be removed, as well as
218 are the PKCS failures and requests in stderr IO channel processing.
220 The use of interactive mode toggle is to be removed. Non-interactive mode
221 must be used, which leads to using --syslog with each authentication type
224 If the peer certificate cannot be verified with normal means it is because
225 the peer certificate is self signed and the user setting
226 "AllowSelfSignedCert" has to be used for the verify certificate callback
227 reply. The callback for certificate validation must return zero if user has
228 allowed self signed certificates. In such case save the SHA1 fingerprint of
229 server certificate as it is done now, otherwise indicate error to
235 - Add Clock API support to connmanctl
240 The connmanctl command line tool should support Clock API.