mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-24 20:40:06 +01:00
* TODO - new task: proper logging support * info-daemon/NetworkManagerInfo.c - Correct spelling of "canceled" - Correct casting of objects for g_signal_connect() * info-daemon/NetworkManagerInfoDbus.c - Add defines for NetworkManager namespace and object path, and use them - Add filter function to trap new signals from NetworkManager: WirelessNetworkAppeared, WirelessNetworkDisappeared * info-daemon/passphrase.glade - Change name of "ok" button to "Login to Network..." - Mark invisible * src/NetworkManager.c - Code and debug message cleanups - Rename "nm_add_current_devices"->"nm_add_initial_devices" - (nm_add_initial_devices) Check returned string array of devices and don't try to add devices if array is NULL - (main) Initialize libhal a bit later, make code a bit clearer * src/NetworkManagerAP.[ch] - New accessor and data member "matched": used to speed up AP list diffing - New accessor and data member "enc_method": will be used during key fallback to cache which passphrase->key conversion actually works so we don't have to do it every time * src/NetworkManagerAPList.[ch] - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list - (nm_ap_list_diff) New: given two lists of access points, find the differences between them, and send WirelessNetworkAppeared/Disappeared signals over dbus in response to those differences * src/NetworkManagerDbus.[ch] - (nm_dbus_get_object_path_from_ap) New: given a device and an access point, make an object path for that access point (NOTE that we don't yet check to make sure that access point is actually in the device's AP list yet) - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared) New: signal appearance/disappearance of wireless networks - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled key entry * src/NetworkManagerDevice.[ch] - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves - (nm_device_ap_list_get) New: return the AP list (static function) - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the new one resulting from the scan with the old one * src/NetworkManagerWireless.c - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points * test/nminfotest.c - #define object paths and namespaces and use the #defines rather than static strings - Test out user-key functionality of NetworkManagerInfo too git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@33 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
57 lines
4.4 KiB
Text
57 lines
4.4 KiB
Text
TODO items for NetworkManager
|
|
-----------------------------
|
|
|
|
Any of these items are of course fair game for anyone, patches are greatly welcome. It also serves as a "what still needs to be done" list.
|
|
|
|
- Honor "cancelled" Wireless Networks
|
|
|
|
When a user cancels the request for a WEP key, NetworkManagerInfo returns "***cancelled***" as the WEP key, which we need to trap and honor. One method to do this could be to add a boolean value 'invalid' to NMAccessPoint, and upon a cancel message set 'invalid' to TRUE. NM would not attempt to associate with 'invalid' access points. The 'invalid' marker would be cleared when the AP it was for had any value changed in GConf, or when the AP it was for went out of range. This means more complicated logic in the wireless scanning, since we have to retain 'invalid' state across scans (the scanned AP list is destroyed every scan).
|
|
|
|
|
|
- Alert user of new Wireless Networks
|
|
|
|
This would again require preserving some state across wireless scans. We may need to hold the last scan while doing another, and diff the two structures at the end. We should also send DBUS signals onto the bus when wireless networks appear/disappear from a device. This would allow the UI portion (NetworkManagerInfo) to pop up some notification, and possibly ask the user whether he/she wants to add new wireless networks to the "allowed network" list
|
|
|
|
|
|
- Allow user-chosen Wireless Networks
|
|
|
|
If the user decides to associate with one particular wireless network, via a wireless network applet or something, we need to temporarily suspend device switching until that wireless network drops out. One way to do this might be a boolean value in the NMData structure that stops device switching, which would be cleared when the wireless network that the active_device is associated with disappears.
|
|
|
|
|
|
- Access Point link checking thresholds
|
|
|
|
Wireless link checking could be enhanced to check the signal strength of an access point and switch of the current access point a wireless card is associated with has dropped below say, 20%.
|
|
|
|
|
|
- Gracefully recover from dbus/hal and NetworkManagerInfo dropouts
|
|
|
|
There is currently no logic to gracefully recover from a crashed/killed dbus or hal. While we don't depend as heavily on NetworkManagerInfo, we need to make sure that we can operate effectively when it's not there. There are dbus functions for notification when services come up and go away which could be used here. Remeber that when dbus dies, hal also dies at the moment.
|
|
|
|
|
|
- Proper logging support
|
|
|
|
We need to replace NM_DEBUG_PRINT with proper logging support to syslog or something.
|
|
|
|
- Deal with blank ESSIDs
|
|
|
|
Access points can be set not to broadcast their ESSIDs, which the client must know. These appear as blank ESSIDs to cards doing wireless scanning, even though the rest of the AP's information is known (channel, rate, etc). There has to be a way to deal with this as many companies do not broadcast ESSIDs for security measures. Workarounds for this practice could include brute-forcing the Allowed Networks list if no suitable wireless network is found to begin with. Obviously, there would be no way to detect if a WEP key was wrong, because unless the ESSID and WEP key are both correct, we cannot associate with the access point to see if we have a link. Code exists to do this for wireless cards that do not support wireless scanning, and this code could be adapted.
|
|
|
|
- Shorten standoff time between Pending and Active device promotion
|
|
|
|
Currently, there is a 2 second wait between when a device is set as the Pending device, to when it may be promoted to Active device. 2 seconds is not technically necessary, the only reason to wait is that the GLib main loop must run at least once to deliver and receive queued up messages. This wait is also only necessary for wireless cards, where we may need to request a key from the user. This wait should be eliminated without breaking the Pending/Active device mechanism.
|
|
|
|
|
|
- Support static IP addresses
|
|
|
|
We need to support static IP addresses for interfaces. This should be done by parsing the normal /etc/sysconfig/network-scripts/ifcfg-* files.
|
|
|
|
|
|
- Store Allowed Network WEP keys in gnome-keyring
|
|
|
|
These keys should probably be encrypted, rather than being stored in GConf.
|
|
|
|
|
|
- Support 40/64 bit passphrases
|
|
|
|
Allow user to enter passphrases and convert them to 40/64 bit WEP keys on the fly. Unfortunately, the algorithm for 40/64 bit passphrases is kind of messy.
|
|
|