2008-02-12 Dan Williams Release 0.6.5.98 (0.6.6rc1) 2008-02-12 Dan Williams * src/nm-device-802-11-wireless.c - (nm_device_802_11_wireless_dispose): don't try to disconnect an unconnected wireless event handler 2008-02-12 Dan Williams Patch from Jean Tourrilhes * src/nm-device-802-11-wireless.c - (wireless_event_helper): use iwlib event processing helpers 2008-02-11 Dan Williams Fix gnome.org #399292 * utils/nm-utils.c utils/nm-utils.h - (nm_dbus_escape_object_path -> nm_dbus_escape_object_path_item): don't pass '/' through, escape it too; therefore the function is no longer suitable for escaping entire object paths, but only elements of an object path. Helps fixing crashes due to libdbus assertions when trying to push invalid object paths through. * src/NetworkManagerDbus.c - (nm_dbus_get_object_path_for_device, nm_dbus_get_object_path_for_network, nm_dbus_get_device_from_escaped_object_path, nm_dbus_devices_message_handler): escape individual elements of the object path, not the whole path * src/nm-dbus-nm.c - (nm_dbus_nm_create_test_device): escape individual elements of the object path, not the whole path * src/nm-dbus-net.c - (nm_dbus_get_ap_from_object_path): escape individual elements of the object path, not the whole path 2008-02-11 Dan Williams * src/nm-device-802-11-wireless.c src/nm-device-802-11-wireless.h - (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove, unused 2008-02-05 Tambet Ingo * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Don't unref AP twice. Fixes a memory corruption crash on wireless device deactivation. 2008-01-30 Tambet Ingo * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Add some information on what produced the content (process name and pid). 2008-01-30 Dan Williams * src/nm-device-802-3-ethernet.c - (real_update_link): factor common link checking code out into poll_link_state() - (real_deactivate_quickly): schedule link state change in an idle handler rather than doing it immediately to prevent deadlocks 2008-01-30 Tambet Ingo Implement 802.1x wired authentication. 2008-01-30 Dan Williams * src/nm-device-802-11-wireless.c - (set_inactive_scan_timeout): be sure to clear the source since the timeout doesn't always get rescheduled 2008-01-29 Tambet Ingo * src/vpn-manager/nm-dbus-vpn.c (nm_dbus_vpn_connections_update_cb): Don't try to merge the VPN connections, just add everything. (nm_dbus_vpn_connections_update_from_nmi): Remove the existing VPN connections when a new instance of NMI service appears. * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_vpn_connection_list_copy): Remove. (nm_vpn_manager_clear_connections): Implement. 2008-01-29 Tambet Ingo * src/backends/NetworkManagerSuSE.c (nm_system_device_get_system_config): Fix the issue where NM doesn't honor YaST static IP settings. (bugzilla.novell.com #271757). 2008-01-23 Dan Williams * libnm-glib/libnm_glib.c - (libnm_glib_init): make thread joinable - (libnm_glib_ctx_free): join thread on exit to clean up memory 2008-01-23 Dan Williams * test/libnm_glib_test.c - (signal_handler, setup_signals): trap SIGINT and SIGTERM - (main): set up signal handlers; call libnm_glib_shutdown 2008-01-23 Dan Williams Fix gnome.org #511323 * src/NetworkManagerAPList.c - (nm_ap_list_merge_scanned_ap): if the AP being merged is hiding its SSID, but there's an AP in the device's list with the same BSSID that is not hidden, only update the strength and last-seen attributes of the devlist AP and keep the existing SSID. 2008-01-23 Dan Williams Fix up the scan algorithm to help gnome.org #498887. * src/nm-device-802-11-wireless.c src/nm-device-802-11-wireless.h - (nm_device_802_11_wireless_set_scan_interval): make static, and only change a specific device's scan interval. If the scan interval is now ACTIVE, schedule a scan at the earliest possible opportunity as long as the last scan was at least 20 seconds ago - (real_init, real_deactivate, - (real_start): use schedule_scan() instead of rolling the scan scheduling code manually - (set_scan_interval_cb -> set_inactive_scan_interval_cb): call nm_device_802_11_wireless_ui_activated() instead of nm_device_802_11_wireless_set_scan_interval() because the change is really global to all wireless devices - (set_inactive_scan_timeout): new function; reset the INVACTIVE scan interval timeout - (nm_device_802_11_wireless_ui_activated): reset the scan interval for all wireless devices - (request_and_convert_scan_results): don't set last_scan here - (scan_results_timeout): set last_scan here instead, and after the first successful scan, set the scan interval from INIT -> ACTIVE - (nm_device_802_11_wireless_scan): cleanups - (schedule_scan): take a new argument so that callers can specify the scan interval if they desire * src/NetworkManagerDbus.c - (nm_dbus_signal_filter): call nm_device_802_11_wireless_ui_activated() instead of nm_device_802_11_wireless_set_scan_interval() 2008-01-16 Dan Williams * src/nm-device-802-11-wireless.c - (real_act_stage4_ip_config_timeout): clean up the supplicant to ensure that the connection attempt starts fresh. Otherwise, when the key comes back, NM pukes and fails the new attempt because the supplicant can't terminate and start up again quickly enough 2008-01-16 Tambet Ingo Shuffle the code a bit in preparation for wired 802.1X authentication. * src/nm-device-802-11-wireless.c: Remove the supplicant driving code and use NMSuppicant instead. * src/nm-supplicant.[ch]: New files. The wpa_supplicant driving code is moved here from nm-device-802-11-wireless.c and refactored a bit so it can be shared by wired cards as well. 2008-01-10 Dan Williams Fix gnome.org #464215. Requires the kernel patch titled "Introduce WEXT scan capabilities" but will handle the patch not being present, you'll just continue to have problems with hidden SSIDs when using mac80211-based drivers. * src/nm-device-802-11-wireless.c - (real_init): check whether or not the driver supports SSID scans - (supplicant_send_network_config): if the driver supports SSID scans, and the AP is hidden, use ap_scan=1 instead of ap_scan=2 2008-01-10 Dan Williams * src/NetworkManager.c - (nm_killswitch_getpower_reply_cb): ensure DBusErrors are initialized before using them 2008-01-09 Dan Williams * src/NetworkManager.c - (nm_killswitch_getpower_reply_cb): handle different HAL versions better by matching the variable type with the D-Bus argument type 2008-01-09 Dan Williams * src/nm-ap-security-wpa-eap.c - (real_write_supplicant_config): send the 'fragment_size' option (but don't fail if it's not supported) 2008-01-06 Dan Williams * src/dhcp-manager/nm-dhcp-manager.c - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU (gnome.org #332953) 2008-01-06 Dan Williams Fixes gnome.org #466954 * src/nm-device-802-11-wireless.c - (find_supported_frequency): new function; find the first frequency the card appears to support from a given list - (supplicant_send_network_config): explicitly send a frequency the Ad-Hoc config should use, some cards require it. If the version of wpa_supplicant being used does not support the 'frequency' option, NetworkManager will ignore the error and proceed. 2008-01-04 Dan Williams * src/named-manager/nm-named-manager.c - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's nameservers if the secondary config doesn't have any (gnome.org #346833) 2008-01-04 Dan Williams * configure.in - Bump libnl requirement to 1.0-pre8 * src/NetworkManagerSystem.c - (new_nl_handle, destroy_nl_handle): port to libnl-1.0-pre8 - (iface_to_rtnl_index, iface_to_rtnl_link, nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index, nm_system_device_set_from_ip4_config, nm_system_vpn_device_set_from_ip4_config, nm_system_device_set_up_down_with_iface, nm_system_set_mtu): update for libnl-1.0-pre8 * src/nm-netlink-monitor.c - (nm_netlink_monitor_open_connection, nm_netlink_monitor_request_status): don't use netlink pids that conflict with libnl 2007-12-14 Dan Williams * src/vpn-properties/nm-vpn-properties.c - (init_app): hook up a double-click handler; select first item in the list if there is one (gnome.org #334883) 2007-12-09 Dan Williams * src/NetworkManager.c - (nm_killswitch_getpower_reply_cb): don't repeat errors too often (rh #246106) 2007-12-07 Dan Williams * src/NetworkManagerSystem.c - (new_nl_handle): ensure that the same netlink pid is never chosen twice (gnome.org #491047) 2007-12-07 Dan Williams * src/nm-device-802-11-wireless.c - (nm_device_802_11_wireless_set_essid): don't lock the SSID in the driver when setting a NULL ESSID (gnome.org #499565) 2007-12-07 Dan Williams * src/nm-device-802-11-wireless.c - Wrap #include of linux/mii.h to fix redefined structures due to incorrect kernel headers (gnome.org #350061) 2007-12-02 Dan Williams * src/NetworkManager.c - (nm_data_free): clean up dbus connection on exit 2007-12-02 Dan Williams * src/nm-device-802-11-wireless.c - (nm_device_802_11_wireless_get_mode): backport fix from trunk/r3015 for getting mode 2007-10-28 Priit Laes * configure.in: Added "et" (Estonian) to ALL_LINGUAS. 2007-08-30 Dan Williams * libnm-util/sha1.c - Include config.h to get defines for endiannes (gnome.org #420216) 2007-07-26 Dan Williams Patch from Bernhard Miklautz * src/NetworkManagerSystem.c - (nm_system_device_set_ip4_route): don't add the route if it's on the same subnet (#437396) 2007-07-26 Dan Williams * src/nm-device-802-11-wireless.c - (real_start): I hate orinoco; apparently has trouble scanning too soon after being brought up, so do the initial scan a bit later. 2007-06-27 Dan Williams * src/NetworkManager.c - (nm_hal_init): set hardware RF to enabled if no killswitches are found after the initial discovery 2007-06-21 Dan Williams More fixes for Fedora #194124, gnome.org #354565 * src/nm-device-802-3-ethernet.c - (real_act_stage1_prepare): new function; fail activation if device doesn't have a link * src/NetworkManagerPolicy.c - (nm_policy_activation_finish): ensure device is actually activated before sending out signals. Fixes a race where device cancellation would be processed right after finish was scheduled, but not run. - (nm_policy_device_change_check, nm_policy_schedule_device_change_check): ensure device change check GSource ID is locked across threads; allow interruption of activation of 802.3 ethernet devices that no longer have an active link, and ensure that 802.3 ethernet devices have an active link before starting activation 2007-06-21 Dan Williams Add HAL-based rfkill support, based on a patch from Benjamin Kahn. * src/NetworkManagerDbus.[ch] - (nm_dbus_signal_wireless_enabled): new function, emit signals when wireless enabled status changes * src/nm-dbus-nm.c - (nm_dbus_nm_set_wireless_enabled): handle hardware rfkill correctly; send errors when hardware switch overrides user request, and send signals when wireless enabled state changes - (nm_dbus_nm_get_wireless_enabled): send additional 'hardware rf enabled' argument in method reply * src/NetworkManager.c - (handle_killswitch_pcall_done, nm_killswitch_getpower_reply_cb, nm_poll_killswitches, nm_add_killswitch_device, nm_add_initial_killswitch_devices): new functions; detect and handle hardware killswitches exported by HAL. Unfortunately we have to poll the switches because HAL doesn't support signals for killswitches yet. - (nm_hal_device_new_capability): detect killswitches added asynchronously - (nm_hal_init): look for killswitches when connecting to HAL - (nm_hal_deinit): dispose of killswitches when deiniting HAL data * src/NetworkManagerMain.h - Add bits to track killswitches 2007-06-12 Dan Williams * src/nm-device.c - (real_act_stage3_ip_config_start): sometimes the device gets downed during the wpa_supplicant association. Ensure the device is up before it's used for IP configuration. 2007-06-07 Dan Williams Patch from Jon Nettleton * src/nm-device-802-11-wireless.c: - (real_act_stage2_config): sleep 1 second to allow link status to stabilize 2007-06-07 Dan Williams * (nm_device_802_3_ethernet_link_activated, nm_device_802_3_ethernet_link_deactivated): fix ethernet link detection behavior due to races between the netlink code and when the device thread recognizes the change. Checking the link state before scheduling the change even on the device thread is wrong. (gnome.org #354565, rh #194124) 2007-04-25 Dan Williams * initscript/RedHat/NetworkManager.in: remove trailing backslash (gnome.org #432401) 2007-04-18 Tambet Ingo * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network_cb): Update the security in allowed_ap_list AP. When a wireless device starts the connection, wpa_supplicant initiates a scan, so we always get scan results while activating. That in turn merges scan results with the ones from allowed_ap_list, loosing the security information from the user. 2007-04-16 Ihar Hrachyshka * configure.in: Added 'be@latin' to ALL_LINGUAS. 2007-04-09 Dan Williams * src/nm-device-802-11-wireless.c - (supplicant_exec): don't capture and redirect supplicant output, may be causing problems with wpa_supplicant. Instead, assume that wpa_supplicant is putting its debug output somewhere accessible - (real_act_stage2_config): start monitoring supplicant state earlier to catch fast associations 2007-04-02 Dan Williams Patch from Jean Tourrilhes * src/nm-device-802-11-wireless.c - (process_scan_results): use iwlib stream parsing to fix 64-bit value leakage issues 2007-04-02 Dan Williams Patch from Matthew Barnes * gnome/libnm_glib/libnm_glib.c - Close private connections before unreffing (gnome.org #405646) 2007-03-21 Pema Geyleg *configure.in: Added 'dz' to the list 2007-03-17 Dan Williams Consolidate common code for updating and getting the hardware address into nm-device.c. 2007-03-13 Dan Williams Patch from Tambet Ingo * src/nm-ap-security-leap.c - (nm_ap_security_leap_class_init): override default get_authentication_required - (real_get_authentication_required): LEAP requires authentication 2007-03-07 Vladimer Sichinava * configure.in: Added 'ka' to ALL_LINGUAS. 2007-03-06 Ignacio Casal Quinteiro * configure.in: Added 'gl' to ALL_LINGUAS. 2007-02-23 Dan Williams Patch from Volker Braun * NetworkManager.pc.in - Add 'libnm-util' to Requires 2007-02-23 Dan Williams Patch from Andy Whitcroft (Gnome.org #410426) * src/NetworkManagerAP.c - (add_capabilities_from_cipher): fix addition of WEP capabilities by OR-ing rather than AND-ing 2007-02-23 Dan Williams Patch from Loic Minier (Gnome.org #411155) * configure.in - Fix up AC_SUBST clutter - Get GObject library link flags * gnome/libnm_glib/Makefile.am - Link with GObject link flags 2007-02-12 Dan Williams Patch from Helmut Schaa * vpn-daemons/pptp/configure.in vpn-daemons/pptp/Makefile.am vpn-daemons/openvpn/configure.in vpn-daemons/openvpn/Makefile.am vpn-daemons/vpnc/configure.in vpn-daemons/vpnc/Makefile.am - Add --without-gnome switch which disables building gnome bits 2007-02-12 Dan Williams Better handle ipw cards and their drivers which issue quickly successive scan result notifications due to background scanning. Batch up scan result requests as a result of a notification. (already done in trunk, but differently) * src/nm-device-802-11-wireless.c - (wireless_event_helper): don't blindly request scan results; do nothing if there's already a scan result request in-progress. If not, schedule a scan result request for 5 seconds in the future. - (schedule_scan_results_timeout): new argument 'seconds', specifies how long of a timeout to schedule - (nm_device_802_11_wireless_scan): after requesting a scan, schedule the scan timeout for 10 seconds 2007-02-12 Dan Williams * src/NetworkManagerPolicy.c - (nm_policy_device_change_check): don't print out a message every time a semi-supported device is stuck with. Exacerbated by ipw cards which issue quickly successive scan result notifications, which in turn triggers a device change check, which prints the message. 2007-02-12 Dan Williams Don't wake up every 2 seconds to poke a wired device's 'carrier' file in sysfs; instead rely on netlink events. * src/nm-device-802-3-ethernet.c - (real_init): only listen for netlink link events for cards that support carrier detect. For those that don't, explicitly set link to TRUE - (probe_link, nm_device_802_3_periodic_update, real_start): removed - (real_update_link): return link = TRUE for non-carrier-detect cards, and poke sysfs' 'carrier' file for carrier-detect cards 2007-02-09 Dan Williams * src/NetworkManager.conf - Raise D-Bus pending call limit to 512 2007-02-03 Dan Williams Patch from: Volker Braun Stefan Schmidt * include/NetworkManager.h - Add options for various EAP Phase 2 auth methods * src/nm-ap-security-wpa-eap.c - Track phase2 type and send to wpa_supplicant during connection attempt * libnm-util/dbus-helpers.c - handle phase2 type 2007-02-03 Dan Williams * Remove last bits of applet; applet is now in it's own module in SVN, "network-manager-applet" 2006-12-18 Dan Williams * gnome/libnm_glib/libnm_glib.c - Change dbus_connection_close() -> dbus_connection_unref() 2006-12-18 Dan Williams Patch by Timo Hoenig : * src/NetworkManagerDbus.c (nm_dbus_init): Make it work with DBUS-1.0. 2006-12-18 Dan Williams * gnome/libnm_glib/libnm_glib.c - Change dbus_connection_close() -> dbus_connection_unref() 2006-12-02 Dan Williams Patch from Michael Biebl * man/NetworkManager.1.in man/NetworkManagerDispatcher.1.in - Add .SH NAME stanzas 2006-11-27 Dan Williams Patch from Christian Persch * gnome/applet/menu-items.c - (network_menu_item_update): use gtk_progress_bar_set_fraction() as gtk_progress_set_percentage is deprecated. Should work as far back as GTK+ 2.4. Gnome.org #379780 2006-11-25 Dan Williams Suggested by Helmut Schaa * src/vpn-daemons/nm-vpn-service.c - (supplicant_child_setup): new function - (supplicant_exec): make child process use a new process group id * src/nm-device-802-11-wireless.c - (nm_vpn_service_child_setup): new function - (nm_vpn_service_stage1_daemon_exec): make child process use a new process group id 2006-11-20 Luis Medinas Fix Gentoo Linux Initscript dependencies. * initscript/Gentoo/NetworkManager.in: 2006-11-19 Dan Williams Patch from Dan Berrange Gnome.org #377262 * gnome/vpn-properties/nm-vpn-properties.c - clean up after renamed VPN connection 2006-11-19 Dan Williams Patch from Dan Berrange Gnome.org #377205 * gnome/applet/applet-dbus-vpn.c - (nma_dbus_vpn_properties_cb): sort VPN connections * gnome/vpn-properties/nm-vpn-properties.c - (init_app): sort VPN connections 2006-11-08 Tambet Ingo * gnome/applet/wireless-security-option.c (wso_wep_auth_combo_get_auth_alg): Don't request NAME_COLUMN value and then leak it when it's never used. * gnome/applet/wireless-security-manager.c (get_active_option_from_combo): Don't request NAME_COLUMN value and then leak it when it's never used. (wsm_free): Free the glade_file member as well. * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Free the str variable. * gnome/applet/passphrase-dialog.c (nmi_passphrase_dialog_security_combo_changed): Free the result of gtk_container_get_children when done. * gnome/applet/nm-device.c (network_device_unref): Free primary_dns and secondary_dns. * src/vpn-manager/nm-dbus-vpn.c (nm_dbus_vpn_update_one_connection_cb): Do not increment the reference count of the pending call, we already own it. (nm_dbus_vpn_connections_update_cb): Ditto. * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config): Free allocatated variables when done with them. * src/backends/NetworkManagerSuSE.c (nm_system_device_get_system_config): Don't leak buf. * src/nm-netlink-monitor.c (nm_netlink_monitor_attach): Unref the source after attaching it to a context. * src/nm-device.c: Increment the reference count of activation requests when scheduling a callback with it and unreference it when done. (nm_device_set_active_link): Don't allocate an activation request that is never used for anything. (nm_device_activate_stage4_ip_config_get): Unref the ip4_config when done. (nm_device_activate_stage4_ip_config_timeout): Ditto. * src/nm-device-802-11-wireless.c: Move the scheduled callback data freeing from callback to destroy notify: Makes sure the data is freed even if the callback never has a chance to run. (supplicant_send_network_config): Free the allocated hex_essid. (nm_device_802_11_wireless_dispose): Free cur_essid. * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network_cb): Unref the security when done, nm_ap_set_security() makes a copy of it. (nm_dbus_get_network_data_cb): Free user_addresses when done, nm_ap_set_user_addresses() makes a copy of it. (nm_dbus_get_user_key_for_network_cb) Don't increment the ref count of the pending call, we already own it. (nm_dbus_get_network_data_cb): Ditto. (nm_dbus_get_networks_cb): Ditto. (nm_dbus_update_one_allowed_network): Ditto. * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Scheduled callbacks own the references to activation request, let our reference go after it's scheduled. (nm_dbus_nm_create_wireless_network): Ditto. * src/nm-activation-request.c (nm_act_request_unref): Unref the ip4_config as well. * src/NetworkManagerPolicy.c (nm_policy_schedule_activation_finish): Grab a reference to NMActRequest before scheduling it to be called later... (nm_policy_activation_finish): ... and release it in callback. (nm_policy_schedule_activation_failed): Ditto. (nm_policy_activation_failed): Ditto. (nm_policy_device_change_check): Ditto. (nm_policy_schedule_device_activation): Ditto. * src/NetworkManagerDbus.c (nm_dbus_signal_device_status_change): Use a common path for freeing all allocated variables so that everything gets freed correctly even on case of errors. * src/NetworkManagerAP.c (nm_ap_set_user_addresses): Free the old user_addresses GList. * src/NetworkManager.c (device_stop_and_free): Use nm_device_stop() instead of nm_device_deactivate() to stop the device's worker thread and remove all references to the device. (nm_data_free): Process pending mainloop events after all devices are shut down - The device stop produces the scheduling of multiple signals which steal references to devices but never have a chance to run. 2006-11-02 Tambet Ingo * src/backends/shvar.c (svCloseFile): Before freeing lineLists, free it's contents. * src/backends/NetworkManagerSuSE.c (nm_system_device_free_system_config): Free the SuSEDeviceConfigData structure itself as well. * src/nm-device.c (discover_device_type): Free the hal property string when we're done with it. * src/nm-dbus-device.c (nm_dbus_device_get_properties): Free primary_dns and secondary_dns once we're done with them. * src/NetworkManager.c (nm_data_free): Free DBUS method lists. * gnome/applet/menu-items.c (wired_menu_item_update): Free the label text after the GtkLabel is updated. * gnome/applet/applet.c (nma_menu_add_dialup_menu): Free label strings after the menu item is created. 2006-11-01 Tambet Ingo * include/NetworkManagerVPN.h: Define NM_DBUS_VPN_LAUNCH_FAILED. 2006-10-25 Dan Williams * src/nm-dbus-nm.c - (nm_dbus_nm_set_active_device): return an empty success message on success, rather than falling through to the error case. 2006-10-25 Dan Williams * src/NetworkManagerUtils.c - (nm_utils_supplicant_request_with_check): suppress messages for the "SCAN" command 2006-10-24 Dan Williams Reduce the number of times the Gnome applet wakes up, especially when it's doing absolutely nothing and is hidden. Initial patch by Chris Aillon. * gnome/applet/applet-dbus.c - (nma_dbus_filter): when NM isn't around, or when it goes away, kill the redraw timeout. When NM starts up, start the redraw timeout. Also, if we get kicked off the bus for some reason, start the reconnection timeout if one's not already running. - (nma_dbus_init): better handling of error conditions, don't leak a half-initialized dbus connection - (nma_dbus_connection_watcher): consolidate places we reinitialize the applet's data, just call nm_dbus_init_helper() - (nma_start_dbus_connection_watch): new function, starts a periodic timeout that calls nma_dbus_connection_watcher() - (nma_dbus_init_helper): if we get a successful connection, kill the reconnection timeout, and don't start the reconnection timeout unconditionally anymore * gnome/applet/applet-dbus.h - Expose nma_start_dbus_connection_watch() * gnome/applet/applet.c - (nma_update_state): no longer static, called from applet-dbus.c for immediate UI updates on certain events - (nma_set_running): new function; take over setting applet->running, when not running (ie, NM is not active), don't activate the redraw timeout because we're not showing the applet anyway. When we are running (ie, NM is active), and only when we're running, start the redraw timeout. - (nma_destroy): kill the redraw timeout by setting 'not running', and kill any reconnection timeout - (nma_get_instance): move one-off dbus initialization code here since nm_dbus_init_helper() gets called more than once, possibly by the reconnection timeout function too. And, when we start up, if we can't get a connection to the bus, start the reconnection timeout. But don't start the redraw timeout yet, only do that when we get NM's state and find out if it's running or not. * gnome/applet/applet.h - Add the reconnection GSource ID - Add prototypes for nma_set_running() and the no-longer-static nma_update_state() 2006-10-24 Dan Williams * src/vpn-manager/nm-dbus-vpn.c - (nm_dbus_vpn_connections_update_from_nmi): don't block on reply; applets should be smart enough to use the VPNConnectionAdded or VPNConnectionUpdate signals to grab verified VPN connections from NM 2006-10-24 Dan Williams * src/nm-ap-security-leap.h - Forgot to add to CVS 2006-10-20 Dan Williams Patch from Thiago Bauermann * gnome/applet/applet.glade gnome/applet/Makefile.am gnome/applet/nm-gconf-wso.c gnome/applet/nm-gconf-wso-leap.c gnome/applet/nm-gconf-wso-leap.h gnome/applet/wireless-security-manager.c gnome/applet/wso-leap.c gnome/applet/wso-leap.h include/NetworkManager.h libnm-util/dbus-helpers.c libnm-util/dbus-helpers.h src/Makefile.am src/NetworkManagerAP.c src/nm-ap-security.c src/nm-ap-security-leap.c src/nm-ap-security-leap.h - Add LEAP authentication support 2006-10-19 Robert Love * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just refresh the cache. 2006-10-11 Tambet Ingo * src/nm-dbus-nm.c (nm_dbus_nm_sleep): Add optional boolean argument to dbus "sleep" method to make difference between sleep and disable networking. (nm_dbus_nm_wake): Ditto. * src/NetworkManagerMain.h: Add boolean disconnected variable to NMData structure. * gnome/vpn-properties/Makefile.am: Use the correct path to icons. * gnome/applet/Makefile.am: Ditto. * gnome/applet/applet.c (nma_class_init): Append our icon directory to theme search path. * gnome/applet/applet-dbus-devices.c (nma_dbus_enable_networking): Add boolean (true) argument to wake/sleep NM dbus calls to notify enabling/disabling networking instead of wake/sleep. 2006-10-01 Dan Williams * src/vpn-manager/nm-vpn-manager.c - (nm_vpn_manager_load_services): split and clean up for readability and correctness, and better error reporting. 2006-10-01 Dan Williams * utils/nm-utils.h - Clean up formatting of debug/info/warning log messages 2006-09-27 Robert Love Patch by Tambet Ingo : * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry actually work. 2006-09-20 Dan Williams Patch from Leon Bottou * configure.in, src/Makefile.am, src/NetworkManager.c, src/NetworkManagerSystem.c, src/NetworkManagerSystem.h, src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c, src/nm-device.c, src/nm-device.h, src/nm-marshal.list, src/nm-marshal-main.c, src/nm-netlink-monitor.c, src/nm-netlink-monitor.h: Backport the async scanning patch from HEAD. NM now issues scan commands and waits a maximum of 10 seconds for a scan completion wireless event. If any scan completion event is received, NM will query the driver for scan results. Also triggers scanning via wpa_supplicant during an active connection. 2006-09-07 Dan Williams * test/Makefile.am test/libnm-util/Makefile.am test/nm-supplicant-test.c - Add test program emulating the way NM drives wpa_supplicant to help debug supplicant issues 2006-09-05 Dan Williams * gnome/libnm_util/libnm_util.c: change deprecated D-Bus functions (Gnome.org #353838) 2006-08-31 Robert Love * src/vpn-manager/nm-vpn-service.c: Bump timeout to 45s. Seeing failures over slow wireless at 20s; not at 45s. 2006-08-24 Dan Williams Patch from Ed Catmur: * src/NetworkManagerUtils.c - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop if netmask is 0 (Gnome #352634) 2006-08-17 Robert Love * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind package is now DBUS-enabled and listens for the NM signals. 2006-08-13 Dan Williams Patch from Valentine Sinitsyn * src/nm-device-802-11-wireless.c - (supplicant_exec): spawn wpa_supplicant without debug spew Gnome #346875 2006-08-13 Dan Williams Patch from Valentine Sinitsyn * src/nm-ap-security.c src/nm-ap-security.h - Add authentication_required bits for subclasses to specify whether or not real authentication is required for connections, i.e. whether the AP rejects us when an encryption key is wrong or not. * src/nm-ap-security-wep.c src/nm-ap-security-wpa-eap.c src/nm-ap-security-wpa-psk.c - Implement authentication_required appropriately for each method * src/nm-device-802-11-wireless.c - Be smarter about when to request a key; for example, using a wrong key in WEP shared key mode previously just timed out and did not request a new key 2006-08-06 Dan Williams Patch from Christan Chiesa * configure.in - Tell sha1.c to use bigendian mode on PPC 2006-08-04 Robert Love * src/NetworkManagerAP.c: Fix memory leak! 2006-08-01 Robert Love * gnome/applet/main.c: Shutdown all VPN connections on logout. 2006-07-31 Robert Love * src/backends/interface_parser.c: Declarations must begin the block. 2006-07-18 Robert Love * configure.in: Add "--with-notify" option to allow disabling of libnotify support. 2006-07-13 Dan Williams Patch from Timothée Lecomte * configure.in src/backends/NetworkManagerArch.c src/backends/NetworkManagerDebian.c src/backends/NetworkManagerGentoo.c src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerSlackware.c src/backends/NetworkManagerSuSE.c - Convert hardcoding of 'ip' path to configure-time detected one 2006-07-13 Robert Love * src/NetworkManagerDialup.h: Support a DSL class, too. * src/backends/NetworkManagerSuSE.c: Add DSL devices. 2006-07-13 Robert Love * configure.in: Bump version to 0.6.4 * NEWS: Update. 2006-07-10 Dan Williams Patch from Valentine Sinitsyn * src/nm-device.c - (real_act_stage3_ip_config_start): don't infinite loop when dhcdbd isn't running (Gnome #346845) 2006-07-09 Dan Williams * gnome/applet/applet.c - (nma_destroy): don't pass NULL to notify_notification_close (RH #197917) 2006-07-09 Dan Williams * gnome/applet/applet.c - (nma_about_cb): remove empty documenters tab (Gnome #341324) 2006-07-04 Tor Krill * src/backends/NetworkManagerArch.c - (nm_system_get_mtu): Added implementation Patch from Valentine Sinitsyn - (nm_system_update_dns) - (nm_system_restart_mdns_responder): Check if daemon is running before starting. Should fix #344573 - (ArchReadConfig) - (nm_system_device_get_system_config): Add explicit test for DHCP config. Dont assume when not static. Should fix #344573 2006-06-21 Dan Williams * nm-dbus-device.c - (nm_dbus_device_get_driver): don't try to stuff a NULL through dbus 2006-06-19 Dan Williams * src/NetworkManagerAP.c - Clarify usage of user_created * src/nm-ap-security-wep.c src/nm-ap-security-wpa-eap.c src/nm-ap-security-wpa-psk.c src/nm-ap-security.c src/nm-ap-security.h - s/user_created/adhoc, because we really do mean adhoc Patch from Bernard Blackham * src/nm-device-802-11-wireless.c - (supplicant_send_network_config): instead of user_created, use adhoc, and do AP_SCAN 2 for adhoc networks 2006-06-15 Robert Love * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless we have a value to set. Gconf generates a warning if `val' is NULL. * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP unless we actually received a valid private key file passphrase or password. Otherwise, we don't know to later ask the applet to pull the key from the keyring. 2006-06-15 Robert Love * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there is a non-empty key to set. Elsewhere, pass an empty string via DBUS if there is no key to pass. * libnm-util/dbus-helpers.c: Given the above, we can trust always receiving a non-NULL key. 2006-06-14 Robert Love * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually copy the strings. 2006-06-14 Dan Williams Patch from Lorenzo Colitti gnome.org #344825 * src/nm-device-802-11-wireless.c - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards or ones where the driver is unknown - (supplicant_exec): don't wait for supplicant startup here - (supplicant_interface_init): finer grained polling for supplicant startup 2006-06-09 Dan Williams * src/NetworkManagerSystem.[ch] - (nm_system_device_set_up_down_with_iface): remove 'dev' argument, it was unused and pointless - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down): fix for set_up_down_with_iface change * src/vpn-manager/nm-vpn-connection.c - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change * src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerSuSE.c src/backends/NetworkManagerArch.c src/backends/NetworkManagerDebian.c src/backends/NetworkManagerGentoo.c - (nm_system_enable_loopback): use set_up_down_with_iface where appropriate - (nm_system_flush_loopback_routes): use flush_routes_with_iface where appropriate 2006-06-09 Dan Williams Patch from Peter Jones: * src/nm-device-802-11-wireless.c - (nm_device_802_11_wireless_update_bssid): make sure that the SSID hasn't changed from what we expect before automatically updating the saved BSSID from a new AP 2006-06-07 Robert Love * NEWS: Update. * configure.in: Bump version to 0.6.3. 2006-06-07 Robert Love * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool() checked that the return type was GCONF_VALUE_STRING, not the correct GCONF_VALUE_BOOL, and thus it never worked. * src/NetworkManagerAPList.c: Before concluding that two networks are identical based on their BSSID, make sure that the BSSID in question is actually valid. Specifically, an empty or all zero BSSID does not cut it. * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c, src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and similar invariant clean up. 2006-06-02 Robert Love * gnome/applet/applet.c: Update copyright years. Add Novell. 2006-05-29 Stanislav Brabec * configure.in: Updated translations from HEAD branch. 2006-05-28 Dan Williams * gnome/applet/applet.glade gnome/vpn-properties/nm-vpn-properties.glade - Set window icons on dialogs (Gnome.org #333420) 2006-05-28 Christian Persch * gnome/vpn-properties/nm-vpn-properties.glade: * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade: * vpn-daemons/pptp/properties/nm-pptp-dialog.glade: * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: - Make the VPN properties pages prettier and more HIG compliant. Gnome Bug #336913. 2006-05-28 Dan Williams Patch from Christian Persch * gnome/vpn-properties/nm-vpn-properties.c * gnome/vpn-properties/nm-vpn-properties.glade - HIG-ification love (Gnome.org #336846) 2006-05-28 Dan Williams Patch from Christian Persch * configure.in gnome/vpn-properties/nm-vpn-properties.c - (main): Fix option parsing. Gnome.org #336847 2006-05-28 Dan Williams * gnome/vpn-properties/nm-vpn-properties.c - (find_vpn_ui_by_service_name): protect against NULL service names - (update_edit_del_sensitivity): protect against NULL service names Gnome.org #341306 2006-05-28 Dan Williams Patch from Chris Fuller : * src/nm-device-802-11-wireless.c - (nm_device_802_11_wireless_dispose): add a is_initialized member and don't dispose of wireless-specific stuff unless it is actually initialized. Gnome.org #341263 2006-05-28 Dan Williams * src/NetworkManagerPolicy.c - (nm_policy_device_change_check): don't switch devices if the "best" AP is essentially the same as the current activation request, but the current activation request isn't done activating yet. Fixes multiple requests for keyring password on startup for Gnome applet. Gnome.org #341297 2006-05-26 Nicolas Trangez * src/NetworkManager.c: use GOptions instead of getopt * configure.in: bump glib required version to >= 2.6 for GOption support 2006-05-25 Robert Love Patch Valentine Sinitsyn to fix GNOME bug #342400: * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are not using gcrypt. Otherwise, we get a linker error. 2006-05-25 Robert Love Patch Valentine Sinitsyn to fix GNOME bug #342398: * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome" configure flag to disable building of the GNOME-based applet. 2006-05-25 Robert Love * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function parameter from link, because it shadows a global variable with some older versions of glibc. Yes, glibc is now fixed and, yes, glibc should never have exported to the entire system a common four letter word. But we here at NetworkManager are team players. Fixes GNOME bug #336532. 2006-05-24 Robert Love * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c, gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c, src/NetworkManager.c: Include and not . 2006-05-24 Robert Love * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am, libnm-util/Makefile.am, src/Makefile.am, vpn-daemons/openvpn/auth-dialog/Makefile.am, vpn-daemons/openvpn/properties/Makefile.am, vpn-daemons/pptp/auth-dialog/Makefile.am, vpn-daemons/pptp/properties/Makefile.am, vpn-daemons/vpnc/auth-dialog/Makefile.am, vpn-daemons/vpnc/properties/Makefile.am: Do not override what the user passed for --datadir, if anything, when setting the GNOME locale directory. It should be a function of the specified datadir and not the prefix. 2006-05-24 Robert Love * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c, src/NetworkManager.c: Take care to call bindtextdomain with the location of msgid files. * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo files. 2006-05-22 Robert Love * src/nm-device-802-11-wireless.c: Don't chain up to the parent's stage4_timeout on failure unless the wireless network is Ad-Hoc. 99% of the time there is a real problem with wireless, and a seemingly successful connection via Zeroconf just confuses the user. And that 1% of the time the network is probably Ad-Hoc, anyhow. 2006-05-22 Robert Love * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and autofs on interface up if NIS is configured. On interface down, do nothing. 2006-05-22 Robert Love * gnome/applet/applet.c: Zero out the icon pointers before we set them, to avoid calling g_object_unref() on stale pointers on error in nma_icons_free(). This happens because we short-circuit loaded the icons on the first failure but then free all icons. Normally we have no issue because the icons were zero'ed out malloc, but we have stale pointer data after nma_icon_theme_changed(). * gnome/applet/main.c: Return error code if nma_new() failed. 2006-05-21 Dan Williams Patch from Adam Schreiber * gnome/vpn-properties/nm-vpn-properties.c - (main): correct Gnome program name (gnome.org #342498) 2006-05-21 Dan Williams Fix gnome.org #330832 based on patch from Crispin Flowerday * src/NetworkManagerDbus.[ch] - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path: clarify that function's argument should be an escaped dbus object path, and look for path segment end before returning a match * src/nm-dbus-nm.c: - Fix up users of nm_dbus_get_device_from_escaped_object_path() 2006-05-17 Robert Love Functionality to differentiate Ad-Hoc networks from infrastructure networks in the applet, by displaying a special icon: * gnome/applet/applet-dbus-devices.c: Set the mode for new networks. * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update(). * gnome/applet/menu-items.c: Set a special icon in the scan list for ad-hoc networks. TODO: Add a third icon representing "encrypted and Ad-Hoc". Right now, we display the same icon for all Ad-Hoc wireless networks, encrypted or not. * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New accessor functions to get and set the mode of a given network, wireless_network_get_mode() and wireless_network_set_mode(). 2006-05-17 Robert Love Functionality to automatically add BSSIDs to the allowed-MAC list as one roams from access point to access point on a given network: * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(), helper function to compare two ether_addr structures and return TRUE if they contain the same MAC address. * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal() prototype. * src/nm-device-802-11-wireless.c: New function to update the BSSID stored with the current AP. If the BSSID has indeed changed, we send it out to the applet, allowing the allowed-MAC list to grow automatically in response to roaming. 2006-05-16 Robert Love * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes". 2006-05-13 Dan Williams * src/nm-device-802-3-ethernet.c - (real_get_generic_capabilities): Don't ignore devices that can't do carrier detect (Debian bug #366373) 2006-05-11 Dan Williams Patch from Michael Biebl * src/backends/NetworkManagerDebian.c - Debian backend fixups 2006-05-10 Robert Love * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442). 2006-05-09 Robert Love * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP private certificate passphrase, if any, in the GNOME Keyring. * libnm-utils/dbus-helpers.c: Update. 2006-05-05 Robert Love * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case root has a wacky default of its own (or, more common, a user has a bad umask and uses su/sudo to restart NetworkManager). Anything other than 0022 does not do what we want with, for example, resolv.conf. This problem is amplified by our judicious use of fopen(), which uses mode 0666 -- implying that the only way to get the permissions we want is with a umask of 0022. 2006-05-05 Dan Williams * gnome/libnm_glib/libnm_glib.c - Don't suck CPU when dbus isn't around by scheduling idle handlers to reconnect; instead wait a bit more with each reconnect attempt up to a max of one minute. 2006-05-04 Ryan Lortie * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of the WirelessNetwork structure using the proper function instead of just casting it directly to (const char *) (gnome.org #336991) 2006-05-03 Robert Love * src/backends/NetworkManagerSuSE.c: Respect the variable dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not to dynamically update /etc/resolv.conf. 2006-05-02 Robert Love Patch by Timo Hoenig; * tests/nm-online.c: Print pretty status indicator as timeout winds down. Also fix possible race between DBUS startup and failure return. 2006-05-01 Robert Love * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is empty, too. 2006-04-27 Jeremy Katz * src/nm-device.c (discover_device_type): Actually use the hal device type instead of ioctl poking 2006-04-26 Robert Love * tests/nm-online.c: New file. Simple utility that returns exit status noting whether the connection is offline or online. If offline on start, it waits 30 seconds (or a command-line given value) for an online signal. If it times out, it again returns offline. This is useful for scripts that want to wait for network connections. 2006-04-25 Robert Love * src/nm-ap-security-wep.c: Bug fix: We stopped setting the key mode (the authentication algorithm), e.g. open or shared, when we moved to using wpa_supplicant. wpa_supplicant defaults to open, so only shared was broken. If the user specified a shared key, set it explicitly, otherwise let wpa_supplicant go with the default. 2006-04-20 Robert Love Fix bug where hidden ESSID's would not show up in the applet, even if NMI provided a BSSID -> ESSID mapping from Gconf. This occurred because nm_policy_device_list_update_from_allowed_list() would merge the data, putting a name to the hidden networks, but never notify NMI of the changes. Simple fix is to invoke the function nm_dbus_signal_wireless_network_change() if we make a mapping. * src/NetworkManagerAPList.c: Call the function nm_dbus_signal_wireless_network_change() if we made a successful BSSID to ESSID mapping, notifying the applet of the "new" network. * src/NetworkManagerAPList.h: Update the prototypes for both nm_ap_list_copy_essids_by_address() and nm_ap_list_copy_one_essid_by_address(). 2006-04-20 Robert Love * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is not set. Just return zero. 2006-04-20 Robert Love * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that only one copy of nm-vpn-properties is running at a time via the 'ol X selection trick. This prevents the user from opening two "VPN Connections" windows from within the applet, which leads to mass hysteria. * clipboard.c: New file, implementing simple X selection logic. * clipboard.h: New file. * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h} 2006-04-16 Dan Williams Patch from Paul Blazejowski * configure.in initscript/Slackware/Makefile.am initscript/Slackware/rc.networkmanager-dispatcher.in initscript/Slackware/rc.networkmanager.in - Update slackware initscripts 2006-04-10 Robert Love * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit the "delete_event" signal on the druid's parent window and handle it our way, lest using the WM to close the druid results in a series of bloody and ultimately lethal errors. 2006-04-10 Robert Love * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on 'Back' too or else the 'Forward' option is initially disabled despite valid input. 2006-04-06 Robert Love Fix bad but simple bug where an active modem connection did not update NM's connection state, breaking any app that did online/offline: * src/NetworkManagerMain.h: Add 'modem_active' member to NMData, represented whether a dial up connection is active, or not. * src/nm-dbus-nm.c: Set and unset 'modem_active' in response to modem activation and deactivation. * src/NetworkManagerDbus.c: When asked our state, do not return disconnected if the modem is active. 2006-04-04 Robert Love * gnome/applet/applet.c: Remove the 'Remove' option that I added to the applet. It just confuses the crap out of people and does not make a lot of sense, as the daemon still runs. 2006-03-29 Robert Love Patch by Vinay R and Robert Love , to add support for per-route MSS and improve support for per-interface MTU: * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to optionally take an MSS parameter and set it for the given route. Remove nm_system_device_set_ip4_route_with_iface. Pass in the NMIP4Config's stored MSS, if any. * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing the interface's MTU and the route's MSS, respectively. Add functions nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and nm_ip4_config_set_mss for retrieving and setting the MTU and the MSS. * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and nm_ip4_config_set_mss. * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the VPN daemon. * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c: Change the retval of nm_system_get_mtu to guint32. * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given NMIP4Config to the MTU provided by the system, if any. TODO: If DHCP servers can specify MTU's, we should set it here if the MTU was not provided. 2006-03-27 Dan Williams Patch from Christian Persch * gnome/applet/applet.glade - HIG fixes; mostly for spacing and borders (gnome.org #336220) 2006-03-27 Dan Williams Patch from Diffe * src/backends/NetworkManagerSlackware.c - Don't restart howl, since it's been replaced by Avahi in most distributions 2006-03-27 Dan Williams Patch from Tor Krill * configure.in initscript/Makefile.am src/backends/Makefile.am src/backends/NetworkManagerArch.c initscript/Arch/Makefile.am initscript/Arch/networkmanager-dispatcher.in initscript/Arch/networkmanager.in - Add Arch Linux support, fixes gnome.org #335147 2006-03-27 Dan Williams Patch from Diffe * initscript/Slackware/rc.networkmanager - update, fixed gnome.org #333368 2006-03-27 Robert Love * configure.in: Bump version to 0.6.2. * NEWS: Update. 2006-03-27 Robert Love * gnome/applet/other-network-dialog.c: Do not allow the user to try to create WPA-EAP Ad-Hoc networks because such an action makes no sense. 2006-03-27 Robert Love Patch by Jürg Billeter : * src/nm-logging.c: Add printf modifier to fix warning on 64-bit systems. * src/nm-netlink-monitor.c: Include instead of as we prefer glibc over kernel headers, if possible. 2006-03-27 Robert Love Patch by Jon Escombe : * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case. * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values fail, don't bail out. We don't expect all of the various WPA-EAP values to be present. * src/nm-ap-security.c: We need to match all capabilities for each encryption type, not any one of them. 2006-03-27 Robert Love * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again restart, not reload, ypbind. Unfortunately there is no superior solution. 2006-03-24 Robert Love Patch by Christopher Aillon on HEAD: * gnome/applet/applet-notifications.c: When displaying a notification, make sure to get rid of the previous notification so as to not have competing bubbles, and stop leaking the old one. * gnome/applet/applet.c, gnome/applet/applet.h: Add a new 'notification' member to the applet, and zero it out and free it appropriately. 2006-03-23 Robert Love Patch by j : * gnome/applet/applet.glade: Don't set the invisible_char property, which simply overrides the GTK default. By and by, this behavior ought to be fixed in Glade. 2006-03-22 Robert Love * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds. 2006-03-22 Robert Love Bug fix by Timo Hoenig : * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on disconnect. Otherwise, we have the daemon surviving DBUS restarts and the applet going AWOL. 2006-03-22 Robert Love * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT preprocessor define and use it instead of open-coded the DHCP timeout, which is currently 25 seconds, everywhere. 2006-03-22 Robert Love Implement "Dynamic WEP", which is basically WPA authentication and WEP key exchange via WPA, ostensibly providing good security without requiring hardware that supports full WPA. Also, add UI elements to allow the user to select the pairwise & group cipher for WPA Enterprise networks, too: * gnome/applet/applet.glade: Update glade file. * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the key type, too, to and from gconf. * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to wso_wpa_create_key_type_model(), noting whether we are handling PSK or EAP configuration, and in the latter case add in "Dynamic WEP" if the capabilities match. * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s prototype. * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and serialize from UI to DBUS. * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least one element. * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(), nmu_security_serialize_wpa_eap_with_cipher(), and nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and serialize/deserialize the key type via DBUS as the new third DBUS parameter. * libnm-util/dbus-helpers.h: Update prototypes. * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS, too. If the key type is WEP104, do Dynamic WEP, which means "IEEE8021X" for "key_mgmt". Also add support for user-specified pairwise and group ciphers (fixes a FIXME). 2006-03-21 Robert Love * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add nm_system_get_mtu(), which returns a user-provided or system-mandated MTU value for a given device, if any, or zero if no such value exists. Add nm_system_set_mtu() to set the MTU for a given device if we have a provided value. * src/nm-device.c: Set the MTU of devices. * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig. * src/backends/NetworkManagerDebian.c, src/backends/NetworkManagerGentoo.c, src/backends/NetworkManagerRedHat.c, src/backends/NetworkManagerSlackware.c: Implement stub functions. 2006-03-21 Robert Love * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in configuration file. 2006-03-17 Robert Love * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the signal SIGHUP to ypbind, not "rcypbind restart" to physically restart it, in case it is not running in the first place. We just want its configuration reloaded. Also, do not "rcypbind stop" on device down. 2006-03-15 Robert Love * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The label "WEP 40/128-bit" is inconsistent because the physical key size is 40 or 104-bits, to which a 24-bit initialisation vector is appended, forming a 64 or 128-bit traffic key. Thus, the label ought to read "40/104" or "64/128". I do not care much which, but most users think of "silver" and "gold" encryption as 64 and 128-bits, so let's stick with that. Thus, s/"40/128"/"64/128"/g. Also, since our WEP passphrase support only handles 128-bit keys, and any future 64-bit passphrase support will require a new option (no way to auto- detect the target key size), explicitly label our passphrase support "WEP 128-bit Passphrase". 2006-03-15 Robert Love * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on the system init scripts (or some other mechanism) starting it (or a compatible DBUS service) before NetworkManager runs. This means that distributions might need to update their init scripts. This fixes possible races and is quite a bit cleaner. * initscript/SUSE/networkmanager.in: Update to start dhcdbd before starting the NetworkManager daemon. 2006-03-14 Robert Love * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP before adding anything. 2006-03-13 Robert Love * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's widgets, too, if they exist, in case the user hit the back button. Fixes a bug where the details page contains the widgets of multiple VPN modules (Novell bug #157048). 2006-03-13 Robert Love * configure.in: Bump version to 0.6.1. * NEWS: Update. 2006-03-13 Robert Love Patch by Timo Hoenig : * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher daemon survive DBUS restarts, too. 2006-03-10 Robert Love * gnome/applet/applet-dbus-devices.c: When building the device description, do not bail out if one property is nonexistant. Keep building the rest of the string, in case the others exist. The user cannot do anything about the errors, anyhow. Some devices do not have all of the properties. 2006-03-10 Robert Love * gnome/applet/applet.glade: Add toggles to show/obfuscate the passphrase or key. * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys in response to "toggled" signal on new toggle. 2006-03-10 Robert Love * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for serialization if strings are NULL, lest DBUS get angry. 2006-03-10 Robert Love * src/nm-ap-security-wpa-eap.c: Don't log the password. 2006-03-09 Robert Love * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static configurations. 2006-03-09 Robert Love * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function nm_ap_set_timestamp() take the second and micro-second parameters as direct arguments, which avoids both a dynamic memory allocation and a structure-to-structure copy! Add a new interface, the aptly named nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an existing GTimeVal, as nm_ap_set_timestamp() once did, for use with the return from nm_ap_get_timestamp(). New users should use the new nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for the extreme benefit to performance. * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c, src/backends/NetworkManagerSuSE.c: Use the new functions as needed. 2006-03-08 Robert Love * gnome/applet/applet.glade: Hide the password entry text with asterisks. 2006-03-08 Robert Love * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c, NetworkManagerRedHat.c, NetworkManagerGentoo.c, NetworkManagerSlackware.c: Pass nm_system_device_get_system_config() a second argument, NMData. * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new. * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-* config files as trusted. 2006-03-06 Robert Love * gnome/applet/Makefile.am: Define AUTOSTARTDIR. * gnome/applet/applet.c: Add 'Remove' option to the right click menu, to exit the applet. As a sweet side-effect, idea courtesy of Chris Rivera, detect if the applet was auto-started. If so, ask the user if he or she would like to stop automatically running the applet on login. If so, disable autostart. 2006-03-06 Robert Love * NetworkManager.pc.in: Provide an -I to the NetworkManager include directory in CFLAGS so developers can actually use NetworkManager.h. 2006-03-06 Robert Love * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not open-coded integer constants. Add state_to_string() to map a given state to a textual description, and provide that when notifying of state change. * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd states, copied and cleaned up from dhcdbd.d. Ideally, we would use this header directly, but it is currently not installed on most systems. 2006-03-05 Dan Williams * gnome/applet/applet-notifications.h - Protect prototype of nma_send_event_notification() because it includes libnotify-specific types - Include libnotify/libnotify.h too, since we technically need it * gnome/applet/applet.c - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail - (nma_show_vpn_login_banner_dialog): add some error checking 2006-03-04 Dan Williams Clean up activation cancellation. Should be a lot faster now. Observed an issue with wireless devices between stage 2 and 3 of activation, where activation would be cancelled, but the device thread wouldn't notice until the supplicant association timed out. Reorganize activation such that a cancellation handler gets immediately scheduled in the device's thread, and devices have a chance to perform any custom cleanup too. * src/nm-device.[ch] - (activation_cancel_handler): new device-type-specific function for cleaning up device-type-specific stuff on cancellation - (cancel_activation): removed - (nm_device_activation_cancel): subsume functionality of real_cancel_activation, but instead of doing anything, punt operation to a handler that's run in device-thread context - (nm_device_schedule_activation_handle_cancel): fix spelling of a warning message - (activation_handle_cancel_helper): cancellation handler run in device-thread context, calls device-type-specific cancelation, then tears down the activation request - (real_activation_cancel_handler): generic cancellation handler, deals with cancelling any in-process DHCP request - (nm_device_activate_stage1_device_prepare, nm_device_activate_stage2_device_config, nm_device_activate_stage3_ip_config_start, nm_device_activate_stage4_ip_config_get, nm_device_activate_stage4_ip_config_timeout, nm_device_activate_stage5_ip_commit): don't call nm_device_schedule_activation_handle_cancel() any more, since cancellation will have been already scheduled for us by nm_device_activation_cancel(). Just exit the function and assume that the cancel handler will be called next. * src/nm-device-802-3-ethernet.c - (real_act_stage2_config): remove; didn't do anything anyway * src/nm-device-802-11-wireless.c - (supplicant_status_cb): ensure we don't do anything if the activation got cancelled - (real_activation_cancel_handler): implement; cancel user key request on activation cancellation 2006-03-04 Dan Williams * src/nm-device-802-11-wireless.c - (supplicant_send_network_config): assume that drivers that don't support WPA pretty much suck, and can't handle NM scanning along with wpa_supplicant. 2006-03-03 Robert Love * configure.in: Bump version to 0.6.0. * NEWS: Update. 2006-03-03 Robert Love * configure.in: Require DBUS 0.60 or later. 2006-03-03 Dan Williams Fix a crash if an "Other wireless network" was chosen, failed, then chosen again from the applet's menu. If the other network wasn't noticed in a scan, it wouldn't have any capabilities, but would still be listed because the user forced the network. To fix this, we set sensible capabilities on the forced network, which will get overwritten with the correct ones if the network shows up later in a scan. * src/nm-ap-security.h - Add a new "get_default_capabilities_func" member to the NMAPSecurity class * src/nm-ap-security.c - (nm_ap_security_get_default_capabilities): new function * src/nm-ap-security.c src/nm-ap-security-wep.c src/nm-ap-security-wpa-psk.c src/nm-ap-security-wpa-eap.c - Implement get_default_capabilities_func() for all, which uses the information contained in a specific NMAPSecurity object to determine default AP capabilites necessary to support that object As a secondary measure, we now prune artificial access points that fail to be activated right away. The thing failed, and we have no scan data for it, so it's pretty much useless since security information is only saved in the applets when a connection is successful. * src/NetworkManagerAPList.c - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan not artificial. If we see it, it's no longer a figment of the user's imagination :) * src/NetworkManagerPolicy.c - (nm_policy_activation_failed): send along the failed AP if we have it * src/nm-device-802-11-wireless.c - (real_activation_failure_handler): remove artificial APs from the device list, because activation failed 2006-03-02 Robert Love Add support for retrieving both the per-device speed and the per-network maximum supported rate. Then change the getProperties DBUS API for both networks and devices to report this informaiton. Finally, display the information via both nm-applet and nm-tool: * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties and set it. * gnome/applet/applet.c: Display the device's speed in the 'Connection Information' dialog. * gnome/applet/applet.glade: Update the UI to show per-device speed. * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces network_device_get_speed() and network_device_set_speed() for retrieving and setting, respectively, a network device's current speed. * src/nm-dbus-device.c: Send the device's speed on getProperties. * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s, in the function nm_device_802_11_wireless_get_bitrate() -- it does not matter (yet) what the units are, because we only feed it its own output. Implement SIOCGIRATE and set the per-network maximum supported rate during scanning. * src/nm-device-802-11-wireless.h: Export the function nm_device_802_11_wireless_get_bitrate(). * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add function nm_device_802_3_ethernet_get_speed() for returning an 802.3's current speed, in Mb/s. * test/nm-tool.c: Display the per-device current speed, if available, and the per-network maximum rate. 2006-03-02 Dan Williams * src/nm-device-802-11-wireless.c - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the card when it gets initialized. Since devices don't get added to the scan list until they are initialized, this function wasn't setting the intitial scan interval correctly, and was leaving it at 0. This caused cards to get many scan requests in a short amount of time when they were initialized 2006-03-02 Robert Love * gnome/applet/applet.c: Do not set the pixbuf if we don't have an active device. But do not do what we used to do and override the state, which caused the dreaded icon race of '05. 2006-03-02 Robert Love Commit Dan's update of my previous commit: * src/nm-device-802-11-wireless.c: Always set the mode, because the set_mode() function itself does the check. But do only set the frequency if in Ad-Hoc mode. 2006-03-02 Robert Love Patch by Brian Magnuson : * src/nm-device-802-11-wireless.c: During scanning, only set the wireless mode to infrastructure if it is not currently in infrastructure mode. For some driver, setting the mode is a costly operation, apparently. 2006-03-01 Rodrigo Moya * Makefile.am: use the correct dir for autostart mechanism. 2006-02-28 Dan Williams Patch from Brian Magnuson * gnome/applet/applet.c - (nma_show_vpn_failure_dialog): fix errors left over from libnotify support changes 2006-02-28 Dan Williams * src/vpn-manager/nm-vpn-act-request.[ch] - (nm_vpn_act_request_is_activated): don't use a switch/case for just one value - (nm_vpn_act_request_is_failed): new function; return whether or not the vpn activation request has failed * src/vpn-manager/nm-vpn-manager.c - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service daemon to kill the connection when the activation request fails. Fixes issue where NM would get confused if the VPN activation request timed out, and would not allow further VPN connections on that service. 2006-02-28 Dan Williams * gnome/applet/applet.c - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with overlapping connection requests, disable all VPN menu items but the active VPN connection 2006-02-28 Dan Williams * src/vpn-manager/nm-vpn-connection.c - (nm_vpn_connection_set_parent_device): fix C&P error which called g_object_unref() on the connection's parent device when it should have been ref-ed instead. Fixes crash with repeated vpn connect requests 2006-02-28 Christopher Aillon * gnome/applet/applet.glade: Mark a few strings non-translatable, since they shouldn't be. 2006-02-28 Dan Williams * src/vpn-manager/nm-vpn-service.c - (nm_vpn_service_start_connection): if the vpn service daemon is already running, don't blindly ask it to connect, but wait until it's in the STOPPED state first. Fixes an assertion when user starts a second vpn connection without stopping the first. - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's dbus service exists before continuing with the connection process, and reduce latency while waiting for it to become available - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency waiting for the vpn service daemon to become available - General log message cleanups; show progress via "Stage x of 4" rather than not telling anyone how many stages there are 2006-02-28 Robert Love * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf. * src/backends/NetworkManagerSuSE.c: Implement the interface nm_system_should_modify_resolv_conf() for SUSE. * src/backends/NetworkManagerDebian.c, src/backends/NetworkManagerGentoo.c, src/backends/NetworkManagerRedHat.c, src/backends/NetworkManagerSlackware.c: Add stub. * src/named-manager/Makefile.am: Grab includes from src. * src/named-manager/nm-named-manager.c: Allow backends to disable the automatic updating of resolv.conf. This is useful for testing, broken static configurations, and administrator lock-down. 2006-02-28 Dan Williams * src/nm-device-802-11-wireless.c - Move all the wpa_supplicant-related management stuff into its own struct, just for oranization's sake - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout to a GIOChannel/GSource - (supplicant_log_stdout): new function; grab output from the wpa_supplicant stdout pipe and write it to our logs. 2006-02-27 Christopher Aillon * src/nm-device-802-11-wireless.c: Err, fix thinko in my previous commit. 2006-02-28 Robert Love * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements. 2006-02-28 Robert Love * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c, gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS deserializers are responsible for freeing the returned DBUS strings. 2006-02-27 Christopher Aillon * src/nm-device-802-11-wireless.c: The scan list is being pruned prematurely. We should prune after the device has gone MIA for three scans, not one. Split out the interval to realtime seconds function to better serve this. 2006-02-27 Robert Love * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c: Open the pid file O_TRUNC, so if it already exists we truncate it to zero length. Also, be more verbose about warnings generated during writing out the pid file. Finally, always write out the pid file if in daemon mode. Use "--pid-file" to override the default. 2006-02-27 Robert Love Patch by R. Vinay : * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key 'last_attempt_success' when removing a VPN connection, too. (Fixes Novell bug #153628). 2006-02-27 Robert Love * gnome/applet/applet.glade: Set "activates_default" on passphrase entry so user can hit after entering passphrase (Novell bug #153738). 2006-02-27 Dan Williams * gnome/applet/* - Mass search/replace of: nmwa -> nma NMWirelessApplet -> NMApplet NM_*_WIRELESS_APPLET -> NM_*_APPLET (it ain't just for wireless anymore, ma!) - Fix duplicate function name printing when using nm_warning - wireless-applet.glade -> applet.glade 2006-02-27 Dan Williams * dispatcher-daemon/NetworkManagerDispatcher.c - Accept --pid-file with a path to a pidfile, write it out on startup, and delete it on shutdown * src/NetworkManager.c - Accept --pid-file with a path to a pidfile, write it out on startup, and delete it on shutdown - Move nm_print_usage() lower * initscripts/RedHat/NetworkManager.in - Use new --pid-file option - Fix service stopping to wait a bit for NM to quit * initscripts/RedHat/NetworkManagerDispatcher.in - Use new --pid-file option 2006-02-26 Dan Williams * src/Makefile.am - make and install nm-crash-logger * src/nm-logging.[ch] - New files; consolidate logging and crash handling * src/nm-crash-logger.c src/gdb-cmd - Standalong crashlogger for NM, grab a backtrace using GDB * src/NetworkManager.[ch] - Remove signal handling and put it into nm-logging.c 2006-02-26 Dan Williams * configure.in gnome/applet/Makefile.am - Conditionalize all the notify stuff Merge most of Chris Aillon's notification patch: * gnome/applet/applet-notifications.[ch] - New files; show a notification * gnome/applet/applet-dbus-devices.[ch] - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb, nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb): new functions, do the right thing when a device change occurs * gnome/applet/applet-dbus.c - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive signals, so we can handle them specially * gnome/applet/applet.[ch] - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert - (nmwa_notify_state): remove - (nmwa_update_state); remove call to nmwa_notify_state, since the notification work is now done when the appropriate dbus signals are received. - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't defer execution of the notification/dialog stuff. That was an artifact of the previous multi-threaded nature of the applet and is now pointless. - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove, no longer needed. Function folded into applet-notifications.c * src/NetworkManagerPolicy.c - (nm_policy_activation_finish): send the AP along with the device status change signal, if the connection is wireless. Should fix the race where applet would show a connection to "unknown" 2006-02-25 Robert Love Add WPA Enterprise support: * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and nm-gconf-wso-wpa-eap.h. * gnome/applet/nm-gconf-wso-wpa-eap.c, gnome/applet/nm-gconf-wso-wpa-eap.h: Add WPA Enterprise Gconf serialization and deserialization. * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c, gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c, gnome/applet/wso-wpa-psk.h: Clean up, support new defines. * gnome/applet/wireless-applet.glade: Add UI for configurating security settings related to WPA Enterprise. * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to instantiate WPA Enterprise wireless-security-option. * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files. Implement WPA Enterprise wireless-security-option object. * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_* defines. Cleanup. * libnm-util/cipher-wpa-psk-hex.c, libnm-util/cipher-wpa-psk-passphrase.c: Cleanup. * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add nmu_security_serialize_wpa_eap() to serialize input to DBUS method, nmu_security_serialize_wpa_eap_with_cipher() to serialize input including the cipher to DBUS method, and nmu_security_deserialize_wpa_eap() to deserialize from DBUS return to output. * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and nm-ap-security-wpa-eap.h * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping. * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New files. Implement NMAPSecurityWPA_EAP object. * src/nm-ap-security-wpa-psk.c: Cleanup. * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate an NMAPSecurityWPA_EAP object via the method nm_ap_security_wpa_eap_new_deserialize(). * src/nm-dbus-nm.c: Cleanup. * test/nm-tool.c: Display "Enterprise" for wireless networks providing WPA Enterprise support. 2006-02-24 Robert Love Patch from Timo Hoenig : * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ. 2006-02-24 Robert Love Patch from Dan Winship : * gnome/applet/eggtrayicon.c: Update EggTrayIcon code. Set the gdk area to transparent. 2006-02-21 Dan Williams * gnome/applet/applet.[ch] gnome/applet/applet-dbus.c - Implement notification support for VPN messages too 2006-02-21 Dan Williams * gnome/applet/applet-dbus-info.c - Clean up warning messages to not double-print the function 2006-02-21 Dan Williams * gnome/applet/applet-compat.c - (convert_one_entry): accept entries without a key_type and convert them to unencrypted networks 2006-02-21 Dan Williams * gnome/libnm_glib/libnm_glib.c - Use __func__ everywhere we can - Code cleanups - Use dbus pending calls rather than blocking - Reduce busywaits for our thread to start and stop (gnome.org #330562) - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't stomp on others using the default shared dbus connection. Fixes #rh177546# and gnome.org #326572 2006-02-21 Dan Williams Patch from Rodney Dawes * configure.in gnome/applet/Makefile.am gnome/applet/applet.c - Add libnotify support if '--enable-notify=yes' is passed at configure time 2006-02-16 Kang Jeong-Hee * configure.in (ALL_LINGUAS): ko added. (Korean) 2006-02-15 Robert Love * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET and WPA_SUPPLICANT_CONTROL_SOCKET. 2006-02-15 Robert Love * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug information about what connection stage we are at, provide the total number of stages, e.g. "Stage 2 of 5", so users know how far along they are if they experience problems. 2006-02-15 Robert Love * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor define to $sysconfdir. * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN editing dialog, vpn_edit_widget, which fixes a bug where editing one type of VPN and then editing another results in a mangled dialog box containing the widgets from both VPNs (fixes Novell #150854). Also, some misc. cleanup and use SYSCONFDIR not open coded directory. 2006-02-14 Robert Love * src/NetworkManager.c: Call closelog() on daemon shutdown to close syslog's file descriptor. 2006-02-14 Robert Love Fix bug around since the change to "deal with APs changing settings on us," checked in on the fifth of February in the year of the dog, wherein connecting to non-broadcast encrypted networks always fails because nm_ap_get_encrypted() always returns FALSE, even when the user provided a key, because the newly-created fake AP does not have any capabilities set, which is a sypmtom of security settings not matching capabilities (Novell bug #150784): * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface, nm_ap_add_capabilities_from_security(), which sets the given AP's capabilities off the given security settings. Also improve our handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and NM_AUTH_CIPHER_AUTO. * src/nm-device-802-11-wireless.c: Call the function nm_ap_add_capabilities_from_security() to ensure that capabilities match newly updated security settings. 2006-02-14 Robert Love * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the error as a string, not an integer, if possible; do not print the function name twice; always give the interface, if possible; misc. cleanup. 2006-02-12 Dan Williams Patch from Tom Parker * src/NetworkManagerSystem.h - Remove prototype for nm_system_device_setup_static_ip4_config(), no longer used * src/backends/NetworkManagerDebian.c - Remove some dead code (nm_system_device_setup_static_ip4_config) and unused variables 2006-02-12 Dan Williams * vpn-daemons/openvpn/intltool-extract.in vpn-daemons/openvpn/intltool-merge.in vpn-daemons/openvpn/intltool-update.in vpn-daemons/pptp/intltool-extract.in vpn-daemons/pptp/intltool-merge.in vpn-daemons/pptp/intltool-update.in - Remove from CVS, they should get created by intltoolize, shouldn't they? 2006-02-12 Dan Williams * vpn-daemons/pptp/src/pppd/patchlevel.h * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c - Rename VERSION -> PPPD_VERSION to avoid conflict with the Makefile-defined VERSION 2006-02-09 Dan Williams Patch from: Vinay A R * src/vpn-manager/nm-vpn-act-request.[ch] - Added 'routes' and 'routes_count' to struct NMVPNActRequest since IPSec VPNs require them for std gateway. - (nm_vpn_act_request_new): takes arguments for 'user_routes' and 'user_routes_count' - (nm_vpn_act_request_get_user_routes): new function; gets user defined routes from NMVPNActRequest object, returns the string array of routes. * src/vpn-manager/nm-vpn-manager.[ch] - (nm_vpn_manager_activate_vpn_connection): take additional arguments for 'user_routes' and 'user_routes_count' * src/vpn-manager/nm-dbus-vpn.c - (nm_dbus_vpn_activate_connection): gets 'user_routes' from nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection() * src/vpn-manager/nm-vpn-service.c - (nm_vpn_service_stage3_connect): pass user routes over dbus to the vpn daemon Modifications by Dan: * src/vpn-manager/nm-vpn-service.c - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string arrays into dbus * vpn-daemons/vpnc/src/nm-vpnc-service.c * vpn-daemons/pptp/src/nm-pptp-service.c * vpn-daemons/openvpn/src/nm-openvpn-service.c - Grab user routes from dbus message - Free all string arrays we got from dbus 2006-02-07 Robert Love Patch by Stefan Seyfried : * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr. 2006-02-06 Robert Love * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb(). 2006-02-06 Robert Love * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the test ">=" is never false. If no newline is found, we loop forever. We can just check for ">" because the following if() will see the zero-th argument if the while() gets that far. 2006-02-05 Dan Williams Refine handling of non-broadcast networks. * src/NetworkManagerAPList.c - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast' property from scanned AP to the AP from the device list * src/nm-device-802-11-wireless.c - (supplicant_send_network_config): use ap_scan=1 for all networks except non-SSID-broadcasting and Ad-Hoc networks. Use ap_scan=2 for those. Also, don't set scan_ssid for Ad-Hoc networks since those don't have APs. - (add_new_ap_to_device_list): if there's no valid SSID, mark the AP as non-SSID-broadcasting - (process_scan_results): don't handle non-SSID-broadcasting here 2006-02-05 Dan Williams * src/nm-device-802-11-wireless.c - (get_supplicant_timeout): new function; return NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than 14 channels. These are likely a/b/g cards, like Atheros, and slow as hell to scan. - (supplicant_timeout_cb, supplicant_monitor_start): use get_supplicant_timeout() 2006-02-05 Dan Williams * src/dhcp-manager/nm-dhcp-manager.c - Loose a commit race with Robert; make sure size check uses size of DHCP_SERVICE_LEN, not hardcoded 15 2006-02-05 Robert Love Patch by Christoph Brill : * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines with DHCP_SERVICE_NAME. 2006-02-05 Dan Williams Remove anything having to do with device_setup_func from the AP security objects, since it's no longer used. * src/nm-ap-security.h - Kill device_setup_func and nm_ap_security_device_setup() * src/nm-ap-security-wep.c src/nm-ap-security-wpa-psk.c - (real_device_setup): remove * src/nm-ap-security.c - (real_device_setup): remove - (nm_ap_security_device_setup): remove * src/nm-device-802-11-wireless.[ch] - (nm_device_802_11_wireless_set_wep_enc_key): make static - (set_wireless_config, wireless_configure_adhoc): remove; unused and done by wpa_supplicant now anyway 2006-02-05 Dan Williams * src/nm-device-802-11-wireless.c - (ap_need_key, real_act_stage2_config): deal with APs changing settings on us. Previously NM would loop asking for the key but getting the same one back. Now, if the NMI-supplied cipher doesn't overlap with the scanned AP capabilities, we request a completely new key from the user. 2006-02-05 Dan Williams * src/NetworkManagerUtils.c - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request): Handle newline killing better 2006-02-05 Dan Williams * gnome/applet/nm-gconf-wso.c - (real_serialize_dbus): return TRUE, not 0. Fixes serialization of unencrypted access point security info. 2006-02-03 Robert Love * src/NetworkManagerUtils.c: Even for debugging, we should not log the user's encryption key, so we print the err_msg_cmd not the command, if available. So long as SUPPLICANT_DEBUG is default, this makes sense. 2006-02-03 Christopher Aillon * initscript/RedHat/NetworkManagerDispatcher.in: * initscript/RedHat/NetworkManager.in: modify the pidfile location Patch from Dan Walsh 2006-02-03 Robert Love * dispatcher-daemon/NetworkManagerDispatcher.c, dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc but use the sysconfdir. 2006-02-03 Robert Love * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h: Make nm_device_802_11_wireless_get_essid() return 'const char *' not 'char *'. * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions nm_ip4_config_get_hostname() and nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'. * src/backends/NetworkManagerSuSE.c: Fix up for above. Also, do not leak g_strdup() result. 2006-02-03 Robert Love * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to broadcast == TRUE. Also, copy broadcast and artificial properties from source network to destination in nm_ap_copy(). * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE, since we now default new networks to non-hidden. 2006-02-03 Dan Williams * gnome/applet/main.c - (main): change the NEVER->ALWAYS so we start at the beginning of the session, if being session-managed 2006-02-03 Dan Williams * gnome/applet/main.c - (main): in a variation on Robert's patch, change RESTART_IMMEDIATELY -> RESTART_NEVER. Should do what he wants. 2006-02-02 Robert Love * src/Makefile.am: If we aren't going to create the run directory at, uh, run-time, create it during install. Then users just doing 'make install' are cool, too. While we are here, create the dispatcher.d directory, too. * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in the exact run directory. * Makefile.am: Install nm-applet.desktop. 2006-02-02 Robert Love * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint structure, which denotes whether or not the AP is hidden. This is a superset of 'artificial' -- we need 'broadcast' because a hidden AP can show up in the scan list. Add nm_ap_get_broadcast() and nm_ap_set_broadcast() accessor interfaces. * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and nm_ap_set_broadcast(). * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the "getProperties" method, which denotes whether or not the given network is hidden. * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating an artificial network. Set broadcast to TRUE when scanning returns an ESSID and FALSE when not. * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument from "getProperties" method on a network. Possible TODO is to somehow display this. * test/nm-tool.c: Display "Hidden" if the AP does not broadcast. 2006-02-02 Dan Williams * src/nm-device-802-11-wireless.c - (supplicant_interface_init): don't try to create /var/run/NetworkManager, since that should be done by the distro package. Causes problems for stuff like SELinux 2006-02-02 Robert Love Patch by Sureshkumar T : * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c: Check for and handle empty string for iface. 2006-02-01 Robert Love * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1) manpage. 2006-01-31 Dan Williams * nm-applet.desktop - Add --sm-disable to Exec arguments, presuming that when using autostart, we don't want session management 2006-01-31 Robert Love * src/NetworkManagerAP.c: Add two new manufacturer default network names: linksys-a and linksys-g. These are found (at least) on the Linksys WAP55AG, which does both 802.11a and 802.11b, each with their own ESSID. 2006-01-31 Robert Love * src/NetworkManagerAP.c: Optimize the function nm_ap_has_manufacturer_default_essid(). I did not like its resulting machine code. This is the first in a series of code tweaks aiming to generate better machine code and make NetworkManager all the better. Just kidding. Who has time to go through the assembly generated for every function? I certainly don't. I have a wife, a kid, a job, a mortgage, a mistress. But this function was so bad, I was called to arms. Like the book. 2006-01-31 Robert Love * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested AP is not broadcasting, to scan with probe request frames. Required for non-broadcast networks. 2006-01-31 Robert Love * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a preprocessor define (still 20s). Fix message text in nm_info() s/too too/took too/. 2006-01-30 Dan Williams * src/nm-device-802-11-wireless.c - (supplicant_monitor_start): increase connect/auth timeout to 20 seconds from 10 seconds 2006-01-30 Dan Williams * src/Makefile.am - Define LOCALSTATEDIR * src/nm-device-802-11-wireless.c - (supplicant_exec): tell wpa_ctrl_open() to stick the local control socket where we want it to * src/wpa_ctrl.[ch] - (wpa_ctrl_open): accept location to put local control socket 2006-01-30 Robert Love * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in get_ip4_string() for "domain_name". 2006-01-30 Robert Love * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c, gnome/applet/wireless-security-option.c, include/NetworkManager.h, libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c, libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add support for "Automatic" pairwise and group cipher configuration by letting wpa_supplicant handle the details. Add UI elements, new cipher type NM_AUTH_CIPHER_AUTO, and backend support. Works like a charm. Note this does more than add a nice feature, it fixes a bug. Apparently, some people have AP's where the pairwise cipher does not match the group cipher. Insane, but true. 2006-01-30 Dan Williams * gnome/applet/applet-dbus-devices.c - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new functions, grab device driver name from NetworkManager - (nmwa_dbus_device_properties_cb): call functions to get driver * gnome/applet/applet.c - (nmwa_update_info): show driver name in Connection Information dialog * gnome/applet/nm-device.[ch] - (network_device_get_driver, network_device_set_driver): add accessors for driver name * gnome/applet/wireless-applet.glade - Add line for driver name to Connection Information dialog * src/nm-dbus-device.c - (nm_dbus_device_get_driver): new function to return driver name - (nm_dbus_device_methods): hook up driver name function to dbus * test/nm-tool.c - (get_driver_name): new function - (detail_device): grab and show driver name 2006-01-30 Robert Love * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup does not parse the markup if it is not part of the format. 2006-01-30 Robert Love * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns FALSE, we have no security options for this dialog, so we throw up an error dialog instead of a broken passphrase dialog. Fixes Novell #138404. * gnome/applet/wireless-security-manager.c, gnome/applet/wireless-security-manager.h: If wsm_set_capabilities() does not add any security options, not even NONE, print a warning and return FALSE. This let's functions constructing a dialog bail out if the device's capabilities and the network's requirements have zero overlap. 2006-01-27 Robert Love * configure.in: Require wpa_supplicant. Detect location of binary and use it. Override with "--with-wpa_supplicant=foo". * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the path to wpa_supplicant but use the auto-detected or user-provided value from configure. 2006-01-27 Robert Love * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set but the DHCP server did not return a hostname, try to look up our name via DNS and set the system hostname to that. 2006-01-27 Dan Williams * src/backends/NetworkManagerRedHat.c - Add NM_CONTROLLED system network script support for RH/Fedora 2006-01-27 Dan Williams * src/backends/NetworkManagerGentoo.c - (nm_system_device_get_disabled): add missing function. Gnome BZ #328780 2006-01-27 Clytie Siddall * configure.in: Added vi in ALL_LINGUAS line. 2006-01-26 Robert Love * src/Makefile.am, src/kernel-types.h: Now that two different source files are feeling the crack-addled leakage of kernel types such as u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid types in user-space -- define a header and include it as needed. * src/nm-device-802-3-ethernet.c: Include kernel-types.h * src/nm-device-802-3-ethernet.h: Remove defines. * src/wpa.c: Remove defines and include kernel-types.h. 2006-01-26 Robert Love * TODO: Update. WPA support is in the bag and HAL restarts (should) work. 2006-01-26 Robert Love * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter' * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c, gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c, gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h, gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c, gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c, gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c, gnome/applet/wireless-security-option.c, src/nm-ap-security.c, gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c, libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c, src/NetworkManagerSystem.c, src/nm-ap-security-wep.c, src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c, src/named-manager/nm-named-manager.c, test/test-common/test-common.c: Kill unused variables, labels, and static functions. Don't pass string literals as the format string for printf-like functions. 2006-01-25 Dan Williams * gnome/applet/wireless-applet.glade - Remove WPA2 Checkbox * gnome/applet/wireless-security-manager.c - (wsm_set_capabilities): split up sections for wpa and wpa2. This means the Wireless Security menu now has two WPA options, one for "WPA Personal" and one for "WPA2 Personal" * gnome/applet/wso-wpa-psk.[ch] - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use 'wpa2' argument to determine WPA version to use - (append_dbus_params_func): pass stored WPA version to cipher rather than using the (removed) checkbox 2006-01-24 Robert Love * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array before we g_strdup(), not the ultimate string. 2006-01-23 Dan Williams * src/NetworkManagerAP.[ch] - (nm_ap_new_from_ap): copy original essid too - (nm_ap_unref): free original essid - (nm_ap_get_orig_essid): new function - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus, but keep original essid around too * src/nm-device-802-11-wireless.c - (supplicant_send_network_config): send wpa_supplicant the _original_ essid, and not as a string, but in hex. Should allow us to connect to more APs that use wierd character encodings for their essids * utils/nm-utils.[ch] - (nm_utils_essid_to_utf8): make a best-effort to convert the essid to UTF-8. If it's not already valid UTF-8, we check LANG and use the current locale as a hint for what encoding the essid might be in. Obviously not 100% accurate, but the idea here is that if a user's locale is ex. ja_JP, they are more likely than not to be in Japan, where access points will likely be in some Japanese encoding. 2006-01-23 Dan Williams * libnm-util/cipher-private.h libnm-util/cipher.c libnm-util/cipher.h - (cipher_bin2hexstr, cipher_hexstr2bin): make public 2006-01-23 Robert Love Patch by Timo Hoenig : * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c, nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported by DHCP and pass it to the backends, allowing distribution-specific behavior with respect to the DHCP-supplied hostname (if nothing else, some distributions might not want to set the hostname). * backends/NetworkManagerSuSE.c: Set the hostname if the variable DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp. Also update our NIS behavior. * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c, backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c: Add stub functions. 2006-01-23 Robert Love * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that gnome-session does autostart. TODO: We need to install this to $prefix/share/autostart/. 2006-01-22 Dan Williams * src/NetworkManagerAP.[ch] src/nm-dbus-nmi.c src/nm-device-802-11-wireless.c - Make nm_ap_get_essid return "const char *" 2006-01-22 Dan Williams * src/NetworkManagerAP.[ch] - (nm_ap_get_matched, nm_ap_set_matched): remove * src/NetworkManagerAPList.[ch] - (nm_ap_list_diff): removed - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here, deal with access points changing essids on us * src/nm-device-802-11-wireless.c - (add_new_ap_to_device_list): move AP dbus signal logic to src/NetworkManagerAPList.c - (real_can_interrupt_activation): new function; allow interruption of device activation if we are waiting for a network key * src/NetworkManagerPolicy.c - (nm_policy_device_change_check): allow interruption of currently activating devices if the device allows it. Previous behavior would refuse to activate a just-plugged wired device if a wireless device was waiting for a key. * src/nm-device.[ch] - (nm_device_can_interrupt_activation): new function; ask devices whether their activation can be interrupted 2006-01-20 Robert Love * Makefile.am, configure.in: Add new man subdirectory. * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in, man/Makefile.am: Add man pages for NetworkManager and its crime-solving bumbling buddy, NetworkManagerDispatcher. * man/.cvsignore: Add. * initscript/Debian/NetworkManager, initscript/Gentoo/NetworkManager.in, initscript/RedHat/NetworkManager.in, initscript/RedHat/NetworkManagerDispatcher.in, initscript/SUSE/networkmanager-dispatcher.in, initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin. 2006-01-20 Robert Love * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken, instead of queuing. This prevents the running of multiple NM daemons concurrently, which does not work whatsoever and results in neither daemon working correctly. Also, we don't handle queuing and name-owner-changes, anyhow. 2006-01-20 Robert Love * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin. * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon to sbin, not bin. 2006-01-19 Robert Love * configure.in: Require hal 0.5.0 or later. 2006-01-18 Robert Love * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c: Allow backends to flag a device (in whatever distro-dependent way they so desire) as disabled. NM will ignore any such device. * src/backends/NetworkManagerDebian.c, src/backends/NetworkManagerRedHat.c, src/backends/NetworkManagerSlackware.c: Add stub function nm_system_device_get_disabled() that always returns FALSE (enabled). * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the SUSE-specific configuration structure. Fill it in from the NM_CONTROLLED variable in the system networking scripts. If this var exists and is "no", we ignore the device. 2006-01-17 Robert Love * configure.in: Remove 'no' language. Replaced by 'nb', which is identical for NM. For a full discussion, see the thread at http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html. 2006-01-17 Dan Williams * src/nm-device.c - (nm_device_class_init): connect a default act_stage4_ip_config_timeout function. Fixes crash when wired DHCP fails. 2006-01-16 Robert Love * src/Makefile.am: Don't install NMLoadModules * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script from src/ to test/ as no one uses it anymore. Note that I would be fine with removing it altogether. 2006-01-16 Robert Love * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c, gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c, gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c, src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c, src/nm-netlink-monitor.c: Don't miss any initializers on structure declarations, ever. * gnome/applet/applet.c: Remove useless check (NMState is unsigned and NM_STATE_DISCONNECTED is zero). 2006-01-16 Robert Love * src/nm-device-802-11-wireless.c: argv[3], not argv[4]. Fix uninitialized parameter and buffer overflow. Novell #143496. 2006-01-16 Dan Williams Apply the PtP Address bits of a patch from Tim Niemueller * src/nm-ip4-config.[ch] - Add ip4_ptp_address member to object - (nm_ip4_config_copy): copy ptp address too - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address): new functions - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to, rather than local tunnel ip address * src/vpn-manager/nm-vpn-service.c - (print_vpn_config): update for PtP address - (nm_vpn_service_stage4_ip_config_get): switch parsing to DBusMessageIters in preparation for getting routes from the VPN service daemons too * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c - (send_config_info): update for PtP address, clean up code - (main): update for PtP address, clean up code, fix typo * vpn-daemons/openvpn/src/nm-openvpn-service.c - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c - (pptp_ip_up): update for PtP address * vpn-daemons/pptp/src/nm-pptp-service.c - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address * vpn-daemons/vpnc/src/nm-vpnc-service.c - (print_vpn_config): update for PtP address - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address 2006-01-16 Dan Williams * gnome/applet/applet.c - (nmwa_add_networks_helper): don't indicate an active network if NM is disconnected or asleep 2006-01-16 Dan Williams * src/NetworkManagerPolicy.c - (nm_policy_device_change_check): switch devices if we lose the link on an ethernet device. 2006-01-16 Dan Williams * gnome/applet/wso-wpa-psk-hex.[ch] - Renamed -> wso-wpa-psk.[ch] * gnome/applet/wso-wpa-psk.[ch] - New files * gnome/applet/wso-wpa-psk-passphrase.[ch] - Removed, rolled into wso-wpa-psk.[ch] * gnome/applet/Makefile.am - Updated for above changes * gnome/applet/wireless-applet.glade - Consolidate WPA-PSK options into one notebook widget, and make dialogs invisible by default to fix screen oddities * gnome/applet/wireless-security-manager.c - (wsm_set_capabilities): create the new wpa-psk widget rather than both the old hex & passphrase ones 2006-01-16 Dan Williams * gnome/applet/other-network-dialog.c - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID" 2006-01-16 Dan Williams * gnome/applet/applet.c - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog, nmwa_driver_notify, show_warning_dialog): fix up focus-stealing prevention to realize window before trying to get server time * gnome/applet/other-network-dialog.c - (nmwa_other_network_dialog_run): fix up focus-stealing prevention to realize window before trying to get server time * gnome/applet/passphrase-dialog.c - (nmi_passphrase_dialog_new): fix up focus-stealing prevention to realize window before trying to get server time 2006-01-16 Robert Love Patch from Timo Hoenig * gnome/applet/wireless-security-option.c - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name 2006-01-16 Dan Williams * libnm-util/cipher-wpa-psk-passphrase.c - (cipher_wpa_psk_passphrase_new): correct passphrase length, should be 8 - 63 characters inclusive 2006-01-16 Dan Williams * src/nm-dbus-nm.c - (nm_dbus_nm_sleep): bring device down after quick deactivation 2006-01-13 Robert Love Patch by T Sureshkumar : * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN modules that do not use an interface. 2006-01-13 Dan Williams * src/nm-device.c src/nm-device.h - Allow subclasses to implement deactivate_quickly() - (nm_device_deactivate_quickly): call subclass deactivate_quickly() methods - (nm_device_set_active_link): small cleanups, and don't deactivate the device right away because we risk a deadlock when called from device thread, waiting for the device thread to cancel activation * src/nm-device-802-11-wireless.c - (real_deactivate_quickly): new function - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly - (real_deactivate): move supplicant cleanup to real_deactivate_quickly so that we kill the supplicant when we sleep too - (supplicant_interface_init): work around naive naming attempts of wpa_ctrl when naming sockets 2006-01-13 Dan Williams * src/nm-device-802-11-wireless.c - (supplicant_cleanup): delete old device control sockets too - (supplicant_get_device_socket_path): new function to consolidate locations that need a path to a device's control socket 2006-01-12 Robert Love * src/backends/NetworkManagerSuSE.c: Put the ppp device in the description so that the description is unique for each pair (device,provider). Fixes Novell #142773. 2006-01-12 Dan Williams * src/nm-device-802-11-wireless.c - (supplicant_exec): ensure GError is correctly initialized Reported by Diego González (gnome.org #326708) 2006-01-11 Robert Love * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not define if_mii(), open code the same results, and do so without any type punning. 2006-01-11 Robert Love * gnome/applet/wireless-security-manager.c: Fix crash by not asserting that wso_foo_new() returned non-NULL. Instead, only append the new wso to wsm->options if the wso is non-NULL. The crux is that we assume that the relevant key types are implied by WEP and WPA as appropriate. To be sure, they should be, but we should not expect drivers to not be oozing piles of wolf fecal matter. 2006-01-11 Robert Love * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'. * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c, src/NetworkManagerAPList.c, src/NetworkManagerDbus.c, src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c, src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c, src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c, test/nmtestdevices.c: Fix shadowed variable usage as appropriate. * src/nm-device-802-11-wireless.c: Fix floating point comparison by comparing values within DBL_EPSILON. Also fix shadowed variable usage. 2006-01-11 Dan Williams Add options for WPA2 and WPA1+CCMP (AES). * gnome/applet/wireless-applet.glade - Add UI bits for WPA+CCMP * gnome/applet/other-network-dialog.c - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager, and don't allow creation of WPA2 Ad-Hoc networks since wpa_supplicant doesn't support them * gnome/applet/wireless-security-manager.c - (wsm_set_capabilities): Add WPA2 options, and pass capability on to the specific wireless security option being created * gnome/applet/wireless-security-option.[ch] - (wso_wpa_create_key_type_model): new utility function to create the model required for WPA Key Type combo box * gnome/applet/wso-private.h gnome/applet/wireless-security-option.h - Move private function prototypes into wso-private.h * gnome/applet/wso-wpa-psk-hex.[ch] gnome/applet/wso-wpa-psk-passphrase.[ch] - (append_dbus_params_func): get WPA version from checkbox and pass it to the dbus serialization helper - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the key type combo changes - (wso_wpa_psk_hex_new): set up the key type combo with the correct model and options * libnm-util/cipher-wpa-psk-hex.c libnm-util/cipher-wpa-psk-passphrase.c - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher): new function; allow the cipher to be changed after object creation * src/nm-ap-security-wpa-psk.c - (set_description): Do WPA2 descriptions too * src/nm-ap-security.c - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too 2006-01-11 Robert Love * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that is defined in to return the mii_ioctl_data structure from the ifreq structure in lieu of an open coded solution. Removes a life-threatening type-punning. * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any types, ever, whatsoever, baby. 2006-01-11 Robert Love * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c, gnome/applet/applet.c, gnome/applet/applet.h: Consolidating assignments to applet->nm_state into a new nmwa_set_state() function for both cleanliness and to help debugging. 2006-01-10 Robert Love * src/autoip.c: Fix FIXME. In performing the link-local zeroconf IP assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX seconds, exclusive. That is, we want to sleep x seconds such that 1 < x < 2. 2006-01-10 Robert Love * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free the attr fields according to the example in the email available at mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html. Conversely, we do have to free 'name', so we do so, fixing a leak. 2006-01-10 Robert Love * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make sure that we close the socket! 2006-01-10 Robert Love * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h, src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h, src/nm-device.c: Fix a FIXME! Reimplement the function nm_device_update_hw_address() in device subclass variants, nm_device_802_3_ethernet_set_address() and nm_device_802_11_wireless_set_address(), hook them up, and use them. This fixes the existing bug where MAC addresses are all zeros. 2006-01-10 Robert Love * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h, gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking' option to give users ability to globally disconnect and put NM to sleep. This is useful as a 'lockdown mode' for flying, security, and clean disconnect. 2006-01-09 Robert Love * src/nm-device-802-3-ethernet.h: The kernel headers and leak the kernel-only types u16, u32, et al. User-space does not supply these types, so we have to define them ourselves. The relevant kernel maintainer refused to accept a patch switching these headers to the proper C99 types. 2006-01-09 Dan Williams Apply Robert's 'tray icon redo' patch with fixes * gnome/applet/applet.c gnome/applet/applet.h - Instead of using a menu bar + menu item, simulate menu behavior using a popup menu. Highlight the area around the icon more like a menu too, by playing with the applet's size requisition 2006-01-09 Timo Hoenig * libnm-util/dbus-helpers.c libnm-util/dbus-helpers.h - (nmu_create_dbus_error_message): rename parameter 'namespace' to 'exception_namespace' (:namespace is a keyword in C++) 2006-01-09 Dan Williams * src/NetworkManagerPolicy.c - (nm_policy_device_change_check): don't autoswitch away from Ad-Hoc networks, since there's really no concept of "link" * src/nm-dbus-nm.c - (nm_dbus_nm_create_wireless_network): mark created networks as Ad-Hoc networks * src/nm-device-802-11-wireless.c - (real_activation_success_handler): add user-created Ad-Hoc networks to the device's scan list 2006-01-08 Dan Williams We now require a patch for wpa_supplicant to support Ad-Hoc networks: http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch * src/nm-device-802-11-wireless.c - (supplicant_send_network_config): turn off wpa_supplicant's scanning. Fixes Ad-Hoc networks. 2006-01-08 Dan Williams * src/nm-ap-security.c src/nm-ap-security.h - Add a user_created argument to the write_supplicant_config functions * src/nm-ap-security-wep.c src/nm-ap-security-wpa-psk.c src/nm-device-802-11-wireless.c - Make Ad-Hoc mode somewhat work, at least write the correct options to wpa_supplicant 2006-01-08 Dan Williams * src/nm-device-802-11-wireless.c - Remove unused code from the old device activation path 2006-01-08 Dan Williams * libnm-util/dbus-helpers.c - (nmu_security_serialize_wpa_psk): pass a blank key through dbus when key == NULL 2006-01-08 Dan Williams * gnome/applet/nm-gconf-wso-wpa-psk.c - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed correct arguments to nmu_security_deserialize_wpa_psk() * src/nm-ap-security-wpa-psk.c - (nm_ap_security_wpa_psk_new_deserialize): feed correct arguments to nmu_security_deserialize_wpa_psk() 2006-01-08 Dan Williams * gnome/applet/wso-wpa-psk-hex.c gnome/applet/wso-wpa-psk-passphrase.c - Hook up the append_dbus_params_func() function 2006-01-08 Dan Williams * src/nm-device-802-11-wireless.c - (get_wireless_capabilities): correctly detect driver WPA capabilities 2006-01-08 Dan Williams * gnome/applet/Makefile.am gnome/applet/wso-wpa-psk-hex.c gnome/applet/wso-wpa-psk-hex.h - New files, implement WPA-PSK Hex key input * gnome/applet/wireless-applet.glade - Change existing wpa-psk stuff to wpa-psk-hex - Add new widgets for wpa-psk-passphrase * gnome/applet/wireless-security-manager.c - (wsm_set_capabilities): enable WPA options * gnome/applet/wso-wpa-psk-passphrase.c - (wso_wpa_psk_passphrase_new): use correct glade widgets for WPA-PSK passphrase 2006-01-08 Dan Williams * include/NetworkManager.h - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for applet/info-daemons * gnome/applet/passphrase-dialog.c - Use the constant. Fixes a bug where the arguments to dbus_message_new_error() were incorrect * src/nm-dbus-nmi.c - Use the constant 2006-01-07 Dan Williams * src/nm-device-802-11-wireless.c - Add a link timeout so we allow the supplicant time to reassociate if it can, before we deactivate the card - Fix up link status and link updating so things work better 2006-01-07 Dan Williams * src/nm-device-802-11-wireless.c - Switch over to using wpa_supplicant - Add a timeout of 10s for association of the supplicant - Start the monitor callback of the supplicant 2006-01-07 Dan Williams * src/NetworkManagerUtils.c - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check): pass correct buffer length to wpa_ctrl_request() 2006-01-07 Dan Williams * src/nm-device-private.h src/nm-device.c - (nm_device_activate_schedule_stage3_ip_config_start): make this function available to subclasses 2006-01-06 Robert Love * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the user plugging in a network cable signals their preference for to switch, unless the user explicitly selected a wireless network and therefore signaled their preference for said wireless network over wired. In other words, do exactly what makes sense. 2006-01-06 Robert Love * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h, src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Remove, no longer used and they keep showing up in my greps. 2006-01-06 Robert Love * gnome/applet/applet-dbus-devices.c, gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c, libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h, src/nm-dbus-nm.c: Fix several issues. 'Connect to Other' and 'Create New Network' both failed in the non-encrypted case because we were not appending the security options to the DBUS message. And 'Connect to Other' was also failing in the encrypted case because we were not incrementing to the next DBUS parameter. All fixed. Thanks to dcdw for some debugging help. 2006-01-06 Robert Love * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c, gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global hangup code and add per-device hangup. Tie last commit into the GNOME applet. TODO: Save, understand, and respond to the state of each dialup device. 2006-01-06 Robert Love Patch by Timo Hoenig : * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to hangup specific dialup devices. * src/backends/NetworkManagerDebian.c, src/backends/NetworkManagerGentoo.c, src/backends/NetworkManagerRedHat.c, src/backends/NetworkManagerSlackware.c: Add stub backend. * src/backends/NetworkManagerRedHat.c, src/backends/NetworkManagerSuSE.c: Add specific backend interface to hangup specific dialup devices. 2006-01-04 Robert Love * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c, src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup connections. 2006-01-04 Dan Williams First dump of wpa_supplicant-related code. It's not hooked up to anything yet though. Thanks to Kay Sievers for wpa_supplicant_wrapper.c, which formed the basis for this work, and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h. * src/Makefile.am src/wpa_ctrl.[ch] - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it * src/NetworkManagerUtils.[ch] - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check): Add convenience functions for talking to wpa_supplicant * src/nm-ap-security.[ch] src/nm-ap-security-wep.c src/nm-ap-security-wpa-psk.[ch] - Update and implement real_write_supplicant_config functions in all security types - (nm_ap_security_wpa_psk_new_from_ap): implement in nm-ap-security-wpa-psk.c * src/nm-device-802-11-wireless.c - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb, wpa_supplicant_start, wpa_supplicant_interface_init, wpa_supplicant_send_network_config): add functions to talk to wpa_supplicant and write network config to it 2006-01-04 Robert Love * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE values so that distribution-backends can differentiate between the various types (modem, ISDN, et cetera) of dialup device that they support. * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as needed. 2006-01-03 Dan Williams * src/NetworkManagerPolicy.c src/nm-device.[ch] src/nm-device-802-11-wireless.c - Move wireless-specific activation failure and success code into wireless device class 2006-01-03 Robert Love Patch by Preggna S: * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c: IPsec does not require that a VPN client be bound to an interface, due to the use of the in-kernel IPSec bits. So make the tunnel device optional. 2006-01-03 Dan Williams * src/NetworkManagerAP.c - (nm_ap_add_capabilities_from_ie): presume no WEP unless the WPA IE specifies that WEP is supported * src/nm-device-802-11-wireless.c - (process_scan_results): don't mark an AP as supporting WEP if there's already other encryption capability info 2006-01-03 Dan Williams * src/dhcp-manager/nm-dhcp-manager.c - Recognize activation cancellation when waiting for DHCP configuration from dhcdbd - Ignore non-dhcdbd messages * src/nm-device.c - (real_act_stage3_ip_config_start): return to correct behavior of letting the dhcp-manager notify us of failure or success rather than incorrectly doing that ourselves - (nm_device_activate_stage4_ip_config_get): deal with activation cancellation a bit earlier 2006-01-03 Dan Williams * src/nm-device-802-11-wireless.c src/nm-device.[ch] - Add hooks to subclasses for stage3_ip_config_start and stage4_ip_config_timeout * src/nm-device-802-3-ethernet.c - (real_get_generic_capabilities): make devices NM-supported by default 2006-01-03 Robert Love * src/backends/NetworkManagerSuSE.c: update to newer API (no more nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the latter cannot differentiate between error and the address -1; misc. clean up. 2006-01-03 Dan Williams * src/NetworkManager.c - Move link-checking/probing into the device subclasses themselves * src/nm-device.[ch] src/nm-device-802-11-wireless.c src/nm-device-802-3-ethernet.c - Do periodic link checking in device subclasses rather than being triggered from NetworkManager.c - discover_wireless_capabilities -> get_wireless_capabilities - discover_generic_capabilities -> get_generic_capabilities - Device subclass activation routines now return a value of type NMActStageReturn to indicate what step to perform next - Devices now override stage4_get_ip4_config if they choose 2006-01-01 Dan Williams * src/nm-device-802-11-wireless.c - (real_init): don't chain up to parent init because we don't need to do that anymore * src/nm-device.c - (discover_device_type): fix arguments to ioctl() to correctly pass interface name - (nm_device_new): consolidate generic device initialization into nm_device_new() - (real_init): remove, consolidated to nm_device_new() - (nm_device_deactivate, real_deactivate): consolidate 2006-01-01 Dan Williams * src/nm-activation-request.c - Change dhcp_state member of the NMActRequest structure from guint8 to guint32 * src/dhcp-manager/nm-dhcp-manager.[ch] - (nm_dhcp_manager_get_state_for_device): return guint32 rather than guint8 to match the dbus argument. Turns out we were overwriting memory since we were passing in only a guint8 2005-12-31 Dan Williams * refactor NMDevice into a GObject-based framework with separate objects for wired and wireless. The following files are no longer used but should stick around for a bit so we don't loose code through the cracks: NetworkManagerDevice.c NetworkManagerDevice.h NetworkManagerWireless.c NetworkManagerWireless.h The intent here is to allow each device type to manage its own connection & activation life-cycle, ie to allow wireless devices to interface with wpa_supplicant, etc. There's a fair bit of encapsulation breakage right now that should gradually get pulled back into each device, along with things like periodic property updates and link probing. 2005-12-29 Dan Williams * include/NetworkManager.h - Add NM_802_11_CAP_PROTO_NONE since we need to recognize between networks that don't have any encryption at all 2005-12-29 Dan Williams * test/test-common.c test/test-common.h test/Makefile.am - Move to a test-common subdirectory * test/libnm-util/test-ciphers.c - Move test data to test-inputs.h - Test WPA ciphers too * test/libnm-util/test-dbus-helpers.c - Test serialization/deserialization of ciphers 2005-12-29 Dan Williams * gnome/applet/applet-dbus-devices.c - Replace 'enc' parameter with 'capabilities' for wireless networks in dbus calls to NM - Set capabilities on WirelessNetwork objects - Receive and save type-specific device capabilities too * gnome/applet/applet-dbus-info.c gnome/applet/applet-dbus.c - Passphrase dialog no longer a singleton; new instance gets created on each request. Updates to deal with that. * gnome/applet/applet.c - (nmwa_has_encrypted_networks_helper): use AP capabilities rather than single 'encrypted' flag - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN menu items - Passphrase dialog updates per above * gnome/applet/menu-items.c - (network_menu_item_update): use AP capabilities to determine encryption * gnome/applet/nm-device.[ch] - Add accessors for type-specific device capabilities * gnome/applet/other-network-dialog.c - Rework to respect device capabilities. i.e., if the device doesn't support WPA, remove that option from the security dropdown * gnome/applet/passphrase-dialog.c - Massive rework so that a new instance is created each time it's used, to support wireless network capabilities * gnome/applet/wireless-network.[ch] - Add accessors and members for wireless network capabilities * gnome/applet/wireless-security-manager.[ch] - (wsm_set_capabilities): called after creation to set which security options get shown to the user 2005-12-29 Dan Williams * libnm-util/cipher-wpa-psk-passphrase.c - (cipher_wpa_psk_passphrase_hash_func): return key as hex string like other ciphers 2005-12-23 Dan Williams * gnome/applet/applet-dbus-info.c - (nmi_dbus_get_key_for_network): if there's no entry in GConf for a network, assume we want a new key - (nmi_save_network_info): serialize wireless security info into GConf so its saved * src/nm-dbus-nm.c - Fix warning as we may not be passed security info when connecting to a wireless network 2005-12-23 Dan Williams * gnome/applet/applet-compat.c - Fix bugs in GConf entry conversion * gnome/applet/applet-dbus-info.c - (nmi_dbus_get_network_properties): handle case of the BSSID list being zero-length * libnm-util/cipher-* libnm-util/dbus-helpers.c - All ciphers must now return hashed keys as UTF-8 valid hexadecimal strings, ie "8f3dae4023". They are pushed through dbus as strings too. - Consolidate various functions that do bin->hex and hex->bin conversion into cipher.c * src/nm-ap-security-wep.c src/nm-ap-security-wpa-psk.c - Handle NULL keys since we may not know keys right away * src/nm-dbus-nmi.c - (nm_dbus_get_network_data_cb): actually advance to the start of the wireless security info before we try to deserialize it * libnm-util/test-ciphers.c - Update cipher tests for the change to UTF-8 hexadecimal strings 2005-12-22 Dan Williams * gnome/applet/applet-compat.[ch] - Convert old-format GConf and keyring entries when the applet starts up. * gnome/applet/applet.c - (nmwa_get_instance): Call the conversion function on startup before dbus is initialized 2005-12-22 Dan Williams * gnome/applet/applet-dbus-info.c - Remove nmi_dbus_create_error_message() in favor of nmu_create_dbus_error_message() - (nmi_dbus_get_network_properties): Error message cleanups - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids' gconf key rather than 'addresses', since they really are BSSIDs - (nmi_dbus_get_network_properties): Dispose of the security object when we're done with it 2005-12-21 Dan Williams * Consolidate the info-daemon's "updateNetworkInfo" and "addNetworkAddress" calls into just "updateNetworkInfo" 2005-12-21 Dan Williams * Make connection after key retrieval work again 2005-12-21 Dan Williams * gnome/applet/nm-gconf-wso* - Make the serialize functions return gboolean rather than int * gnome/applet/nm-gconf-wso.c - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up parent class handling so we don't segfault * src/NetworkManagerAP.[ch] - (nm_ap_get_capabilities): new function, return capabilities now that something can use them - (nm_ap_set_encrypted): assume that an access point supports both WEP104 and WEP40 if its set encrypted. FIXME: can we even tell whether it just supports WEP40? * src/NetworkManagerDevice.c - (ap_need_key): resurrect and update for the New World Order - (nm_device_wireless_get_activation_ap): if we're not given security info to use, create some based on access point capabilities * src/nm-ap-security-wep.c - (nm_ap_security_wep_new_from_ap): create a new object based on a certain access point's capabilities * src/nm-ap-security.c - (nm_ap_security_new_from_ap): delegate creation of a new object based on access point capabilities to a subclass - (nm_ap_security_copy_properties): don't segfault if we don't have a key yet * src/nm-dbus-nm.c - (nm_dbus_nm_set_active_device): provide more informative output when errors occur. Also construct security info for a given access point if we weren't given any 2005-12-21 Žygimantas Beručka * configure.in: Added Lithuanian to ALL_LINGUAS. 2005-12-21 Dan Williams * test/libnm-util - Add some testcases for WEP ciphers 2005-12-17 Dan Williams * Fix bugs 2005-12-17 Dan Williams * include/NetworkManager.h - Finally kill NMEncKeyType * gnome/applet/applet-dbus-info.c - (nmi_save_network_info): convert to NMGConfWSO * gnome/applet/nm-gconf-wso-*.c - Implement gconf serialization functions * src/NetworkManagerPolicy.c - (nm_policy_activation_finish): fix up meaning of automatic/user_requested 2005-12-17 Dan Williams * gnome/applet/* - More applet cleanups - Use the dbus-method-dispatcher * libnm-util/dbus-method-dispatcher.[ch] - Generalize the implementation from NM in NetworkManagerUtils.c 2005-12-16 Dan Williams * gnome/applet/* - Fix up the passphrase dialog to use all the WirelessSecurityOption stuff (untested) 2005-12-16 Dan Williams * Move nm_gconf_get_*_helper() functions to separate files, gconf-helpers.c & gconf-helpers.h * New NMGConfWSO objects for managing the gconf side of things. Eventually these should be merged with the WirelessSecurityOption objects and a common base (that can serialize/deserialize from dbus & gconf) should be refactored out, but for now they are separate. 2005-12-16 Robert Love * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs binaries unless they exist (nm_spawn_process() emits a warning if asked to spawn a non-existant process). 2005-12-16 Dan Williams * gnome/applet/applet-dbus-info.c - Clean up lots of gconf-related code 2005-12-16 Robert Love * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right. 2005-12-16 Dan Williams * nm_device_set_enc_key -> nm_device_set_wep_enc_key * Fix up NM -> NMI get-user-key dbus calls in NM (applet bits still to be done) 2005-12-16 Dan Williams * Finally move info-daemon related stuff out of NetworkManagerDbus.c to nm-dbus-nmi.c 2005-12-16 Dan Williams * Kill auth_method for access points, since that's now done by NMAPSecurity objects * Add a copy-constructor of sorts to NMAPSecurity (how do you do this properly in glib???) 2005-12-15 Dan Williams * Exorcise encryption key hashing on APs * Use libnm-util's serialization/deserialization in both the applet and NM * Random other stuff 2005-12-15 Robert Love * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted" is being added to the icon naming spec, so let's use that (Tango CVS has the icon). Because it is new, however, we fall back to the current "gnome-lockscreen" if the new icon is not around, thus behavior is the same. * gnome/applet/applet.c: Remove setup_stock(). We do not need the factory junk. 2005-12-15 Robert Love * src/gnome/applet.c: Don't show the 'Help' menu item until we have, well, help to give. Couple other misc. bits. 2005-12-15 Dan Williams * libnm-util/dbus-helpers.[ch] - Make this the one-stop-shop for serializing/deserializing AP & connection security settings over dbus. Both NM and applets should use this to ensure consistent dbus API going forwared. 2005-12-15 Robert Love Patch by Timo Hoenig : * src/NetworkManagerDbus.c - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED if HAL jumps off the system bus. Otherwise libdbus (dbus_connection_dispatch) will try to run the filter function of our libhal context which is already freed. 2005-12-15 Alexander Shopov * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS 2005-12-14 Dan Williams * include/NetworkManager.h src/NetworkManagerWireless.c - Rearrange 802.11 wireless-specific capabilities again * src/Makefile.am - Forgot to add wpa.c/wpa.h to the makefiles * src/NetworkManagerAP.[ch] - Implement access point capabilities and parse the WPA/RSN IEs into the capability bitfield - Switch the "encrypted" attribute to utilize the bitfield and capabilities rather than being independent * src/NetworkManagerDevice.c - (nm_device_wireless_get_activation_ap): break it horribly until we can push NMAPSecurity objects into access point objects and through the activation chain - Stuff WPA & RSN IEs into AP capabilities * src/nm-dbus-nm.c - Take a shot at actually making setActiveDevice work * src/wpa.[ch] - Make the API a bit saner 2005-12-14 Dan Williams * include/NetworkManager.h - Add 802.11-specific capability for 802.1x key management * src/wpa.[ch] - Pull in WPA IE and RSN IE parsing code from wpa_supplicant so we can determine access point capabilities - Move WPA-related constants here from NetworkManagerAP.h and NetworkManagerDevice.c * src/NetworkManagerDevice.c src/NetworkManagerAP.[ch] - Use WPA-related constants from wpa.h 2005-12-14 Dan Williams * include/NetworkManager.h - Update and split 802.11 wireless-specific capabilities from generic device capabilities * src/NetworkManagerDevice.c src/NetworkManagerDevicePrivate.h - (nm_device_wireless_discover_capabilities): Move 802.11 wireless-specific capability checks to NetworkManagerWireless.c - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions * src/NetworkManagerWireless.[ch] - (nm_802_11_wireless_discover_capabilities): Check extended 802.11 wireless-specific capabilities of the driver 2005-12-14 Robert Love Patch from Stefan Scheler : * src/NetworkManagerDevice.c: call backend code to activate and deactivate NIS. * src/NetworkManagerSystem.h: add new NIS interfaces. * src/backends/NetworkManagerDebian.c, src/backends/NetworkManagerGentoo.c, src/backends/NetworkManagerRedHat.c, src/backends/NetworkManagerSlackware.c: add stub functions for NIS support. * src/backends/NetworkManagerSuSE.c: add NIS support, baby. 2005-12-14 Dan Williams * src/nm-ap-security*.[ch] - Add AP security abstractions to NetworkManager * src/nm-dbus-device.c - Begin to parse new format dbus messages from the applet and construct an AP security object from the message * libnm-util/dbus-helpers.c - Use message iters so we can append the key as a fixed array of bytes, which actually works rather than using dbus_message_append_args() as we were before 2005-12-14 Dan Williams * src/NetworkManagerDbus.c gnome/applet/applet-dbus.c - Fix up dbus service replacement options. The applet should allow replacement, NM itself should not. 2005-12-13 Robert Love * src/named-manager/nm-named-manager.c: Revert earlier commit. Instead, fail silently if config is NULL by not asserting and not returning FALSE. Also, make sure we always fclose() the file. 2005-12-13 Robert Love Patch by Stefan Scheler : * src/nm-ip4-config.h, src/nm-ip4-config.c, src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS via DHCP. Still need the backends to commit the NIS domain name and and servers to yp.conf as needed. 2005-12-13 Robert Love * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function nm_vpn_manager_remove_connection() unless vpn is non-NULL. 2005-12-13 Robert Love * src/named-manager/nm-named-manager.c: Don't unref the config until after we call rewrite_resolv_conf(), because get_last_default_domain() needs to access the config. Fixes "rewrite_resolv_conf: assertion `config != NULL' failed" assertion failures and "Could not commit DNS changes" warnings. 2005-12-12 Dan Williams * libnm-util/dbus-helpers.[ch] libnm-util/Makefile.am - new helper calls to consolidate locations where NM's setDevice method is called * gnome/applet/applet-dbus-devices.c gnome/applet/wireless-security-option.c gnome/applet/wso-* - Implement dbus message param append function for all wireless security options 2005-12-12 Robert Love * libnm-util/cipher-wep-passphrase.c, libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c, src/NetworkManagerAP.h, src/NetworkManagerDevice.c, src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat all WEP/WPA keys as "char *" and not explicitly signed or unsigned. When handling keys, we don't care what the sign is. The compiler guarantees us that we get our 8-bits, which is all we care about. * configure.in: Remove "-Wno-pointer-sign" flag. We are sign-aware! 2005-12-12 Dan Williams * gnome/applet/applet-dbus-devices.[ch] gnome/applet/applet.c gnome/applet/other-network-dialog.c gnome/applet/wireless-security-manager.[ch] gnome/applet/wireless-security-option.[ch] gnome/applet/wso-* - Push the wireless security options further into the applet 2005-12-12 Robert Love * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not return any name servers. That is perfectly valid. (Novell #134369). 2005-12-11 Dan Williams * gnome/applet/wso-* gnome/applet/wireless-security-option.* gnome/applet/Makefile.am - split each security option out so we can eventually have each one build up their own dbus message arguments to send to NM 2005-12-11 Dan Williams * Make validation of the key work correctly 2005-12-11 Dan Williams * Hook more bits of the Other Network Dialog up to the wireless security manager stuff, and restructure bits of the dialog so there's less code. 2005-12-10 Dan Williams * gnome/applet/Makefile.am - Add libnm-util to includes - Add libnm-util to link list - Add wireless-security-common.* to compile list * gnome/applet/other-network-dialog.c - Convert to using the WirelessSecurityManager code and widgets * gnome/applet/passphrase-dialog.c - Comment out references to stuff in the glade file that cause runtime errors until it can be fixed up to use the WirelessSecurityManager code * gnome/applet/wireless-applet.glade - Rename some widgets - Add widgets for the WirelessSecurityManager code - Remove passphrase-related stuff since that's now handled by the WirelessSecurityManager code 2005-12-10 Dan Williams * gnome/applet/applet-dbus-devices.c - Print out error message details for dbus pending call callbacks - Move nmwa_dbus_update_devices() up * gnome/applet/applet-dbus-vpn.c - Print out error message details for dbus pending call callbacks 2005-12-10 Dan Williams * libnm-util/* - More fixups - Remove cipher-manager.* because we don't need it - Forgot to add gnome-keyring-md5 files to compile list 2005-12-09 Dan Williams * libnm-util/* configure.in Makefile.am - Add a utility library for clients of NetworkManager. It's only targetted at applets for the moment, and contains a generalized 802.11 cipher framework for different types of keys (WEP & WPA Hex, ASCII, Passphrase) 2005-12-09 Robert Love * src/NetworkManagerDevice.c: handle error better in nm_device_set_mode(). 2005-12-08 Robert Love * include/NetworkManager.h: add WPA capabilities constants * src/NetworkManagerDevice.c: detect if wireless devices support WPA or WPA2 and add the capabilities bits as appropriate. 2005-12-08 Robert Love * initscript/SUSE/networkmanager-dispatcher.in: new initscript for NetworkManagerDispatcher. * configure.in, initscript/SUSE/.cvsignore, initscript/SUSE/Makefile.am: support new networkmanager-dispatcher initscript. 2005-12-08 Robert Love * initscript/SUSE/networkmanager.in: Do not start 'networking' service. 2005-12-08 Robert Love * src/NetworkManagerDevice.c: We want to fall back on and default to IW_MODE_AUTO, not -1, which is more in line with our previous behavior. Otherwise, we try to set the wireless mode to -1 in nm_device_set_mode(). 2005-12-07 Robert Love * gnome/applet/applet-dbus-info.c, include/NetworkManager.h, src/NetworkManagerAP.c, src/NetworkManagerAP.h, src/NetworkManagerAPList.c, src/NetworkManagerDbus.c, src/NetworkManagerDevice.c, src/NetworkManagerDevice.h, src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the wireless-tools constants directly. UNKNOWN is now -1 and NONE is zero. 2005-12-07 Robert Love * src/backends/NetworkManagerSuSE.c: In static configurations, if the supplied IP is invalid, fall back to DHCP. 2005-12-07 Dan Williams * Convert NETWORK_MODE_* constants to IW_MODE_* * Make all the get_mode/set_mode functions take and return 'int' * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32 2005-12-07 Robert Love * src/NetworkManagerDevice.c: strncpy() buffer check. * src/NetworkManagerUtils.c: be anal about syslog() formatting. 2005-12-06 Dan Williams * gnome/applet/applet-dbus.c - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c * gnome/applet/applet-dbus-vpn.c - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success to TRUE here if stage was ACTIVATED 2005-12-06 Dan Williams * Change nm_device_is_* functions to better names: nm_device_is_wireless() -> nm_device_is_802_11_wireless() nm_device_is_wired() -> nm_device_is_802_3_ethernet() 2005-12-06 Dan Williams * Change naming of NMDeviceType to something more sensible: NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS 2005-12-06 Dan Williams * Move NetworkManager.h -> include/NetworkManager.h * Split out VPN stuff into include/NetworkManagerVPN.h * Fix up makefiles to include new location * Fix up sources to include NetworkManagerVPN.h 2005-12-06 Dan Williams Various changes in the applet to move VPN connection "state" -> "stage", which it actually is. I'd like to change the signal as well when we break compat in the near future. 2005-12-06 Dan Williams Slackware patches from Paul Blazejowski * initscript/Slackware/rc.networkmanager - Cosmetic fix * src/backends/NetworkManagerSlackware.c - Kill dhcpcd when starting so that dhclient can bind to DHCP on interfaces 2005-12-05 Robert Love * src/NetworkManager.c: don't call nm_data_free() when there is nothing to free, particularly here as it just barfs. 2005-12-05 Dan Williams * gnome/applet/applet-dbus.c - Work with dbus 0.6 too 2005-12-03 Dan Williams * src/NetworkManagerUtils.[ch] src/nm-ip4-config.c - move ip4_netmask_to_prefix() to NetworkManagerUtils.c - consolidate code into nm_utils_ip4_addr_to_nl_addr() 2005-12-01 Robert Love * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We need a NULL for the '...' parameter, too, to fill the so-called sentinel. 2005-12-01 Robert Love * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the interface is already gone, so don't call rtnl_link_change() to down it (which will segfault, anyhow). 2005-11-22 Robert Love * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the gateway is not set, just print a little note. Configurations without gateways are valid. 2005-11-22 Robert Love * README: update 2005-11-20 Ilkka Tuohela * configure.in: Added Finnish translation to ALL_LINGUAS 2005-11-14 Robert Love * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim Niemueller . 2005-11-08 Dan Williams Patch from Bill Moss * src/NetworkManagerDevice.c - (nm_device_activate_stage5_ip_config_commit): fix ordering of nm_policy_schedule_activation_finish() to prevent a race condition that causes the link to be dropped 2005-11-08 Dan Williams Patch from Bill Moss * src/NetworkManagerAPList.c src/NetworkManagerDevice.c src/NetworkManagerDbus.c - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so we get more readable ether/mac addresses 2005-11-02 Christopher Aillon * gnome/applet/main.c: Don't set the restart command. This fixes the issue where the restart command was getting copies of all its arguments for each time the applet was restarted. 2005-11-02 Robert Love * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method if the widget state differs from our saved state. This ensures we do not enter an endless loop of death and destruction. Also, this guarantees us that we enforce the widget state. 2005-11-02 Robert Love * gnome/applet/applet.c: add nmwa_enable_wireless_set_active(). * gnome/applet/applet-dbus-devices.c: invoke the new function nmwa_enable_wireless_set_active() to ensure that the state of the 'Enable Wireless' checkbox matches the daemon's state. This is a concern because the daemon remembers the state. 2005-11-02 Robert Love * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless Enabled", as checkboxes should be actions/commands not positive statements, otherwise they are confusing in the unselected case. See examples in GNOME HIG, Chapter 6. 2005-11-02 Robert Love * gnome/applet/applet.c: When wireless is disabled, act it. Do not show a list of wireless networks or the wireless devices or the "Create Wireless ..." menus. Aside from this cosmetics, this fixes a bad bug: If wireless is disabled and the user picks a wireless network, NM will switch to the network, only to immediately switch back, as wireless is disabled. This also reassures people that NM is not scanning (it is not -- I verified). Fixes Novell bug #130041. 2005-11-02 Christopher Aillon * gnome/applet/applet.c: * gnome/applet/applet.h: Partial backout of Dan's timeout animation patch. Timeout IDs cannot legally be 0, so revert the code in place to handle a timeout ID of 0 to denote the timeout isn't running. 2005-11-02 Christopher Aillon * src/NetworkManagerPolicy.c: (nm_policy_device_change_check) Clarify wireless switch nm_info text 2005-10-28 Robert Love * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to "Import Saved Configuration..." to make it clear that importing is not the next step, but an option. As an aside, a nice TODO would be to move Importing out of the vpn-specific dialog and into the main property editor, as Importing goes with Adding, but that will require some rearchitecting of the VPN stuff I suspect. 2005-10-27 Dan Williams Start using libnl. You need 1.0-pre3 or higher. Eventually we should replace most of the distro-specific backend code with libnl stuff. Get it here: http://people.suug.ch/~tgr/libnl/ * configure.in src/Makefile.am - Add checks for libnl pkgconfig file - Use LIBNL_LIBS & LIBNL_CFLAGS * src/NetworkManagerSystem.c src/nm-ip4-config.[ch] - Use libnl rather than ioctl() for most things - Remove unused functions 2005-10-27 Robert Love * src/backends/NetworkManagerSuSE.c: fix warning message text 2005-10-27 Christopher Aillon * gnome/applet/applet.c: Use the copyright symbol instead of (C) 2005-10-27 Christopher Aillon * gnome/applet/applet.c: The applet's about dialog can advertise our project page 2005-10-26 Christopher Aillon * gnome/applet.c: Also use translator credits if we don't have the new GtkAboutDialog (older versions of GTK+) 2005-10-26 Robert Love * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon() failure; correct usage text for "--no-daemon" 2005-10-25 Dan Williams * src/NetworkManagerDevice.c - (get_scan_results): cleanups, deal cleanly with ENODATA signifying no scan results - (free_process_scan_cb_data): unref the device when freeing results - (nm_device_wireless_process_scan_results): free scan results a bit later so we don't unref the device underneath ourselves 2005-10-25 Dan Williams * Back out 2005-10-24 commit from Tor Krill. Patch causes nameservers never to be removed from named. 2005-10-24 Dan Williams Clean up wireless scanning and wireless link probing. * src/NetworkManagerDevice.c - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(), just see if there's an activation request on the device, and check the current link against the activation request access point's ESSID. - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6 - (nm_device_wireless_process_scan_results): actually free our scan data, and don't call process_scan_results() on zero-length data - (nm_device_set_wireless_scan_interval): increase the init scan interval to 15 seconds (from 10) 2005-10-24 Dan Williams Cleanup some applet stuff: - Animation timeouts. If NM died while the applet was animating, the applet would not hide itself. This is now fixed. - Remove some dead code - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses to nmi_passphrase_dialog_cancel() since we no longer use threads. - Track animation timeout using a gboolean rather than the timeout's ID, since timeout IDs can legally be 0. 2005-10-24 Dan Williams * src/backends/interface_parser.c - Add void to function declarations that need it to match patch from Engin AYDOGAN * src/backends/interface_parser.h - Remove unused prototype for ifparser_interfaces() Patch from Engin AYDOGAN * src/backends/interface_parser.h: - Compile fixes for gcc 4.0.2 (add void) 2005-10-24 Dan Williams Patch from Tor Krill * src/named-manager/nm-named-manager.c - Write more than just the first nameserver to /etc/resolv.conf - Write out valid /etc/resolv.conf on exit 2005-10-21 Christopher Aillon * gnome/applet/applet-dbus-vpn.c: Get rid of spurious newlines in debug console output 2005-10-21 Christopher Aillon * src/backends/NetworkManagerGentoo.c: Fix path to killall. Patch from Dave Shanker 2005-10-20 Robert Love * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a direct comparison of floating point values, which is never correct. Also some misc. cleanup. 2005-10-19 Robert Love * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields 2005-10-19 Robert Love * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the sensitivity of the buttons. Specificaly, do the right thing if there are no entries. 2005-10-19 Christopher Aillon * configure.in: Update check for adequate wireless-tools with an AC_TRY_COMPILE for the new symbols we use. 2005-10-19 Dan Williams * src/NetworkManagerDevice.c - (process_scan_results): don't drop the last (or only) access point we see 2005-10-19 Christopher Aillon * src/backends/NetworkManagerSlackware.c: Patch from Nico - Update the Slackware backend. 2005-10-18 Christopher Aillon * gnome/applet/other-network-dialog.c: Use g_get_host_name () if we've got GLib 2.8.0 2005-10-18 Robert Love * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named function nm_schedule_state_change_signal_broadcast() when we deactivate a device, too. 2005-10-18 Robert Love * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could be used uninitialized. 2005-10-18 Christopher Aillon * test/libnm_glib_test.c: Test unregistering, too. 2005-10-17 Christopher Aillon * configure.in: Bump to 0.5.0 2005-10-17 Dan Williams * NetworkManager.h - Remove WPA-related constants so they aren't part of the upcoming release. 2005-10-17 Christopher Aillon * gnome/applet/applet.c: * gnome/applet/applet.h: Desensitize the 'Connection Information' menu item when there is no active connection. 2005-10-17 Christopher Aillon * gnome/libnm_glib/libnm_glib.c: Make libnm_glib_unregister_callback () actually unregister the callback 2005-10-17 Robert Love * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not two seconds -- tries is updated every 1/10 of a second, not every second.. 2005-10-17 Christopher Aillon * gnome/applet/applet-dbus-info.c: Let D-BUS know that we haven't handled a message when we haven't. 2005-10-17 Robert Love * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast in order to remain 64-bit clean. 2005-10-17 Christopher Aillon * gnome/applet/applet-dbus-info.c: Find network encryption keys asynchronously 2005-10-17 Robert Love * src/backends/NetworkManagerDebian.c, src/backends/NetworkManagerRedHat, src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf comment delimiter. 2005-10-17 Robert Love * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded "/etc" 2005-10-17 Christopher Aillon * src/NetworkManagerDevice.c: (process_scan_results) Fix logic that checks to see whether we have an ESSID. 2005-10-15 Dan Williams Move scanning code into NetworkManager rather than use iwlib's iw_scan() function, so that we can figure out AP capabilities. * NetworkManager.h - Add AP capability bits * src/NetworkManagerAP.[ch] - Add capability field to NMAccessPoint structure - Add WPA & RSN Information Element fields and accessor functions to NMAccessPoint * src/NetworkManagerDevice.c - Remove usage of iw_scan - Add scanning code to NetworkManager rather than use iw_scan() from iwlib * src/NetworkManagerUtils.[ch] - (nm_dispose_scan_results): remove, unused 2005-10-14 Christopher Aillon * gnome/libnm_glib/libnm_glib.c: * gnome/libnm_glib/libnm_glib.h: Use guint instead of gint for callback IDs. 2005-10-12 Christopher Aillon * gnome/applet/applet.c: Fix icon animation smoothness issues. nmwa_redraw_timeout gets called every 1000ms. It will unconditionally call nmwa_update_state which kills the existing animation timeout and registers a new one with a callback to draw a new frame every 100ms. There are 11 connecting icon frames, so the last 2 frames kept getting dropped. Only reset the animation timeout if we aren't animating. 2005-10-11 Dan Williams * gnome/applet/applet-dbus-devices.c - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb): We want to grab the product & vendor from net.physical_dev rather than info.parent. 2005-10-11 Dan Williams * src/NetworkManagerDevice.c - Use the driver's WE version for scanning rather than the WE version NM was compiled with. Fixes random crashes in iw_scan () in iwlib. 2005-10-10 Dan Williams * Remove nm_system_load_device_modules() from backend files and from NetworkManager.c 2005-10-10 Dan Williams * src/NetworkManagerPolicy.c - Fix some bugs introduced by the capabilities patch 2005-10-10 Dan Williams * gnome/applet/applet-dbus-info.c - (nmi_dbus_get_network_key): hide the menu when putting up the keyring dialog. (not sure if the code is right...) 2005-10-09 Dan Williams Patch from Bill Moss * src/NetworkManagerDevice.c - (nm_device_set_user_key_for_network): don't try to set auth mode on the AP from the allowed list if it's NULL 2005-10-09 Dan Williams * Replace the "driver support level" stuff with capabilities. The capability field is a bitfield that is more flexible than the old driver support level thing. It's mostly so we can easily figure out what supports WPA and what doesn't, but should be quite useful later. 2005-10-09 Dan Williams * test/nmtest.c - Removed * test/nm-tool.c test/Makefile.am - Added new "nm-tool" tool that gives quite a bit more information 2005-10-07 Robert Love * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c, gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c, src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c, test/nmtest.c test/nmtestdevices.c: mark functions 'static' as appropriate 2005-10-07 Robert Love * configure.in: Change our compile flags for the betterment of mankind. Add "-Wstrict-prototypes" because we comply anyhow and missing a prototype is very bad on 64-bit platforms as types default to int but sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" & "-Wmissing-declarations" to warn if we define an exported function but fail to put it in a header. 2005-10-07 Robert Love * src/NetworkManagerWireless.c: remove stale, unused function, who goes by the name nm_update_device_wireless_timeouts() and once tried, without success, to steal my pet turtle. 2005-10-07 Robert Love * Cleanup prototypes: put some functions in header files and mark others as 'static' -- feel free to invert * src/vpn-manager/nm-dbus-vpn.c: remove prototype of nm_vpn_manager_vpn_connection_list_copy() * src/vpn-manager/nm-vpn-act-request.c: remove prototype of nm_vpn_service_get_dbus_connection() * src/vpn-manager/nm-vpn-manager.h: add prototypes for nm_vpn_manager_vpn_connection_list_copy() * src/vpn-manager/nm-vpn-service.c: make nm_vpn_service_act_request_failed() and nm_vpn_service_stage2_daemon_wait() static * src/vpn-manager/nm-vpn-service.h: add prototype for nm_vpn_service_get_dbus_connection() 2005-10-06 Christopher Aillon * gnome/applet/applet.c: * gnome/applet/applet.h: * gnome/applet/icons/Makefile.am: Convey information about the current connection stage in the icons themselves instead of creating a separate progress bar. 2005-10-04 Robert Love * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to convert an ether_addr structure's MAC into a string, because the latter will drop leading zero's and uses lower-case, e.g. 7:3b:4 versus 07:3B:04, while the former will not. 2005-10-04 Robert Love * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c, gnome/applet/nm-device.c, gnome/applet/nm-device.h, gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display default route in the 'Connection Information' dialog, send primary and secondary name servers in in "getProperties" DBUS method, add network_device_{get,set}_{primary,secondary}_dns(), The primary and secondary domain name servers are crucial pieces of information that a user might need in debugging a network problem. 2005-10-04 Robert Love * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c, gnome/applet/nm-device.c, gnome/applet/nm-device.h, gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display default route in the 'Connection Information' dialog, send default route in "getProperties" DBUS method, add network_device_set_route(), and network_device_get_route(). The Gateway is a crucial piece of connection-related information that a user might need in debugging a network problem. 2005-10-03 Robert Love * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be NULL. 2005-10-02 Dan Williams * Shorten time taken to sleep by fastpathing bits of device deactivation necessary for sleep. * Fix issue where deactivating a device might deactivate the active VPN connection, even if the VPN was not using the device. 2005-10-02 Dan Williams * gnome/applet/applet.c - Adjust signal strength -> icon mapping values slightly (so that 51% signal doesn't show a 75% icon) by adding 5% to the values. ex: > 5% now shows 25% icon, > 30% shows 50% icon, etc. 2005-09-29 Robert Love * src/NetworkManager.c: removed unused variable. 2005-09-28 Dan Williams Support for named + DBus, using Red Hat DBus patches for named. You can find those patches here, with "dbus" in the patch's filename: http://cvs.fedora.redhat.com/viewcvs/devel/bind/ Don't forget the named dbus service file either. Instead of writing a config file and spawing a named process, NM will use an already-running dbus-enabled named if it finds one. NM will update named's forwarder configuration on the fly using dbus. If there is no dbus-enabled named running, NM will automatically fall back to writing the most-recent DNS server information to /etc/resolv.conf and calling nm_system_update_dns() to kick the system's resolver. Accordingly, all named-related configure-time options have been removed. 2005-09-26 Robert Love * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add ISDN support! * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix bug in error path if "ASKPASSWORD" is "no". 2005-09-26 Robert Love * src/named-manager/nm-named-manager.c: only '#' is officially a valid comment in /etc/resolv.conf -- ';' is not. 2005-09-19 Dan Williams * src/backends/NetworkManagerRedHat.c: * src/backends/NetworkManagerDebian.c: * src/backends/NetworkManagerSlackware.c: * src/backends/NetworkManagerGentoo.c: * src/backends/NetworkManagerSUSE.c: Fix invocations of "/sbin/ip address" to use short form instead 2005-09-19 Christopher Aillon * src/nm-dbus-device.c: Don't assert when getting addresses of a not yet connected interface. * gnome/applet/applet.c: Free icons if loading fails. Use translator-credits so translators can make themselves known. 2005-09-15 Christopher Aillon * src/NetworkManagerAP.c: * src/NetworkManagerAP.h: * src/NetworkManagerDevice.c: Set a blacklist for certain common manufacturer default ESSIDs: APs with these ESSIDs are extremely likely to be completely different networks: connecting to one should not make NM auto-connect to every other AP with the same default ESSID. 2005-09-12 Christopher Aillon * gnome/applet/wireless-applet.glade: The passphrase entry should also activate the default * src/gnome-keyring-md5.c: Updated code from gnome-keyring * gnome/applet/applet-dbus-devices.c: * gnome/applet/applet.c: * gnome/applet/nm-device.c: * gnome/applet/nm-device.h: * src/NetworkManagerUtils.c: * src/NetworkManagerUtils.h: * src/nm-dbus-device.c: I've got a fever, and the only cure for it is less ioctl. Make NM push IP data rather than make the applet open a socket to the device. 2005-09-10 Christopher Aillon * gnome/applet/applet.c: * gnome/applet/applet-dbus-devices.c: * gnome/applet/applet-dbus-info.c: * gnome/applet/passphrase-dialog.c: * gnome/libnm_glib/libnm_glib.c: * gnome/vpn-properties/nm-vpn-properties.c: * src/autoip.c: * src/backends/NetworkManagerRedHat.c: * src/named-manager/nm-named-manager.c: * src/NetworkManagerAPList.c: * src/NetworkManager.c: * src/NetworkManagerDbus.c: * src/NetworkManagerDevice.c: * src/NetworkManagerPolicy.c: * src/NetworkManagerSystem.c: * src/nm-dbus-device.c: * src/nm-dbus-nm.c: * src/vpn-manager/nm-vpn-manager.c: * src/vpn-manager/nm-vpn-service.c: * test/libnm_glib_test.c: * test/nminfotest.c: * test/nmtestdevices.c: Fix a bunch of 'unused variable' compiler warnings * NetworkManager.h: * gnome/applet/applet-dbus-info.c: * gnome/applet/applet-dbus-info.h: * gnome/applet/applet.c: * gnome/applet/applet.h: * src/NetworkManager.c: * src/NetworkManagerDbus.c: * src/NetworkManagerDbus.h: * src/NetworkManagerDevice.c: * src/NetworkManagerDevice.h: * src/NetworkManagerMain.h: * src/NetworkManagerWireless.c: * src/NetworkManagerWireless.h: * src/nm-dbus-nm.c: Make NetworkManager be smart about how frequently to scan based on its current state. Remove the UI for choosing when to scan. Scanning still may disabled completely by the user via the "Wireless Enabled" menu item. 2005-09-09 Christopher Aillon * gnome/applet/applet.c: Also overlay the vpn connecting icons onto the wired icon, when appropriate. * gnome/vpn-properties/nm-vpn-properties.glade: Clean up a few strings to use better grammar and proper casing. 2005-09-08 Christopher Aillon * gnome/applet/vpn-connection.c: * gnome/applet/vpn-connection.h: Add nmwa_vpn_connection_is_activating () * gnome/applet/applet.c: * gnome/applet/applet.h: * gnome/applet/icons/nm-vpn-connecting*.png: Add new VPN connecting icons from Diana Fong , letting the user know something's happening between clicking the VPN item and it actually being connected. 2005-09-07 Christopher Aillon * gnome/applet/applet-dbus-info.c: need to free attributes in the failure case as well. 2005-09-07 Rodrigo Moya * gnome/panel/eggtrayicon.[ch]: * examples/python/systray/eggtrayicon.[ch]: updated code from libegg. 2005-09-07 Dan Williams Patch from Bill Moss * src/applet-dbus.c - (nmwa_dbus_filter): strip whitespace from beginning and end of VPN login banner 2005-09-07 Dan Williams * The great VPN Manager rewrite of 2005 2005-09-07 Christopher Aillon * gnome/applet/menu-items.c: * gnome/applet/nm-device.c: * gnome/applet/wireless-network.c: * gnome/libnm_glib/libnm_glib.c: * src/NetworkManagerDbusUtils.c: * vpn-daemons/vpnc/src/nm-vpnc-service.c: g_malloc0 doesn't return NULL 2005-09-06 Dan Williams Patch from Tomislav Vujec * src/NetworkManagerDevice.c - (nm_get_device_by_udi): don't return a device when we actually didn't find what we were looking for 2005-09-06 Christopher Aillon * gnome/applet/applet-dbus-devices.c: * gnome/applet/applet-dbus-devices.h: * gnome/applet/applet-dbus.c: * src/NetworkManagerDbus.c: * src/NetworkManagerDbus.h: * src/NetworkManagerDevice.c: * src/nm-dbus-device.c: Make NM push updates about active device strength when it changes, rather than having the applet poll every 2s. 2005-09-05 Christopher Aillon * gnome/applet/applet-dbus-devices.c: Remove duplicate call to network_device_set_strength 2005-09-04 Dan Williams Patch from Bill Nottingham * src/NetworkManagerDevice.c - (nm_device_activation_cancel): reset the quit_activation flag 2005-09-04 Dan Williams * src/nm-activation-request.c - (nm_act_request_unref): actually free the structure, which we didn't seem to be doing before 2005-09-04 Dan Williams Patch from John Palmieri * gnome/applet/applet-dbus-devices.c - Fix up unreffing of DBusMessage objects 2005-09-04 Dan Williams Patch from John Palmieri * gnome/applet/nm-device.c - (nm_device_unref): clear network_device's memory _before_ freeing it 2005-09-02 Christopher Aillon * gnome/applet/applet.c: Use a check menu item for Wireless Enabled 2005-09-02 Bill Nottingham * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error 2005-09-01 Dan Williams * src/NetworkManager.c - (nm_remove_device_from_list): rename to nm_remove_device - (nm_hal_device_removed): call nm_remove_device() * src/NetworkManagerDevice.c - Change the NMWirelessScanCB member 'reschedule' which wasn't used to 'force' to indicate that we need to force a scan when adding a device * src/nm-dbus-nm.c - (nm_dbus_nm_sleep): Deactivate all devices and remove them from the device list - (nm_dbus_nm_wake): Re-add all devices to the device list 2005-09-01 Robert Love * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized and the check "!iface" in the error case is probably never true. 2005-09-01 Dan Williams Patch from Bill Nottingham * src/backends/NetworkManagerRedHat.c - Add initial dialup support to Red Hat/Fedora backend 2005-09-01 Dan Williams * gnome/applet/applet-dbus-devices.c - Sort both wireless networks and devices again, which got broken when removing threading 2005-09-01 Christopher Aillon * gnome/applet/applet.c: Only show the "Stop/Start All Wireless Devices" menuitem if we actually have wireless devices. * gnome/applet/applet-dbus-info.c: * gnome/applet/applet.c: * gnome/applet/other-network-dialog.c: * gnome/applet/vpn-password-dialog.c: Drop the gtk_dialog_run () calls in favor of connecting to "response" signals, needed now that the applet is not threaded. 2005-08-31 Dan Williams Patch from Bill Moss * src/NetworkManagerDevice.c - (nm_device_wireless_scan): fix scan timeout values 2005-08-30 Dan Williams * gnome/applet/wireless-applet.glade - HIG-ify the Other Wireless Networks dialog a bit more - Fix some potential segfaults in the info dialog 2005-08-30 Dan Williams * gnome/applet/applet-dbus-devices.c - Remove nmwa_dbus_get_hal_device_string_property(); unused 2005-08-30 Dan Williams * gnome/applet/applet-dbus.[ch] - Remove all the nmwa_dbus_call_method_xxxx functions since they weren't being used anyway 2005-08-30 Bastien Nocera * test/nmtestdevices.c: (print_usage), (main): Check the number of arguments, and fix a typo 2005-08-29 Dan Williams Patch from Dumitru Ciobarcianu * gnome/applet/applet.c - Define GTK_STOCK_INFO for GTK 2.6 and lower 2005-08-29 Dan Williams * gnome/applet/* - Don't use threads any more. Anything that blocks (like gtk_dialog_run()) will have to get fixed up which should happen quickly. We really only had threads to make the animation smooth, and when everything got converted over to DBus Pending Calls, the need for threads kind of went away 2005-08-29 Christopher Aillon * gnome/applet/applet.c: Draw VPN connections as radio items since we don't yet support multiple VPNs. * gnome/applet/other-network-dialog.c: Use stock icon for Connect * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete 2005-08-29 Dan Williams Patch from j@bootlab.org - Make --without-named work - Make --with-dhcdbd work correctly 2005-08-27 Josep Puigdemont i Casamajó * configure.in: Added "ca" to ALL_LINGUAS. 2005-08-26 Christopher Aillon * Fix up VPN state handling between the applet and NetworkManager, so that the applet doesn't show a VPN as connected when one really is not - The applet no longer has a pointer to the active VPN's name, but tracks each VPNs state individually - NM no longer has a "getActiveVPNConnection" method - NM no longer broadcasts the "VPNConnectionChange" signal - NM now broadcasts a "VPNConnectionStateChange" signal whenever the state of a VPN changes 2005-08-26 Dan Williams * gnome/applet/applet-dbus-devices.c gnome/applet/applet-dbus-vpn.c - Remove calls to dbus_pending_call_ref() because we already "own" the pending call - Remove calls to dbus_pending_call_get_completed() because when we are in the callback, the pending call is completed by definition 2005-08-22 Dan Williams Patch by Bill Moss * src/dhcp-manager/nm-dhcp-manager.c - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient some time to send out a RELEASE if they like 2005-08-22 Dan Williams Noticed by Bill Moss * src/NetworkManagerDbus.c - (nm_dbus_get_user_key_for_network_cb): deactivate the device instead of just cancelling its activation * src/NetworkManagerDevice.c - (nm_device_deactivate): some small cleanups - (nm_device_set_user_key_for_network): deactivate the device instead of just cancelling its activation 2005-08-22 Dan Williams Noticed by Bill Moss * src/NetworkManagerDevice.c - (nm_device_wireless_scan): fix scan timeout, we were waiting way too long for scans to complete 2005-08-22 Dan Williams Patch from j@bootlab.org: * src/backends/NetworkManagerDebian.c - Make the Debian backend work for static IP again 2005-08-20 Christopher Aillon * gnome/applet/other-network-dialog.c: The "Create New Network" and "Connect to Other Network" dialogs share alot of code, but shouldn't share a window title. Give them different ones. * gnome/applet/wireless-applet.glade: * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c: Some more minor UI tweaks. 2005-08-19 Christopher Aillon * gnome/applet/other-network-dialog.c: * gnome/applet/wireless-applet.glade: Also need mnemonic widgets, and underline enabled. 2005-08-19 Dan Williams * vpn-daemons/vpnc/nm-vpnc-service.c - (vpnc_watch_cb): remove no-longer-relevant comment - (write_config_option): new function, helper to write config options to vpnc's stdin - (nm_vpnc_config_write): use the new helper, make the code shorter 2005-08-19 Christopher Aillon * gnome/applet/passphrase-dialog.c: * gnome/applet/wireless-applet.glade: Make the passphrase dialog response based, and treat responses other than OK (such as Esc, [X]) as a cancel. 2005-08-18 Christopher Aillon * initscript/Gentoo/NetworkManager: * initscript/RedHat/NetworkManager: * initscript/RedHat/NetworkManagerDispatcher: * initscript/SUSE/networkmanager: CVS remove these in place of .in replacements * configure.in: * initscript/Gentoo/NetworkManager.in: * initscript/RedHat/NetworkManager.in: * initscript/RedHat/NetworkManagerDispatcher.in: * initscript/SUSE/networkmanager.in: These scripts now are generated so they work still when NM is built using a bindir other than /usr/bin 2005-08-18 Dan Williams * gnome/applet/main.c - Revert previous change for --no-session since --sm-disable does the same thing 2005-08-18 Dan Williams * gnome/applet/applet-dbus-info.c - (nmi_dbus_create_error_message): new function - (nmi_dbus_get_key_for_network): correctly use dbus error creation functions. Also don't check for both device _and_ network before asking for a user's key, because we may not have gotten all our networks back from NM quite yet (due to the dbus pending calls coming in later). Fixes a hang in NM/nm-applet. * src/NetworkManagerDbus.c - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a slightly more sane manner, even though we are still broken for certain other error conditions. - (nm_dbus_get_user_key_for_network): need to pass the network's essid to the info-daemon too * src/NetworkManagerDevice.c - Fix some debug messages to be info messages instead 2005-08-18 Dan Williams * gnome/applet/main.c - Add new "--no-session" parameter that disables applet session management, ie for testing 2005-08-18 Christopher Aillon * gnome/applet/other-network-dialog.c: * gnome/applet/wireless-applet.glade: More mnemonics 2005-08-17 Robert Love * initscript/SUSE/networkmanager: update 2005-08-17 Dan Williams * Tag NM_0_4_1_RELEASE 2005-08-17 Christopher Aillon * gnome/applet/applet.c: More translatable string cleanup 2005-08-17 Dan Williams * gnome/applet/applet-dbus-info.c - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter from the dbus message, which tells us to unconditionally ask the user for a new key. Otherwise, we pull the key from the keyring and return it. If we fail to get the key from the keyring, we ask the user for a new key. - (nmi_dbus_get_network_key): new function to grab the key for an essid from the keyring. - (nmi_dbus_get_network_properties): don't access the keyring here. Also, don't return any key in the dbus message. * src/NetworkManagerDbus.[ch] - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to indicate that we unconditionally want a new key. This function is now also used to get keys from the info-daemon which are pre-stored, not just for asking the user for a new key. The "new_key" parameter indicates whether or not we wish to ask the user for a new key. - (nm_dbus_get_network_data_cb): we no longer get a key from the info-daemon in the return message, so use NULL instead. The key will be filled in at connect time by calling nm_dbus_get_user_key_for_network() * src/NetworkManagerDevice.c - (nm_device_wireless_configure): update for "new_key" param to nm_dbus_get_user_key_for_network(). We initially set new_key to FALSE to see if we have a stored key in the info-daemon, but if the connection is unsuccessful at this stage we request a new one 2005-08-17 Dan Williams * gnome/applet/icons/nm-no-connection.png gnome/applet/icons/nm-device-wired.png - Use Diana's new RJ45 connector icons 2005-08-17 Dan Williams * src/NetworkManagerPolicy.c - (nm_policy_device_change_check): clarify switching rules if both new and old devices are valid; mainly, don't switch away from user-requested wireless connection back to a wired one 2005-08-17 Dan Williams * gnome/applet/Makefile.am - Relocate the applet to /usr/bin since it is no longer executed by anything, but directly by the user 2005-08-17 Dan Williams Patch from Bill Moss * gnome/applet/applet-dbus-info.[ch] - (nmi_save_network_info): save timestamp for network if it was a change requested by the user - (nmi_dbus_update_network_info): get user_requested from dbus message and pass to nmi_save_network_info() * gnome/applet/applet.c - (nmwa_update_network_timestamp): remove - (nmwa_menu_item_activate): don't set timestamp on networks here, only after a successful connect in nmi_save_network_info() * src/NetworkManagerDbus.[ch] - (nm_dbus_update_network_info): pass user_requested into the dbus message * src/NetworkManagerPolicy.c - (nm_policy_activation_finish): pass user_requested to nm_dbus_update_network_info() 2005-08-16 Robert Love * gnome/applet/applet.c: Better "Dial Up" menu item. 2005-08-16 Robert Love * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the "Connection Information" menu item. 2005-08-16 Dan Williams Patch from j@bootlab.org * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf * configure.in: allow specifying the path to dhcdbd 2005-08-16 Robert Love Patch from j@bootlab.org * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c, src/backends/interface_parser.h: Debian dialup support. 2005-08-16 Christopher Aillon * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: * gnome/applet/applet.c: Add some mnemonics for VPNC * vpn-daemons/.cvsignore: fix this up a little bit 2005-08-16 Robert Love * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up support. 2005-08-16 Christopher Aillon * gnome/applet/applet.c: Split markup out of translatable strings and clean up logic a little bit. (fixes #309012) 2005-08-15 Christopher Aillon * gnome/vpn-properties/nm-vpn-properties.c: * gnome/vpn-properties/nm-vpn-ui-interface.h: * vpn-daemons/vpnc/properties/nm-vpnc.c: Makeshift fix to remove newlines from translatable strings. Note that we now return an allocated string, so callers of get_confirmation_details () must now call g_free () on the result. (fixes #309033). 2005-08-12 Robert Love * gnome/applet/applet-dbus.c: remove newlines from translatable strings--not needed here anyway. (fix b.g.o #309011) * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391) 2005-08-11 Robert Love * gnome/applet/applet.c: mark string as translatable. 2005-08-11 Robert Love * initscript/SUSE/networkmanager: update. 2005-08-11 Dan Williams * src/nm-dhcp-manager.c - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get an gateway returned from DHCP, try to use the address of the DHCP server as the gateway instead. Found by Ralf Ertzinger. 2005-08-10 Robert Love * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can wait for it on exit; call exit() in nmwa_destroy() to jump ship. 2005-08-10 Dan Williams Patch from Bill Moss * Consolidate writes of access point information updates to the info daemon so that we only do it when the connection to the access point was successful. Also consolidates updates to GConf in the Gnome applet. * src/nm-netlink-monitor.c - Silence compile warning when calling g_object_new() 2005-08-08 Dan Williams Patch from Steev : * src/backends/NetworkManagerGentoo.c - Stub new dialup backend functions 2005-08-08 Dan Williams Patch from Colin Slater: * src/backends/NetworkManagerGentoo.c - (nm_system_update_dns): Fix exit status check for restarting nscd 2005-08-05 Robert Love * NetworkManager.h, gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus-devices.h, gnome/applet/applet-dbus.c, gnome/applet/applet.c, gnome/applet/applet.h, src/NetworkManager.c, src/NetworkManagerMain.h, src/NetworkManagerSystem.h, src/backends/NetworkManagerRedHat.c, src/backends/NetworkManagerSuSE.c, src/nm-dbus-nm.c: basic dialup support using distro infrastructure 2005-08-05 Robert Love * gnome/applet/other-network-dialog.c: default the adhoc network to the machine's hostname to make adhoc creation idiot-proof. 2005-08-04 Robert Love * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be freed. 2005-08-04 Dan Williams * gnome/applet/applet-dbus-info.c gnome/applet/applet-dbus-info.h - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize to store key, key type, and auth method rather than just auth method - (nmi_dbus_update_network_info): new function - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo * gnome/applet/passphrase-dialog.c - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead of saving the info ourselves * gnome/libnm_glib/libnm_glib.c - Remove the stupid version check for dbus * src/NetworkManagerAP.c src/NetworkManagerAP.h - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *' * src/NetworkManagerDbus.c src/NetworkManagerDbus.h - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update more than just the auth method * src/NetworkManagerDevice.c - Update network info at the appropriate times 2005-07-29 Ray Strode * src/NetworkManager.c (nm_info_handler): don't use input as format string (Spotted by Ian Jackson). 2005-07-27 Dan Williams * src/nm-dbus-nm.c src/nm-dbus-net.c - Random cleanups of spacing * gnome/applet/applet.h gnome/applet/other-network-dialog.c gnome/applet/passphrase-dialog.c - Conslidate usage of NMWAEncryptionKeyTypes enum Patch from Bill Moss: - Make Other Wireless Networks work again with encryption keys 2005-07-26 Dan Williams Patch from Steev : * src/backends/NetworkManagerGentoo.c src/backends/Makefile.am - Fix up Gentoo backend 2005-07-26 Robert Love * src/backends/NetworkManagerSuSE.c: misc. cleanup 2005-07-25 Robert Love * gnome/applet/applet.c: make the "Wired" menu item a radio button, in the same group as the wireless networks, since they are all mutually exclusive. 2005-07-24 Ray Strode * src/nm-netlink-monitor.c (nm_netlink_monitor_new): remove unneeded NULL arg from g_object_new(). Any warnings caused by not having the extra NULL are just a result of a bug in glib 2.7.0 - 2.7.2. 2005-07-22 Robert Love * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too 2005-07-22 Robert Love * src/nm-netlink-monitor.c: g_object_new() needs at least three parameters (gcc 4.0.2 warning fix). 2005-07-18 Robert Love Suggested by Aaron Bockover (abockover@novell.com) * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus s/Ascii/ASCII * gnome/applet/passphrase-dialog.c: ditto * gnome/applet/wireless-applet.glade: ditto 2005-07-13 Dan Williams Patch from Ray Strode * vpn-daemons/vpnc/nm-vpnc-service.c - Don't let vpnc daemonize, fixes some races with PID file reading 2005-07-13 Dan Williams Patch from Ray Strode * Random cleanups for strict CFLAGS 2005-07-07 Dan Williams Patch from Derek Atkins * src/nm-dbus-net.c: - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs 2005-07-07 Dan Williams Patch from Jos Dehaes * src/backends/NetworkManagerGentoo.c - Gentoo backend Static IP nameserver fixes - General Gentoo backend goodness 2005-07-07 Dan Williams Patch from Bastien Nocera: * gnome/applet/applet.c - Fix up error reporting when icons or glade files are missing 2005-07-07 Robert Love * gnome/applet/applet.c: do not draw the VPN menu's seperator if there are not any VPN connections above it. 2005-07-07 Robert Love * gnome/applet/applet.c: whoops, left some "dog" debugging code in. 2005-07-05 Robert Love * src/NetworkManagerSystem.c: bail out if asked to set a gateway of zero. 2005-07-05 Robert Love * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure on wired or unencrypted wireless. 2005-07-01 Robert Love * src/NetworkManagerSystem.c: Print the error via strerror(). 2005-06-30 Robert Love * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and then exit if the glade file is not found. currently the application just hangs. 2005-06-30 Robert Love * src/nm-dbus-nm.c: Patch by Bill Moss to explicitly up all interfaces on wake from sleep. 2005-06-30 Robert Love * gnome/applet/applet.c: Add right-click menu item "Connection Info" with information about the currently active connection. * gnome/applet/applet.h: (ditto) * gnome/applet/wireless-applet.glade: (ditto), new file 2005-06-30 Robert Love * src/NetworkManagerDevice.c: g_malloc0 cannot fail. * src/nm-dbus-nm.c: print when we sleep and wake up. * gnome/applet/menu-items.c: whitespace, misc. cleanup. * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be in /sbin unless D-BUS is, folks). * README: update to reflect nm-applet replacing NetworkManagerInfo. 2005-06-27 Robert Love * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling case. 2005-06-27 Robert Love * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu items radios. 2005-06-26 Robert Love * src/NetworkManagerDevice.c: be specific about which device in nm_info() message. 2005-06-23 Adam Weinberger * src/nm-netlink-monitor.c: correct spelling error. 2005-06-23 Robert Love * gnome/applet/applet-dbus-info.c: gnome keyring support! * gnome/applet/passphrase-dialog.c: more of that keyring! 2005-06-23 Robert Love * configure.in: remove extraneous GNOMEKEYRING directives. * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/. * gnome/applet/applet.c: nmwa_icons_init: make style local. * gnome/applet/passphrase-dialog.c: whitespace. 2005-06-23 Robert Love * src/NetworkManagerDevice.c: division in assignment was flipped. 2005-06-23 David Zeuthen * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a signal to the child to indicate that we got what we wanted when we see two new-lines right after each other. (nmwa_vpn_request_password): Pass a structure with several members instead of just the passwords 2005-06-23 Dan Williams * src/NetworkManager.c src/NetworkManagerMain.h - (nm_get_hal_ctx): new function, move Hal initialization code here - (nm_hal_init): new function, init libhal context then add devices - (nm_hal_deinit): new function, clean up libhal context - (nm_data_free): Move Hal cleanup here - (main): check whether Hal is running, and if so, get a list of network devices from it * src/NetworkManagerDbus.c - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal, and when it appears, get a list of network devices from it. If Hal goes away, clean up the libhal context 2005-06-22 Robert Love * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check permissions of scripts before executing. 2005-06-21 Robert Love * initscript/SUSE/networkmanager: update. * src/backends/NetworkManagerSuSE.c: cleanup. 2005-06-21 Robert Love * gnome/applet/applet.c: use menu mnemonics. * gnome/applet/menu-items.c: (ditto) 2005-06-21 Robert Love * applet/applet-dbus-devices.c: mark non-static functions static. * applet/applet-dbus-vpn.c: (ditto) * applet/applet.c: (ditto) * applet/nm-device.h: (ditto) * applet/other-network-dialog.c: (ditto) * applet/passphrase-dialog.c: (ditto) * NetworkManager.c: (ditto) * NetworkManagerDbus.c: (ditto) * NetworkManagerDevice.c: (ditto) * NetworkManagerPolicy.c: (ditto) * NetworkManagerUtils.c: (ditto) * NetworkManagerWireless.c: (ditto) * NetworkManagerWireless.h: (ditto) * nm-netlink-monitor.c: (ditto) * applet/applet-dbus-info.c: (ditto), add FIXME's. * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable. * autoip.c: include autoip.h. * autoip.h: new file. define get_autoip(). * nm-netlink-monitor.h: define nm_netlink_close_connection(). * NetworkManagerDbus.h: remove duplicate definitions. 2005-06-20 Robert Love * Makefile.am: Add missing intltool-foo.in generated files to EXTRA_DIST so that 'distcheck' works. Also add DISTCLEANFILES with the start of stuff to cleanup on 'distclea'. * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool stuff right and 'distcheck' works. * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c. If we keep it, we need to add all of examples/* to EXTRA_DIST and do Makefile.am for each. And systray/Makefile needs to be redone. 2005-06-19 Dan Williams * src/NetworkManagerDevice.c - (nm_device_wireless_process_scan_results): scan every 20s when disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED 2005-06-19 Dan Williams * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls 2005-06-18 Ray Strode * src/nm-netlink-monitor.c (nm_netlink_monitor_event_handler): check for the presence of either error condition not both. (nm_netlink_monitor_error_handler): emit error signal if error occurs. (nm_netlink_monitor_event_handler), (nm_netlink_monitor_error_handler), (nm_netlink_monitor_disconnect_handler): if an assertion fails disconnect the event handler to prevent infinite loops. * src/nm-netlink-monitor.h: add new error condition NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA 2005-06-18 Ray Strode * src/nm-netlink-monitor.c (nm_netlink_monitor_event_handler): remove bogus < 0 check on unsigned value and return early if the kernel didn't send any bytes. 2005-06-17 Robert Love * initscript/SUSE/networkmanager: Change the Provides and default run levels 2005-06-16 Dan Williams Patch from Robert Love: * gnome/applet/applet.c - Beautify some applet menu item names 2005-06-17 David Zeuthen * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn. Also add new methods can_export, import_file and export. * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button to the main UI * gnome/vpn-properties/nm-vpn-properties.c: Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include nm-vpn-ui-interface.h. (update_edit_del_sensitivity): Also update "Export" sensitivity (add_vpn_connection): Also add new SVC_NAME column (import_settings): New function (retrieve_data_from_selected_connection): New function (edit_cb): Use retrieve_data_from_selected_connection to simplify this function (export_cb): New function (init_app): Also setup the "export" widget (main): Support the --import-service and --import-file commandline arguments * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support D-BUS 0.34 2005-06-16 Dan Williams Patch from Robert Love: * gnome/applet/menu-items.c - (network_menu_item_new): pass -1 as wireless network menu items height size request rather than ascent / 2 2005-06-16 Dan Williams * Clean up wording in Wireless Scan Methods menu items and constants 2005-06-16 Robert Love * po/POTFILES.in - remove gtkcell* files 2005-06-15 Dan Williams Patch from Robert Love: make the applet stetic * gnome/applet/Makefile.am - Don't compile the gtkcellview and gtkcellrendererprogress files * gnome/applet/gtkcellview.h gnome/applet/gtkcellview.c gnome/applet/gtkcellrendererprogress.h gnome/applet/gtkcellrendererprogress.c - Removed * gnome/applet/menu-items.c - Progress bars are 5:1 size ratio - Use GTK progress bars rather than internal ones 2005-06-15 Dan Williams Patch from Robert Love: * initscript/SUSE/networkmanager - Fix typo 2005-06-15 Dan Williams * src/backends/NetworkManagerSuSE.c src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerDebian.c - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '=' 2005-06-15 Dan Williams * src/backends/NetworkManagerDebian.c - Add nm_system_device_get_use_dhcp() to debian backend Patch from Kay Sievers: * src/backends/NetworkManagerSuSE.c - Update debian backend for static IP nameservers * src/NetworkManagerDevice.c - Actually set the device to use static IP or DHCP rather than always DHCP 2005-06-15 Dan Williams Patch from Thom May: * src/backends/NetworkManagerDebian.c - Update debian backend for static IP nameservers 2005-06-15 Dan Williams Patches from Robert Love: * gnome/applet/wireless-applet.glade - Tighten up wording * src/NetworkManagerDevice.c - Remove misplaced ';' * configure.in initscript/Makefile.am initscript/SUSE/Makefile.am initscript/SUSE/networkmanager - Add SUSE initscript 2005-06-12 David Zeuthen * gnome/vpn-properties/nm-vpn-ui-interface.h: New file * gnome/vpn-properties/nm-vpn-properties.glade: New file * gnome/vpn-properties/nm-vpn-properties.c: New file * gnome/vpn-properties/Makefile.am: New file * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an array of passwords * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_activate_vpn_connection): Take an array of passwords instead of just a single one * src/vpn-manager/nm-dbus-vpn.c: (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name here (nm_dbus_vpn_activate_connection): Rework to take an array of passwords * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): Change the interface here to give a list of passwords. Also, don't require username, but do require service * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for the binary for the auth-dialog and use that instead of putting up a dialog asking for a single password * gnome/applet/vpn-connection.[ch]: Don't remember the user_name, however do remember the service * gnome/applet/main.c (main): Setup i18n * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN connection to '%s'" to the tooltip if we are connected using VPN (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf key to determine whether we the auth-dialog needs to reprompt. Also cope with the fact that the auth-dialog now returns an array of passwords. (nmwa_menu_configure_vpn_item_activate): New handler for "Configure VPN..." menu item (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item (is_vpn_available): New function to determine if we got any NM-compatible VPN software installed (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu items only if we have NM-compatible VPN software installed (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the logic for detecting when VPN connections are removed * gnome/applet/applet-dbus.h: Removed the prototypes for nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection since these are defined elsewhere * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New function used to keep track of whether the last attempt succeded (nmwa_dbus_filter): Update last_attempt according to whether the VPN connection could be established or not * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): Change prototype to take an array of passwords, not just a single password * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only update service, not user (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet-> dbus_active_vpn_name is not NULL before using it (nmwa_dbus_vpn_activate_connection): Send the passwords as a string array instead of assuming a single password * gnome/applet/applet-dbus-info.c: (nmi_dbus_get_vpn_connection_properties): Use the logged in user for user name; don't read from gconf * gnome/applet/Makefile.am: Also export SYSCONFDIR and VPN_NAME_FILES_DIR * gnome/Makefile.am (SUBDIRS): Add vpn-properties * configure.in: Add checks for gmodule-2.0. Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled projects under vpn-daemons now. See vpn-daemons/vpnc/Changelog for details * vpn-daemons/Makefile.am: Removed * vpn-daemons/README: New file to describe extensions points for VPN software 2005-06-10 Dan Williams * src/backends/NetworkManagerRedHat.c - (get_current_profile_name): new function, grab current network profile name from /etc/sysconfig/network - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and update an IP4 Config structure's settings from it - (nm_system_device_get_system_config): if we're using static IP on this device, get DNS info from current network profile 2005-06-09 Dan Williams Patch from Robert Love: * src/NetworkManagerDevice.c src/NetworkManagerUtils.c - 64-bit build fixes 2005-06-09 Dan Williams Patch from Kay Sievers and Robert Love: * configure.in src/backends/Makefile.am src/backends/NetworkManagerSuSE.c - Add SuSE support 2005-06-09 Dan Williams * NetworkManager.h - Add NMWirelessScanMethod enum for scan methods * gnome/applet/applet-dbus-devices.c - (nmwa_dbus_update_scanning_enabled_cb): remove - (nmwa_dbus_update_scanning_enabled): remove - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore since it got removed - (nmwa_dbus_enable_scanning): remove * gnome/applet/applet-dbus-info.c - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to update the wireless scanning method from NMI - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning method value to NetworkManager - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call * gnome/applet/applet-dbus-info.h - Add prototype for nmi_dbus_signal_update_scan_method * gnome/applet/applet.c - (scanning_menu_update): new function, update one GtkCheckMenuItem from the Wireless Scanning menu based on current wireless scan method - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate" signal for Wireless Scanning menu items, tell NetworkManager the new method and update our menu items to make sure the right one is checked - (nmwa_set_scanning_enabled_cb): remove - (nmwa_context_menu_update): remove references to pause_scanning_item - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless Scanning menu item - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method from GConf - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize so we get notified of preference values too - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS * gnome/applet/applet.h - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS - Add wireless scan method member to applet data - Remove pause_scanning_item, add Wireless Scanning submenu * src/NetworkManager.c - (nm_data_new): default to NM_SCAN_METHOD_ON - (main): grab scanning method from NMI if we can * src/NetworkManagerDbus.c - (nm_dbus_update_wireless_scan_method_cb): new function, callback from nm_dbus_update_wireless_scan_method() - (nm_dbus_update_wireless_scan_method): new function to grab scanning method from NMI - (nm_dbus_nmi_is_running): redundant function, removed - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method when NMI comes back * src/NetworkManagerDevice.c - (nm_device_is_activated): return TRUE if the device is activated - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO and we are activated * src/nm-dbus-nm.c - (nm_dbus_nm_set_scanning_enabled): removed - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod" 2005-06-09 Dan Williams * NetworkManager.h src/vpn-manager/nm-vpn-service.c - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums) 2005-05-27 Dan Williams * vpn-daemons/vpnc/nm-vpnc-service.c - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile. Should fix the bug where the VPN connection terminates the first time. 2005-05-20 Dan Williams * NetworkManager.h - Differentiate VPN config signals between bad VPN config options and bad IP config * gnome/applet/applet-dbus-info.h - Add prototypes for wireless network and vpn connection update functions * gnome/applet/applet-dbus.c - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager * gnome/applet/applet.c - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config error signals - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify propogation to NetworkManager - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change notify propogation to NetworkManager * src/NetworkManagerDbus.c - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we are updating so a network can be removed from it if necessary * src/vpn-manager/nm-vpn-manager.c - (nm_vpn_manager_process_signal): trap new vpn config error signals * vpn-daemons/vpnc/nm-vpnc-service.c - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals - (nm_vpnc_dbus_signal_launch_failed): remove - (nm_vpnc_dbus_signal_connect_failed): remove - (nm_vpnc_helper_timer_cb): update for new generalized error signal function - (nm_vpnc_schedule_helper_timer): increase timeout to 10s - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update for new generalized error signal function, remove config file stuff - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so we can write configuration options to it - (nm_vpnc_config_file_generate): removed - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe - (nm_vpnc_config_options_validate): validate the config options we receive from NetworkManager to block potential exploits - (nm_vpnc_dbus_handle_start_vpn): call option validation function before starting vpnc - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error to NetworkManager 2005-05-16 Dan Williams * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code is not "connect" 2005-05-16 Dan Williams Patch from Tomislav Vujec * gnome/applet/applet-dbus-info.c - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of GConf and pass them to NetworkManager. New key is 'routes' under the VPN connection, and should be a string list * src/NetworkManagerSystem.c - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist, set them on the device when we set the rest of the VPN config. Ensure they are in the correct format since they are passed directly to the command line. * src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerDebian.c - (nm_system_device_add_route_via_device_with_iface): new function * src/vpn-manager/nm-dbus-vpn.c - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo * src/vpn-manager/nm-vpn-manager.c - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass them into the IP4 config functions 2005-05-15 Dan Williams From Filip Miletic: * po/sr.po po/sr@Latn.po configure.in - Serbian translation added 2005-05-15 Dan Williams * dispatcher-daemon/NetworkManagerDispatcher.c - (main): sync arguments with NetworkManager and the applet, now use "--no-daemon" rather than "daemon=no" - (nmd_print_usage): Fix script path in usage message 2005-05-15 Dan Williams * src/NetworkManagerDevice.[ch] src/NetworkManagerPolicy.c src/NetworkManager.c src/nm-dbus-nm.c - Remove the "just_added" parameter from nm_device_deactivate(). We no longer send the DeviceNoLongerActive signal unconditionally, but only when the device is actually active. * dispatcher-daemon/NetworkManagerDispatcher.c - (nmd_execute_scripts): convert to GLib directory functions from opendir(), and simplify the logic - (nmd_get_device_name): copy value from dbus reply so we don't segfault when we free it later on * initscript/RedHat/Makefile.am initscript/RedHat/NetworkManagerDispatcher - Add initscript for NetworkManagerDispatcher Patch from Bill Moss: * dispatcher-daemon/NetworkManagerDispatcher.c - Remove IP4AddressChange signal code including nmd_get_device_ip4_address() * src/NetworkManagerDbus.c - (nm_dbus_signal_device_ip4_address_change): remove. If the device goes up, and DeviceNowActive gets signaled, then the device has a new IP address anyway. There's no need for a separate signal. * src/NetworkManagerDevice.c - (nm_device_update_ip4_address): Don't send IP4AddressChange signal * src/NetworkManagerPolicy.c - (nm_policy_activation_finish): Send DeviceNowActive signal when the device activates successfully. This kind of went missing when I reworked the activation code. 2005-05-15 Dan Williams * configure.in - Check for dhcdbd and error if its not found * src/dhcp-manager/Makefile.am src/dhcp-manager/nm-dhcp-manager.c - Use path to dhcdbd that configure found 2005-05-14 Dan Williams * gnome/applet/nm-device.c - (network_device_sort_wireless_networks, sort_networks_function): New functions to sort wireless networks alphabetically * gnome/applet/applet-dbus-devices.c - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists before copying them over to the GUI 2005-05-14 Dan Williams * src/NetworkManager.c - (device_stop_and_free): Deactivate VPN connections before deactivating devices, fixes a deadlock on shutdown with a VPN connection active. This function locks the device list, as does nm_get_active_device() which is called from nm_vpn_manager_deactivate_vpn_connection(). 2005-05-14 Dan Williams * NetworkManager.h - Add signals for VPN Launch and Connect failures * gnome/applet/applet-dbus.c - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals * gnome/applet/applet.c - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog() function to handle all VPN failure messages - (nmwa_schedule_vpn_failure_dialog): generalize old nmwa_schedule_vpn_login_failure_dialog() function to hanlde all VPN failure messages - (show_warning_dialog): work around focus-stealing prevention * gnome/applet/other-network-dialog.c gnome/applet/passphrase-dialog.c - (update_button_cb): Make sure the OK button is enabled when it should be, fixes problem where it never enabled for ASCII Key and Hex Key types * gnome/applet/wireless-applet.glade - Add window title to Other Wireless Network Dialog * src/vpn-manager/nm-dbus-vpn.c - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed() function to handle all VPN failure messages * src/vpn-manager/nm-vpn-manager.c - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too * vpn-daemons/vpnc/nm-vpnc-service.c - (nm_vpnc_dbus_signal_launch_failed): new function - (nm_vpnc_dbus_signal_connect_failed): new function - (nm_vpnc_helper_timer_cb): signal connect failure on timeout - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc 2005-05-11 Dan Williams * vpn-daemons/vpnc/nm-vpnc-service.c - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config file exists before trying to write it out. 2005-05-10 Dan Williams * gnome/applet/applet-dbus-device.c - (nmwa_dbus_set_device): remove check for valid key and key type, which prevented just entering ESSID and leaving key and key type up to NetworkManager (which should have them already cached) 2005-05-08 Dan Williams * src/NetworkManagerPolicy.c - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead... - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to fix a situation where NM is told to terminate and the device stops activation, but the main thread isn't aware of that because it would never have run nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop had already quit. * src/NetworkManagerDevice.c - (nm_device_probe_wired_link_state): cosmetic fixes - (nm_device_activate_stage5_ip_config_commit): Don't check link state if we've failed to activate or been canceled. - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message 2005-05-08 Dan Williams * src/NetworkManagerWireless.c - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated" value of WEXT quality structures, and add a debug message when we cannot determine any quality % at all 2005-05-08 Dan Williams * src/dhcp-manager/nm-dhcp-manager.c - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when it goes down. 2005-05-06 Dan Williams * gnome/applet/applet-dbus-device.c gnome/applet/applet-dbus-info.c gnome/applet/applet-dbus.c gnome/applet/applet.c gnome/applet/applet.h - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path) * gnome/applet/applet-dbus.c - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals so we notice when wired device's carriers come back on. Should fix issue with wired devices being grayed out even if the cable is in, for devices that support carrier detection. * gnome/applet/applet.c - (nmwa_driver_notify): bash focus-stealing prevention in the face - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG tooltip message - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free): Fix situation where applet wouldn't respond to menu selections * src/NetworkManager.c src/NetworkManagerDevice.c src/NetworkManagerDbus.c src/NetworkManagerDbus.h - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal) * src/NetworkManagerDbus.c - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal): Remove, no longer used or relevant - (nm_dbus_signal_device_status_change): Better signal enum->string matching - (nm_dbus_schedule_device_status_change_signal): add * src/NetworkManagerDevice.c - (nm_device_worker_thread_stop): don't try to join a NULL worker thread - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices, ie don't deactivate them unless explicitly told to by the user. Also send CARRIER_OFF / CARRIER_ON signals when link changes - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode): Don't print error message when device is no longer around - (nm_device_deactivate): kill any current DHCP process attached to this device, not just during activation * src/NetworkManagerPolicy.c - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from auto-device-selection. - (nm_policy_device_change_check): Don't interrupt semi-supported devices * src/NetworkManagerSystem.c - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device is no longer present (Bill Moss) * src/backends/shvar.c - (svOpenFile): Open read-only to make SELinux happy * src/backends/NetworkManagerRedHat.c - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding the path to the ifcfg-* files 2005-05-05 Dan Williams * Expose activation stages to NetworkManager clients, like the applet * Add Diana's progress icons to the applet, cued off NM activation stage * Use more descriptive tooltips, cued off NM activation stage 2005-05-05 Ray Strode * src/nm-netlink-monitor.c: - Use clear_event_source instead of g_nullify_pointer() again. 2005-05-05 Dan Williams * gnome/applet/main.c - Fix session management so the applet is actually managed now * gnome/applet/passphrase-dialog.c - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face 2005-05-05 Dan Williams Patch from Bill Moss: * gnome/libnm_glib/libnm_glib.c - Fix for dbus-0.33 2005-05-05 Dan Williams Suggestion from Bill Moss: * src/NetworkManagerSystem.c - (nm_system_device_set_up_down_with_iface): ignore ENODEV * src/NetworkManager.c - (nm_data_free): move destruction of the various managers after release of device list, because deactivating and freeing a device requires at least the named manager - (nm_poll_and_update_wireless_link_state): (nm_device_link_activated): (nm_device_link_deactivated): don't grab the device list lock when actually updating device link status or strength, since nm_device_set_link_active() needs to call nm_get_active_device(), which also locks the device list. * src/NetworkManagerDevice.c - (nm_device_set_link_active): if a device's link switches from off->on, and it's wired, and the active device is wireless (or there is no active device), activate the new device whose link just came on - (link_to_specific_ap): try to smooth over intermittency in wireless links my only calling the link to the current ap "failed" when more than 2 consecutive link checks have failed 2005-05-04 Dan Williams * src/NetworkManagerDevice.c - (nm_device_probe_wireless_link_state): don't lock the scan mutex here but let link_to_specific_ap() do the locking where it needs Patch from Bill Moss: * src/NetworkManagerSystem.c - Set MTU of VPN devices to 1412 2005-05-04 Dan Williams * Remove NM_STATE_SCANNING from NetworkManager.h and applet code * Fix some holes in device activation and retaining the currently connected access point 2005-05-03 Dan Williams * Kill dhcpcd. We now use "dhcdbd", a dbus daemon that controls dhclient. This means that NetworkManager shouldn't have DHCP issues anymore. It also means you need dhcdbd, which you can get here (get the latest one): http://people.redhat.com/jvdias/dhcdbd/ Technically NetworkManager can use any DHCP daemon that uses the same DBUS interface as dhcdbd. * Rewrite device activation to facilitate the new DHCP infrastructure and future improvements. Its now "activation request" based, ie there is a single activation request composed of the device, access point, and other info which follows the entire activation process. There are 5 stages of the activation process which correspond to: 1) Device preparation 2) Device configuration (bring it up, set ESSID/Key/etc) 3) IP Config Start (fire off DHCP if we're using it) 4) IP Config Get (grab config from DHCP or static config files) 5) IP Config Commit (set device's IP address, DNS, etc) Note that there is no longer a "scanning" step, since the access point must be known _before_ activation starts. If the access point drops out or does not exist for some reason, the entire activation process fails and must be restarted for a different access point or device. Patch from Bill Moss: * gnome/applet/applet.c - Fix type of vpn_failure dialog -> vpn_banner dialog 2005-04-27 Dan Williams * gnome/applet/applet-dbus-vpn.c gnome/applet/applet.c gnome/applet/applet.h - Fix up active VPN handling so that we reliably know when a VPN connection has been deactivated * src/vpn-manager/nm-vpn-manager.c - Remove duplicate VPNConnectionChange signal 2005-04-27 Dan Williams Patch from Peter Jones: * Remove usage of varargs to fix crashes on PPC (RH #154336) Patch from Bill Moss: * src/NetworkManagerSystem.c - Fix checking of return value from ioctl() 2005-04-27 Dan Williams * Fix choosing of wireless networks and "Other wireless network..." from the applet * Warn and exit if icons cannot be found 2005-04-27 Dan Williams Patch from Tom Parker: * Update debian backend 2005-04-27 Dan Williams * Merge the applet and the info-daemon, and move the converged applet under gnome/applet * Move libnm_glib to gnome/libnm_glib * Convert most dbus calls between the applet, info-daemon, and NM into async calls * Fix a few things valgrind noticed * Make NM broadcast state more reliably 2005-04-22 Pawan chitrakar * configure.in: Added ne in ALL_LINGUAS 2005-04-15 Dan Williams * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove code for dbus 0.2x versions 2005-04-15 Dan Williams Patches from Tom Parker: - Fix memleaks - Join with worker thread rather than polling for its exit Patch from Bill Moss: - Cull duplicate ESSIDs from the scan list, taking highest strength AP 2005-04-15 Dan Williams - Fixes to pass 'make distcheck' 2005-04-15 Dan Williams Initial VPN Support - supports 'vpnc' - reworks device IP configuration, backend files have changed and will need to be updated for all distributions. I will try to do what I can for them, but I cannot test them. - Move named directory to src/named-manager - Make backends directory self-contained 2005-04-06 Dan Williams Add debug code for socket/file descriptor leaks. We register every socket that we open (except for stuff in dhcpcd/) for tracking, and print out the list of sockets that we forgot to close on shutdown. This also consolidates about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c 2005-04-06 Dan Williams * dhcpcd/dhcpcd.c - (dhcp_interface_free): fix a file descriptor leak that may have caused network drivers to not unload due to refcounts > 0 2005-04-04 Dan Williams * panel-applet/NMWirelessAppletDbus.c - (nmwa_dbus_call_nm_method): remove some commented code * src/NetworkManagerAPList.[ch] - (nm_ap_list_remove_ap_by_essid): new function * src/NetworkManagerDevice.c - (nm_device_wireless_force_use): remove access points from the ignore list when the user forces them * src/nm-dbus-device.c - (nm_dbus_device_get_active_network): fix up escaping of object paths 2005-04-04 Dan Williams Patch from Tom Parker: include "nm-utils.h" for backend files that need it 2005-04-04 Dan Williams * src/NetworkManagerDevice.c: - (nm_completion_scan_has_results): restore pre-completion-patch behavior of only erroring after the second consecutive scan times out. Also don't exit when the card requires more time than we can give it, just log the event and continue. 2005-04-01 Steve Murphy * configure.in: Added "rw" to ALL_LINGUAS. 2005-04-01 Dan Williams Perform scans during device activation, if needed. Both activation and scans run in the same GMainContext. Therefore, if an access point is not found by the time the device starts activation, it will not be available until after activation. We now try to scan during activation (in nm_wa_test) every 15s so that all available access points are more likely to be found and available for the activation procedure. Also change nm_wireless_link_state_handle() to only update the "best" AP if we are not forcing a device and if we are not about to change state. This attempts to work around a race when forcing a device, where the forced AP would get cleared out too soon by the link state checking timeout in the main thread, and the activation attempt with that AP would fail. 2005-04-01 Dan Williams * po/POTFILES.in - Update with new translatables 2005-03-31 Dan Williams * panel-applet/NMWirelessAppletDbus.c - Fix device names now that hal has changed device parenting for network devices. 2005-03-31 Dan Williams Tighten up handling of wireless devices that don't support wireless scanning (ie, Orinoco). Due to restructuring of code, these devices hadn't been doing pseudo-scanning for a while either and would just spin waiting for an access point. They are now manual devices where the user must choose the access point from the menu every time. All "allowed" access points are listed in the applet's menu regardless of whether or not they can be seen by the card, since it can't scan anyway. * src/NetworkManager.c - (nm_wireless_link_state_handle): new function, but only update the "best" ap for non-scanning devices when its not activating, and when no device is being forced on the card - (nm_link_state_monitor): split wireless link state handling out into separate function * src/NetworkManagerDevice.c - (nm_device_copy_allowed_to_dev_list): new function - (nm_device_new): populate non-scanning cards' AP lists with access points from the "allowed" list - (nm_device_new): don't start a scanning timeout for devices that can't scan - (nm_device_activation_schedule_finish): new parameter, should be the AP that failed to be connected to, pass it on to the activation finish function in NetworkManagerPolicy.c - (nm_device_activate_wireless): don't ever try to get a new AP for non-scanning devices, just fail. The user must choose a new access point manually. - (nm_device_activate): grab the AP that failed connection and pass it on - (nm_device_update_best_ap): Clear the best AP if we don't have a link to it, user must manually choose a new one - (nm_device_do_pseudo_scan): remove function - (nm_device_wireless_process_scan_results): remove bits for non- scanning cards since they never get here - (nm_device_wireless_scan): remove bits for non-scanning devices, and fake the scan list for test devices a bit earlier * src/NetworkManagerPolicy.c - (nm_policy_activation_finish): use the failed_ap that we get passed rather than getting the best_ap from the card, which may have changed since we were scheduled - (nm_policy_allowed_ap_list_update): for non-scanning devices, update their scan list directly from the allowed list when we get updates to the allowed list from NetworkManagerInfo * src/NetworkManagerPolicy.h - New member for failed access point in NMActivationResult ------------------------------------- Driver Notification patch: notifies the user when their driver sucks. Gives them the option to ignore further insertions of the card that has the sucky driver. * NetworkManager.h - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel enum and replace it with NO_CARRIER_DETECT and NO_WIRELESS_SCAN * panel-applet/NMWirelessApplet.[ch] - Merge essid.glade -> wireless-applet.glade - Implement the "Your driver sucks" notification dialog * panel-applet/NMWirelessAppletDbus.c - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel - Grab hardware address for each device from NM too - Check whether the driver for each device sucks or not whenever a new device is noticed * panel-applet/NMWirelessAppletOtherNetworkDialog.c - Deal with stuff being in wireless-applet.glade now rather than essid.glade * src/NetworkManager.c - Fix a double-unref on device removal * src/NetworkManagerUtils.c - Set appropriate driver support level on a device that doesn't support scanning or carrier detection * src/nm-dbus-device.c - New "getHWAddress" dbus method on devices - getSupportsCarrierDetect -> getDriverSupportLevel 2005-03-31 Dan Williams * src/NetworkManagerDevice.c - (nm_device_wireless_scan): Fix leak of scan results in some instances 2005-03-29 Dan Williams * src/NetworkManager.c - (nm_poll_and_update_wireless_link_state): make code less indented Patch from Bill Moss: * src/NetworkManager.c - (nm_device_update_link_state): Update signal strength on wireless devices every time we update link state too. 2005-03-29 Dan Williams * src/NetworkManagerDevice.c - (nm_device_set_essid): Work around Orinoco cards which need extra time after setting the ESSID 2005-03-29 Dan Williams * src/NetworkManagerDevice.c - Merge one more bit of Peter Jones' completion patch 2005-03-29 Dan Williams * src/NetworkManagerDevice.c - (nm_device_force_use): Fix possible segfault 2005-03-29 Dan Williams * src/NetworkManagerDevice.c - Use iw_get_ext() where we should rather than iw_set_ext() 2005-03-29 Dan Williams * src/NetworkManagerDevice.c - (nm_device_set_up_down): remove check for unsupported devices that caused NM to not bring devices up when they were added to the device list. 2005-03-28 Dan Williams * src/NetworkManagerDevice.c - (mdio_read): Fix two bugs that caused all devices to fail the MII carrier detection support checks 2005-03-26 Dan Williams * src/NetworkManagerDevice.c - (nm_device_wireless_scan): Remove duplicated scanning code 2005-03-25 Dan Williams * panel-applet/NMWirelessApplet.c - (nmwa_about_cb): Add some more contributors - (nmwa_update_state): show the applet when there's no connection - Enable the "Stop/Resume all wireless devices" option in the context menu - New "no connection" icon * src/NetworkManager.c - (nm_poll_and_update_wireless_link_state): don't do anything if wireless is disabled or we're asleep * src/NetworkManagerDHCP.c - Remove trailing "\n" on debug messages * src/NetworkManagerDbus.c - (nm_dbus_network_status_from_data): new state "asleep" * src/NetworkManagerDevice.c - Merge most of Peter Jones' "completion" patch that greatly reduces latency and wait times for most operations - (nm_device_wireless_scan): Don't scan when asleep * src/NetworkManagerPolicy.c - (nm_policy_get_best_device): return no device when asleep - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties for all wireless devices on update, not just active device * src/NetworkManagerUtils.c - Merge Peter Jones' "completion" patch * src/nm-dbus-nm.c - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when we're told to disable them - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake * utils/nm-utils.h - New variants of the warn/info/error/debug print functions that can take variables rather than static strings 2005-03-24 Dan Williams * src/NetworkManagerUtils.c - (nm_get_device_driver_name): driver names are now on the parents of "Network Interface" objects, so look for them there 2005-03-24 Dan Williams * test/nmtest.c - Escape some forgotten object paths before we shove them through dbus 2005-03-24 Dan Williams * dhcpcd/dhcpcd.[ch] src/NetworkManagerDHCP.c - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit (ie, dhcp_option_record_len -> dhcp_option_element_len) * src/NetworkManagerDbus.c - spacing cleanups * src/nm-dbus-dhcp.c - Make the API suck less. There is now only 1 type of each function, ie only "getInteger" and no longer also "getIntegerv". All types are returned encapsulated in a DBUS_TYPE_ARRAY, even for options that will never have more than 1 element. This should simplify things greatly. * test/nm-dhcp-opt-test.c - Make the tool not segfault - adapt to new DHCP Options API 2005-03-22 Dan Williams * src/NetworkManager.c - (nm_wired_link_deactivated): actually ignore netlink events from wireless devices. 2005-03-22 Dan Williams * src/NetworkManager.c - (nm_wired_link_activated): actually ignore netlink events from wireless devices. 2005-03-17 Dan Williams Patch from Tom Parker: * src/nm-netlink-monitor.c - Include unistd.h * info-daemon/NetworkManagerInfoDbus.c - (nmi_dbus_update_network_auth_method): free GConf values Patch from Nathaniel McCallum : * src/NetworkManagerDevice.c - (nm_device_set_wireless_config): wait for successful association longer for some cards (Atheros a/b/g) 2005-03-15 Ray Strode * src/NetworkManager.c: (sigterm_pipe_handler): remove bogus FIXME 2005-03-15 Ray Strode * src/NetworkManagerDbus.c: Fix some sign weirdness that gcc4 doesn't like, and add a header file so PPC can hopefully find SIGTRAP 2005-03-14 Ray Strode Fourth (probably working) cut at porting to dbus 0.30 api and new hal. This cut adds some new logging macros to make debugging easier. * dispatcher-daemon/NetworkManagerDispatcher.c: * info-daemon/NetworkmanagerInfo.c: * info-daemon/NetworkManagerInfoPassphraseDialog.c: * info-daemon/NetworkManagerInfoVPN.c: * src/NetworkManager.c: * src/NetworkManagerAP.c: * src/NetworkManagerAPList.c: * src/NetworkManagerDHCP.c: * src/NetworkManagerDbus.c: * src/NetworkManagerDevice.c: * src/NetworkManagerPolicy.c: * src/NetworkManagerSystem.c: * src/NetworkManagerUtils.c: * src/NetworkManagerWireless.c: * src/autoip.c: * src/nm-dbus-nm.c: * src/backends/NetworkManagerDebian.c: * src/backends/NetworkManagerGentoo.c: * src/backends/NetworkManagerRedHat.c: * src/backends/NetworkManagerSlackware.c: use new logging macros. * dispatcher-daemon/NetworkManagerDispatcher.c: (nmd_dbus_filter): s/dbus_free/g_free/ * info-daemon/Makefile.am: link in utils library. * info-daemon/NetworkmanagerInfo.c: use new logging macros. (nmi_dbus_get_network): don't assume enumerations are 32-bit. (nmi_dbus_nmi_message_handler): don't free what doesn't belong to us. * libnm_glib/libnm_glib.c: (libnm_glib_get_nm_status): (libnm_glib_init): don't free what doesn't belong to us. (libnm_glib_dbus): strdup result, so it doesn't get lost when message is unref'd. * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_update_devices): s/dbus_free/g_free/ * src/NetworkManager.c: (nm_monitor_wired_link_state): request initial status dump of all cards when we start up, instead of relying on /sys/.../carrier. (nm_info_handler), (nm_set_up_log_handlers): log handlers to specify what syslog priorites the logging macros default to. * src/NetworkManagerAPList.c: (nm_ap_list_populate_from_nmi): s/dbus_free_string_array/g_strfreev/ * src/NetworkManagerDbus.c: (nm_dbus_get_network_object): validate d-bus message argument types. Advance message iterator after reading argument, prepend instead of append to GSList. * src/NetworkManagerDevice.c: (nm_device_probe_wired_link_status): remove redundant /sys in /sys path. remove wrong contents == NULL means has carrier assumption. * src/nm-netlink-monitor.c (nm_netlink_monitor_request_status): implement function to ask kernel to dump interface link status over netlink socket. * test/*.c: s/dbus_free/g_free/ * utils/nm-utils.h: (nm_print_backtrace): new macro to print backtrace. (nm_get_timestamp): new macro to get sub-second precise unix timestamp. (nm_info), (nm_debug), (nm_warning), (nm_error): new logging functions. nm_info just prints, nm_debug includes timestamp and function, nm_warning includes function, nm_error includes backtrace and sigtrap. 2005-03-11 Ray Strode Third (unfinished, partially working) cut at porting to dbus 0.30 api and new hal. * info-daemon/NetworkManagerInfoDbus.c: don't free null arrays. * panel-applet/NMWirelessAppletDbus.c: * src/nm-dbus-device.c: * src/nm-dbus-net.c: * src/NetworkManagerDbus.c: more STRING -> OBJECT_PATH fun * src/NetworkManagerDevice.c: * src/NetworkManagerDevice.h: (rename nm_device_get_link_active): rename to nm_device_has_active_link (nm_device_wireless_link_active): rename to nm_device_probe_wireless_link_state (nm_device_wired_link_active): rename to nm_device_probe_wired_link_state. Rewrite to use carrier file since hal doesn't maintain link state anymore. (nm_device_update_link_active): rename to nm_device_update_link_state * src/NetworkManagerPolicy.c (nm_policy_activation_finish): check for NULL MAC address. * src/Makefile.am: * src/NetworkManagerMain.h: * src/NetworkManager.c: * src/nm-netlink-monitor.c: * src/nm-netlink-monitor.h: New class to support monitoring wired ethernet link status, since HAL doesn't export that information anymore. 2005-03-09 Ray Strode Second (unfinished, unworking) cut at porting to dbus 0.30 api. * dispatcher-daemon/NetworkManagerDispatcher.c: * info-daemon/NetworkManagerInfoDbus.c: * panel-applet/NMWirelessAppletDbus.c: * src/NetworkManagerDbusUtils.c: * src/NetworkManagerDbusUtils.h: * src/nm-dbus-device.c: * src/nm-dbus-nm.c: * test/nmtest.c: support dbus "object path" type * configure.in: * Makefile.am: * info-daemon/Makefile.am: * libnm_glib/Makefile.am: * panel-applet/Makefile.am: * dispatcher-daemon/Makefile.am * src/Makefile.am: * test/Makefile.am: * utils/Makefile.am: * utils/nm-utils.c: * utils/nm-utils.h: new utils static lib 2005-03-07 Ray Strode * info-daemon/NetworkManagerInfoDbus.c: * libnm_glib/libnm_glib.c: * panel-applet/NMWirelessAppletDbus.c: * src/NetworkManager.c: * src/NetworkManagerDbus.c: * src/NetworkManagerDevice.c: * src/NetworkManagerUtils.c: * src/nm-dbus-device.c: * src/nm-dbus-dhcp.c: * src/nm-dbus-net.c: * src/nm-dbus-nm.c: * test/nminfotest.c: First (unfinished, unworking) cut at porting to dbus 0.30 api. 2005-03-04 Dan Williams * configure.in - Mark HEAD as 0.4 2005-03-04 Dan Williams Patch from Peter Jones: - Make stuff work with gcc 4.0 2005-02-28 Maxim Dziumanenko * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS. 2005-02-27 Jim Huang * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS. 2005-02-27 Dan Williams Patch from Bill Moss: * panel-applet/NMWirelessAppletDbus.c - Make sure strength for current access point is up-to-date when we update the gui data model 2005-02-27 Alessio Frusciante * configure.in: Added "it" (Italian) to ALL_LINGUAS. 2005-02-27 Dan Williams * src/backends/NetworkManagerRedHat.c - (nm_system_init): Kill any dhclient processes lying around as well as stopping 'nifd' if its already been started. NetworkManager subsumes the functions of nifd (kicking mDNSResponder, autoip) 2005-02-27 Dan Williams * panel-applet/NMWirelessApplet.c - (nmwa_destroy): Really mean to destroy GUI data model first, then dbus data model, not the GUI data model twice. 2005-02-27 Dan Williams * panel-applet/NMWirelessApplet.[ch] panel-applet/NMWirelessAppletDbus.[ch] - Move to incremental network updates. Instead of blowing away our list of devices every time we get a signal from NetworkManager, we now incrementally add/remove networks when NetworkManager notifies us that a new network has appeared or disappered. Strength updates now happen on-the-fly for each access point as well. There are now two copies of data from NetworkManager: one for the dbus side, and one for the gui side. When the dbus side data is modified, it is copied over to the gui side so we don't have to hold the data_mutex for long periods of time (and therefore block animation of the applet's icon). - Clean up some memleaks too * panel-applet/NMWirelessAppletOtherNetworkDialog.c - Minor code beautification * src/NetworkManagerAPList.c - (nm_ap_list_merge_scanned_ap): return whether or not the access point is completely new and whether or not an existing one's strength was updated. Try to fix multiple access points and signal strength by using the highest signal strength in each scan for any given ESSID. * src/NetworkManagerDbus.[ch] - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with wireless networks; now we have only WirelessNetworkUpdate which includes a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h). - Kill usage of DbusMessageIter * src/NetworkManagerDevice.c - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs in the same scan result list. Copy ESSIDs-by-address earlier on, for each AP rather than all-at-once. Also don't ever remove the AP a card is currently associated with from the network list. - Update for new signals during scan, send out Appeared, Disappeared, or StrengthChanged when necessary. 2005-02-25 Dan Williams * README - Line break the README 2005-02-25 Dan Williams * panel-applet/NMWirelessAppletOtherNetworkDialog.c - Remove usage of gtk_window_set_default_size() * panel-applet/essid.glade - Stick default size here - Add in random crap that current glade wants to add in now 2005-02-25 Dan Williams * src/backends/NetworkManagerRedHat.c - For non-caching-nameserver/non-named case, ensure that nscd is running and that we actually tell nscd to reload the hosts cache when it changes 2005-02-25 Dan Williams * info-daemon/NetworkManagerInfoDbus.c - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter * test/nminfotest.c - Whack usage of DbusMessageIter - Clean up DbusError and DbusMessage handling and freeing - Remove unused unregister handler * test/nmtest.c - Whack usage of DbusMessageIter * test/nmtestdevices.c - Whack usage of DbusMessageIter 2005-02-25 Dan Williams * NetworkManager.h - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate" signal 2005-02-25 Dan Williams * named/nm-named-manager.c - Ensure that pid and watch variables for child named process get cleared out when the child goes away. 2005-02-22 Dan Williams * src/NetworkManagerPolicy.c - (nm_policy_activation_finish): Deactivate a device if its activation fails, and NULL out data->active_device so that we have to choose another one. This may make NetworkManager keep attempting to connect to a wired network if it fails, but if it keeps failing the wired network has more problems than just NetworkManager. * src/backends/NetworkManagerRedHat.c - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd is already running * named/nm-named-manager.c - (rewrite_resolv_conf): Call nm_system_update_dns() when not using named so that the distro can flush whatever name service caching daemon it uses 2005-02-21 Dan Williams * src/NetworkManagerDHCP.[ch] - (nm_device_dhcp_remove_timeouts): new function * src/NetworkManagerDevice.c - Use nm_device_dhcp_remove_timeouts() everywhere that we need to remove the DHCP timeouts. 2005-02-21 Dan Williams * panel-applet/NMWirelessApplet.[ch] panel-applet/menu-info.[ch] - Give the panel applet some major love: menu items are no longer subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems. This allows the applet to actually reflect theme changes correctly, since themeing of subclassed items in GTK _sucks_. 2005-02-18 Dan Williams * libnm_glib/libnm_glib.[ch] test/libnm_glib_test.c - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx and its data, and doesn't have to free the callback data anymore 2005-02-18 Dan Williams * panel-applet/NMWirelessApplet.c - Revert 2005-02-18 William Jon McCann fix for standard copyright string until it passes 'make distcheck'. With standard copyright string, xgettext complains about "Non-ASCII string at ...". 2005-02-18 Dan Williams * panel-applet/essid.glade panel-applet/NMWirelessAppletOtherNetworksDialog.c - Correct spelling of "adaptor"->"adapter" 2005-02-18 William Jon McCann * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro. (nmwa_about_cb): Use standard copyright string. Update comment text to reflect that it is a notification area applet. Remove leading newline in authors list. (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show instead of on parent menu item activation. Fixes #167550. 2005-02-18 William Jon McCann * panel-applet/essid.glade: Capitalize items as per HIG. Fixes #167632 2005-02-16 William Jon McCann * panel-applet/gtkcellrendererprogress.[ch]: Only compile these files for GTK 2.4 or lower, since now public in GTK 2.6. * panel-applet/essid.glade: Don't specify window size. 2005-02-17 Dan Williams Caught by Bill Moss: * dhcpcd/client.c - Time remaining for DHCP transaction calculation was incorrectly inside a #ifdef DEBUG 2005-02-15 Christophe Merlet * configure.in: Added fr (French) to ALL_LINGUAS. 2005-02-14 Dan Williams * src/NetworkManagerDHCP.c - (set_domain_searches): Fix free of invalid pointer 2005-02-14 Dan Williams Patch from Peter Jones: * dhcpcd/client.c - Ensure we return RET_DHCP_CEASED everywhere we should * dhcpcd/udpipgen.c - Use faster TOS for IP packets - Don't set ip_id since we're UDP Patch from Tomislav Vujec: * src/nm-dbus-dhcp.c test/nm-dhcp-opt-test.c - Clean up warnings to enable cvs tree compilation. 2005-02-14 Tomislav Vujec * configure.in po/hr.po - Add the Croatian locale. 2005-02-14 Colin Walters * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated list of domains to search. * src/NetworkManagerMain.h (NMData): Handle multiple domain searches. 2005-02-13 Dan Williams * dhcpcd/client.c - Debug output cleanups of DHCP option printing and parsing. 2005-02-13 Dan Williams Patch from Dan Reed: DHCP options D-BUS API Exposes the DHCP options that a device receives to clients over D-BUS. * configure.in - A few cleanups * dhcpcd/client.h - Correct names, option length, and types for DHCP options * dhcpcd/dhcpcd.[ch] - Clarify function names that access DHCP options & data * src/NetworkManagerDHCP.c - Use new DHCP data access functions * src/NetworkManagerDbus.c - Message handler for DHCP functions * src/nm-dbus-dhcp.[ch] (new) - DHCP dbus methods * test/nm-dhcp-opt-test.c - Test DHCP D-BUS API and return all present DHCP options 2005-02-12 Dan Williams * test/Makefile.am test/nmclienttest.c test/nmtest.c - Move nmclienttest.c -> nmtest.c 2005-02-12 Dan Williams * dhcpcd/buildmsg.c - Pad DHCP packets until they are at least 300 bytes in size. 2005-02-11 Dan Williams * dhcpcd/client.c - (dhcp_init): only print out client ID and class ID if they are specified * src/NetworkManagerDbus.[ch] src/nm-dbus-nm.[ch] src/nm-dbus-device.[ch] src/nm-dbus-net.[ch] - Move NM, Device, and Net functions to separate files and use the dbus method list stuff in NetworkManagerDbusUtils.c to do method dispatching * src/NetworkManagerDbusUtils.c - Add new validate_method called before each dispatch (if present) that can validate the method call * src/NetworkManagerWireless.c - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal levels never to be evaluated Patch from j@bootlab.org * src/NetworkManagerDevice.c - Add typedef for "u64" * src/backends/NetworkManagerDebian.c - Copy in Dave Woodhouse's fixes for IPv6 2005-02-11 Dan Williams Patch from Dave Woodhouse for IPv6: * src/NetworkManagerUtils.c - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address and multicast addresses * src/NetworkManagerDevice.c - (nm_device_set_up_down): make sure our cached MAC address is up-to-date after bringing up a card. 2005-02-10 Dan Williams Patch from Dave Woodhouse: * src/NetworkManagerSystem.h src/backends/NetworkManagerDebian.c src/backends/NetworkManagerGentoo.c src/backends/NetworkManagerSlackware.c - New nm_system_device_add_ip6_link_address() function to add link-local address on an interface. Stubbed in Debian, Gentoo, and Slackware. * src/backends/NetworkManagerRedHat.c - (nm_system_device_add_ip6_link_address): implement - (nm_system_device_flush_addresses): revert to previous behavior of flushing all addresses 2005-02-10 Dan Williams Patch from Tom Parker: * src/NetworkManagerDevice.c - Remove the "#include " since both the ethtool.h and mii.h headers are broken, and instead use our own typedefs 2005-02-10 Dan Williams * dhcpcd/buildmsg.c - (fill_host_and_class_id): only fill in client and class IDs if they are set by callers. * dhcpcd/client.c - (class_id_setup): don't autogenerate a class ID, only use one we're given, if any. - (client_id_setup): don't autogenerate a client ID, only use one we're given, if any. * dhcpcd/dhcpcd.c - (dhcp_interface_init): ensure that client options are correctly NULL terminated * src/NetworkManagerDHCP.c - (nm_device_dhcp_request): pass hostname to dhcp library 2005-02-10 Dan Williams * dhcpcd/client.c - #rh147661# Don't send kernel version in DHCP requests * src/NetworkManagerSystem.h src/backends/NetworkManagerDebian.c src/backends/NetworkManagerGentoo.c src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerSlackware.c - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp() functions, they are no longer used anyway * src/backends/NetworkManagerRedHat.c - (nm_system_device_flush_addresses): only flush "scope global" and "scope site" addresses in an attempt to keep IPv6 local-scope addresses around 2005-02-10 Dan Williams * src/NetworkManager.c - (nm_create_device_and_add_to_list): change the add message slightly * src/NetworkManagerUtils.c - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level): Return driver name to calling function - (nm_get_driver_support_level): print out the driver a device is using during the support check Patch from Dave Woodhouse: * dhcpcd/udpipgen.c - (in_cksum): copy last byte of odd-sized packets into a 'u_short' rather than a 'u_char', should fix wrong checksums on big-endian platforms 2005-02-09 Dan Williams * Clean up usage of GSList objects and looping through their members * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly now. * Fix problem where even if scanning was turned off, card would still cycle through frequencies. 2005-02-08 Dan Williams * panel-applet/NMWirelessApplet.c - Fix for gtk 2.4 2005-02-08 Dan Williams Patch from Bill Moss * panel-applet/NMWirelessApplet.c - Restore correct ESSID in tooltips 2005-02-07 Dan Williams * panel-applet/NMWirelessApplet.[ch] - Add a context menu that contains: Pause/Resume Wireless Scanning Stop/Start All Wireless Devices About... - Grab active device strength off active device, not its network * panel-applet/NMWirelessAppletDbus.[ch] - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled", "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled" - Update active device strength every 2 seconds, not every 1 second * panel-applet/menu-info.c - Only disable wired devices in the menu when they support carrier detection, and don't currently have a link. Non-carrier-detect devices will always remain choosable * src/Makefile.am src/NetworkManagerDbusUtils.[ch] - Add new new dbus utils sources * src/NetworkManager.c - Fixes for new link detection, we no longer need to call nm_device_update_link_active() with the boolean parameter - Set scanning_enabled & wireless_enabled to TRUE * src/NetworkManagerDbus.c - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods - Implement scanning & wireless enable/disable calls - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway * src/NetworkManagerDevice.c - New link detection stuff again... o Create device's mainloop earlier (but don't run it earlier) o Hook up new carrier-detect support stuff o Add in the ethtool & mii support detection code - Don't scan if scanning is disabled * src/NetworkManagerPolicy.c - Never automatically choose a device that doesn't support carrier detection - Don't automatically choose a wireless device if wireless is disabled 2005-02-07 Dan Williams * libnm_glib/libnm_glib.c - Small cleanup in element list iteration 2005-02-07 Dan Williams * src/NetworkManagerWireless.c - (nm_wireless_qual_to_percent): Fix up wireless quality calculations to be in line with the WEXT quality specification 2005-02-02 Dan Williams Patch from Nathan Fredrickson * Fix up compile for deprecation of libgnomeui - Switch to from - Remove includes - Use gtk_window_set_default_icon_from_file() rather than gnome_window_set_default_icon_from_file() * named/nm-named-manager.c - (generate_named_conf): Fix return-nothing in non-void function 2005-02-02 Dan Williams * Clean up unused variables and the like 2005-02-02 Dan Williams * src/NetworkManagerAPList.c - (nm_ap_list_merge_scanned_ap): merge strength too * src/NetworkManagerUtils.c - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging of locking issues by printing out prettier information than g_mutex_lock - Print out names of mutexes registered with nm_register_mutex_desc() - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes us to seemingly block here for too long * src/NetworkManager.c src/NetworkManagerAPList.c src/NetworkManagerDevice.c - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants so we get better debug information printed * src/NetworkManagerDbus.c - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch() since it sometimes has locking side effects - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s from 10s - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying we don't need a switch. This gets called often enough that we can't block until the scan mutex is acquired, because we'll block on device activation and a few other things, which hangs main thread for too long. * src/NetworkManagerPolicy.c - (nm_policy_auto_get_best_device): reduce the possiblity that nm_device_need_ap_switch() will be called 2005-02-02 Dan Williams * panel-applet/NMWirelessApplet.c - Display name of wireless network we are connecting to or connected to in the tooltip of the applet 2005-02-02 Dan Williams * src/NetworkManagerDHCP.c - Hopefully fix double-default-route problem by cleaning up the default route added by DHCP code right before the DHCP transaction begins 2005-02-02 Dan Williams * named/nm-named-manager.c - Write out valid resolv.conf when we exit 2005-02-01 Dan Williams Patch from Colin Walters: * named/nm-named-manager.c - Make multi-domain search options work 2005-01-31 Dan Williams * info-daemon/NetworkManagerInfoDbus.c - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it * src/NetworkManagerDevice.c - (nm_device_new): Don't store the entire range struct, use only what we need (which is currently avg_quality, max_quality, and frequencies). Also zero device structure when we've free'd it to maybe expose errors down the line. - (nm_device_update_signal_strength): grab the scan mutex before getting quality data from the card since quality will be useless during a scan. Call updated wireless qual-to-percent function with values stored in nm_device_new() earlier. - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(), nm_device_get_bad_crypt_packets()) - (nm_device_activate_wireless_adhoc): use new frequency values we go in nm_device_new() - (get_initial_auth_method): always use the Auth method that's in the allowed list if available. Problem was this: when the WEP key is wrong, NM will try OS then SK modes, and then get stuck in SK mode after that. This should reset it. - (nm_device_wireless_process_scan_results): work with new qual-to-percent function * src/NetworkManagerWireless.c - (nm_wireless_qual_to_percent): try to make this function actually work and mimic iwlib behavior. Use card's idea of quality divided by max_qual if that's all present, otherwise fall back to signal-to-noise ratios. 2005-01-29 Dan Williams * initscript/RedHat/NetworkManager - Don't spit out sysctl stuff to console * libnm_glib/libnm_glib.c - (libnm_glib_init): call dbus_g_thread_init() * panel-applet/NMWirelessAppletDbus.c - (nmwa_dbus_worker): call dbus_g_thread_init() * src/NetworkManager.c - (main): call dbus_g_thread_init() * src/NetworkManagerAPList.c - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG so we can actually see what's there in a normal syslog * src/NetworkManagerDevice.c - (nm_device_activate_wireless): print out the "waiting for access point" message only once, then say what access point we actually got after the wait. - (nm_device_need_ap_switch): If a scan is in progress when we're in this function, wait until the scan is done. Scans may change the ESSID of the card, making this function think we need to switch access points - (nm_device_wireless_process_scan_results): for artificial access points don't check against the card's ESSID, but the best_ap's ESSID. This prevents collisions with the scanning code, which may change the card's ESSID and cause the access point to get dropped from the device's AP list. Also increase the keep-around time to 2m from 60s since the max scan interval could be 60s in some cases. * src/NetworkManagerPolicy.c - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over the new properties and ESSIDs to the device's AP list. Fixes some races between NM and NMI. 2005-01-27 Dan Williams * info-daemon/NetworkManagerInfoDbus.c - (nmi_dbus_add_network_address): if the network doesn't yet exist in GConf, make a minimal entry for it (essid & timestamp) * src/NetworkManagerAPList.c - (nm_ap_list_populate_from_nmi): Don't try to grab network data if NetworkManagerInfo isn't running * src/NetworkManagerDbus.[ch] - (nm_dbus_nmi_is_running): new function * src/NetworkManagerDevice.c - (nm_device_wireless_force_use): Don't set the created AP's MAC address to garbage. * src/NetworkManagerPolicy.c - (nm_policy_activation_finish): On successful activation, make sure the "best" AP has a MAC address, and don't tell NMI to add the current AP's MAC address to GConf if the AP is an Ad-hoc AP. - (nm_policy_allowed_ap_list_update): Update a wireless card's "best" access point after refreshing our allowed list if it doesn't already have a "best" access point. 2005-01-25 Dan Williams * panel-applet/NMWirelessAppletDbus.c - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks so we check for NM_DBUS_SERVICE rather than not for it * libnm_glib/libnm_glib.c - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping ServiceOwnerChanged signal 2005-01-25 Dan Williams * configure.in - Check DBUS version in configure, and set the C macros DBUS_VERSION_[MAJOR,MINOR,MICRO] * info-daemon/NetworkManagerInfoDbus.c - Remove #if 0-d section of code that quit NMI if NM went away. * panel-applet/NMWirelessAppletDbus.c - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23 * src/NetworkManager.c src/NetworkManagerMain.h src/NetworkManagerDbus.c - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23 - Make updating of our Allowed Wireless Network lists from NMI an idle function in the main thread now, with a high priority. 2005-01-24 Dan Williams * panel-applet/gtkcellview.[ch] panel-applet/menu-info.c - Fix GTK version checks to be <= rather than < * test/Makefile.am - Include the libtool archive of libnm_glib rather than trying to pull in the .so 2005-01-24 Dan Williams * src/NetworkManagerDevice.c src/NetworkManagerDevicePrivate.h - Block nm_device_new() until our device's worker thread has had a chance to start up. Fixes a race between main thread and worker thread starting that caused activation requests to get lost. 2005-01-24 Dan Williams * initscript/RedHat/NetworkManager - Remove the ### BEGIN INIT INFO section, which caused chkconfig to add the NM startup script at priority 50, which was way too early 2005-01-24 Colin Walters * named/named.conf: Use any port for query source instead of restricting to port 53. 2005-01-24 Dan Williams * initscript/RedHat/NetworkManager - Remove the ### BEGIN INIT INFO section, which caused chkconfig to add the NM startup script at priority 50, which was way too early 2005-01-24 Dan Williams Patch from Tom Parker * Fix up compile warnings & errors in the wireless applet 2005-01-24 Dan Williams * panel-applet/NMWirelessApplet.c - Convert 24x24 icons back to 22x22 and use the 22x22 ones 2005-01-24 Dan Williams * panel-applet/gtkcellview.[ch] - Only compile these files for GTK 2.4 or lower, since GtkCellView is now public in GTK 2.6. Fixes crasher when choosing "Other Wireless Networks" from the panel applet menu 2005-01-21 Dan Williams * src/NetworkManager.c - Daemonize earlier so that glib doesn't get confused (?) 2005-01-21 Dan Williams * panel-applet/NMWirelessApplet.[ch] panel-applet/NMWirelessAppletDbus.c panel-applet/menu-info.c src/NetworkManagerDevice.c - Disable wired devices in the menu when they have no link. 2005-01-21 Dan Williams * Cache last-known-good wireless authentication method in NetworkManagerInfo, and use that method first during wireless device activation. Should speed up devices that need Shared Key authentication method since Open System is now the default. * Remove the hack to not do full activation on wired connections that are active when we launch, it causes too many problems with name resolution and was a hack in the first place. * Re-work wireless device activation again somewhat to have a clearer chain of events and to use last-known-good authentication method of the access point. Also provide better status throughout activation to ensure the applet can tell the user exactly what's going on. * Remove the "find wireless network" code and now simply attempt to activate with that access point. This reduces the delay between selecting "Other wireless Network" and actually connecting to that network. * Correctly stop the device's worker thread when its removed. 2005-01-21 Dan Williams * dhcpcd/client.c - Clean up some of the debug messages 2005-01-21 Dan Williams * Add new icons, more frames of animation * Remove some hacks to get the panel applet to display correct status, an NM update will soon follow that will fix the real issue. 2005-01-19 Kjartan Maraas * panel-applet/NMWirelessApplet.c: #include must be the first include for working i18n. Also, don't include it in .h files * panel-applet/NMWirelessApplet.h: Same * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same * panel-applet/menu-info.c: Same 2005-01-18 Dan Williams * dhcpcd/client.c - Remove some debug messages - Wrap others in #ifdef DEBUG/#endif * src/NetworkManager.c - Remove some debug messages - Clarify some debug messages - Remove code related to old single-thread wireless scanning * src/NetworkManagerAP.[ch] - New AP property "last_seen" to track how recently an AP was found in a scan - Start using 'const' more in function arguments * src/NetworkManagerAPList.[ch] - (nm_ap_list_merge_scanned_ap): new, selectively update attributes of an AP found in an AP list from a source AP, or if not found in the list add the source AP - (nm_ap_list_combine): remove, no longer needed * src/NetworkManagerDevice.c - Each device now has a "worker" thread from start to end of its life. Scanning for wireless devices now happens in that thread, not in a single "wireless scanning thread" for all devices as previously. Activation consists of adding an idle handler to the thread's main loop/context, which gets run at the next available opportunity. - Wireless scanning is also simplified, there is now only one list of access points per wireless device, and APs older than 60s are removed from the list. Previously, we kept results for the last 3 scans and merged whole lists, which was complicated. - Cleaned up activation debug messages. - Wireless activation and access-point search routines now use Open System authentication before trying Shared Key. - Removed some code in nm_device_update_best_ap() that could cause cards to loose their link to the access point. - Scanning now uses a backoff algorithm, where the inverval becomes progressively longer between scans when the list of scanned access points doesn't change. A change will revert to the shortest scan interval (20s). * src/NetworkManagerWireless.[ch] - Remove code related to old single-thread wireless scanning 2005-01-18 Colin Walters * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list of older nameservers. 2005-01-18 Colin Walters * named/nm-named-manager.c (generate_named_conf): Many fixes to config file generation. (safer_kill): Remove, was too much trouble for little gain. (nm_named_manager_start): Run named as NM_NAMED_USER. * configure.in: Add option --with-named-user. 2005-01-14 Colin Walters Patch from ed@catmur.co.uk (Ed Catmur) * named/nm-named-manager.c: Add "context" property. Use it to add child watch source in specific GMainContext. * src/NetworkManager.c (nm_data_new): Initialize named with correct main context. Start named only after forking. 2005-01-14 Colin Walters * named/nm-named-manager.c (generate_named_conf): Write config and pid files into NM_NAMED_DATA_DIR; this allows things to work better with FC3 named SELinux policy. Also fix up silly format error. * configure.in: Add --with-named-dir option. 2005-01-14 Colin Walters * configure.in: Make named support require passing --with-named. * named/nm-named-manager.c: Support writing resolv.conf directly without running named. 2005-01-13 Dan Williams * named/nm-named-manager.c - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961) * src/NetworkManagerDevice.c - Rework wireless link detection code to be more reliable 2005-01-12 Dan Williams * initscripts/RedHat/NetworkManager - Change initial level to "-" rather than "345" so that we don't activate ourselves by default on install 2005-01-12 Dan Williams * libnm_glib/ - Client library for applications using glib * configure.in various Makefiles - Split NM_CFLAGS and NM_LIBS into separate variables like DBUS_*, HAL_* and GLIB_* * src/NetworkManager.c src/NetworkManagerMain.h - (nm_schedule_status_signal_broadcast): at the earliest convenience, broadcast a status changed signal over DBUS from the main thread. Still unused anywhere for the moment. Patch from j@bootlab.org * panel_applet/NMWirelessAppletDbus.c src/NetworkManagerDbus.c - Correct INT32->UINT32 mistmatch between NM and the panel applet for the "getMode" method call 2005-01-10 Dan Williams * src/NetworkManagerDevice.c - Minor fixups & corrections to "auto" frequency mode, make it less chatty with syslog 2005-01-10 Dan Williams * src/NetworkManagerDevice.c - Implement "auto" frequency/channel support, since cards like Atheros can't use other frequencies at all when you've told it to use a specific one, even for scanning. - Grab the scan mutex around places where we can't tolerate wireless settings changing underneath us, like nm_device_wireless_network_exists() and nm_device_activate_wireless() * src/NetworkManagerWireless.c - Back scan interval off to 20s instead of 14s 2005-01-09 Dan Williams * src/NetworkManagerDevice.c - Don't set mode/freq/bitrate if that mode/freq/bitrate is already set. Stops some drivers like Atmel from continually reloading the firmware, which they do upon every configuration change. 2005-01-09 Dan Williams * dhcpcd/client.c - Use correct timeout value * info-daemon/NetworkManagerInfoDbus.c src/NetworkManagerDbus.c - Consolidate communication between NM and NMI by doing only 1 dbus method call to get Wireless Network info from NMI instead of 6 * src/NetworkManager.c - Make sure to cancel activation when we receive a SIGTERM, otherwise when we didn't have an AP to use, we'd wait for one forever without quitting * src/NetworkManagerDevice.c - nm_device_activation_cancel(): Fix a race between dhcp and quitting activation, dhcp might not have started yet but we don't quit activation before starting it, so the quit signal gets lost 2005-01-07 Dan Williams * dhcpcd/client.c - Rework the DHCP client code to be much less chatty when it receives non-DHCP UDP packets during the DHCP run (reported by and preliminary patches from Bill Moss) * Move wireless scanning to a separate thread. This thread forwards the results to the main thread when done where they are integrated into the device's access point lists. This keeps the main thread (which does all the DBUS communication) from being blocked for long periods of time by wireless scanning. * Make state modification an idle routine in the main loop, and trigger state changes rather than polling for them. * src/backends/NetworkManagerGentoo.c - Fix up invalid C90 code (reported by Christoph Ruessler) * src/NetworkManagerDevice.c - Revert IPv6 patch for wired devices from 2004-12-22 for router advertisements, causing problems and infinite loop during "best" device determination due to link going up/down (reported by Bill Moss) Apply patch from Peter Jones * src/NetworkManagerDevice.c - Shortcut for link-checking for ipw2x00 cards - Split out association check into separate routine 2004-01-05 Colin Walters * named/named.conf: Add PID_FILE. * named/nm-named-manager.c: Always generate a pid file, since older BIND versions don't support "pid-file none". 2005-01-01 Satoru SATOH * configure.in (ALL_LINGUAS): Added ja (Japanese). 2004-12-22 Dan Williams * src/NetworkManagerDevice.c - Silently fail when setting bitrate doesn't work Patches from j@bootlab.org: * src/backends/NetworkManagerDebian - Update backend to match functionality in RedHat backend * src/NetworkManagerDevice.c - Take down then bring up wired devices after connection so they send out ipv6 router advertisements 2004-12-21 Colin Walters * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly test for NETWORK_MODE_ADHOC; spotted by: Greg . 2004-12-21 Colin Walters * configure.in: Correct named detection. 2004-12-21 Colin Walters * src/NetworkManager.c (nm_data_new): Initialize named. Also, set up a signal handler for SIGINT/SIGTERM, and exit the mainloop when these signals are received. (nm_data_free): Unref named. (sigterm_handler, sigterm_pipe_handler): New functions for exiting mainloop. * src/NetworkManagerMain.h (NMData): Add signal handling and nameserver bits. * src/NetworkManager.c (nm_device_unref): Quit device mainloop on unref. * src/NetworkManagerDHCP.c (set_nameservers): New function; set nameservers from DHCP response data. (set_domain_search): Set domain search from DHCP response. (nm_device_dhcp_configure): Invoke them. * src/NetworkManagerSystem.c (nm_system_device_update_resolv_conf): Delete. Deleting code is totally sweet. * src/Makefile.am (NetworkManager_LDADD): Add libnamed. * named/nm-named-manager.h, named/nm-named-manager.c: New files; implements an object which controls a nameserver. Currently uses bind 9. * configure.in: Check for named. * Makefile.am (SUBDIRS): Add named dir. * named/named.conf: New template config file. 2004-12-20 Colin Walters * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '==' instead of '='. 2004-12-17 Dan Williams * Ad Ad-Hoc networking mode support. In Ad-Hoc mode, we only try to get link-local addresses instead of doing DHCP. * In the panel applet, there's a new "Create new Wireless Network..." item * The panel applet also sticks around now even if NetworkManager dies, but it doesn't hide its icon when NM isn't around. Not hiding the icon is a bug, I'll fix that later. * We also don't use 'nscd' anymore in the RH backend, it was impeding name lookups after a switch rather than actually doing them. * Clean up some of those warnings in nm_ap_list_* functions * Delay between scans changed to 15s instead of 10s 2004-12-15 Dan Williams Patch from Tom Parker * Add autoip/Link Local Addressing support when we fail to get a DHCP address * Longer pause after setting ESSID on cards that support a larger number of channels to give the card time to find the right channel * Add system hook to restart mDNSResponder (or whatever the local implementation of Multicast DNS is) when we activate interfaces 2004-12-15 Dan Williams * Rework the DHCP code again to revert to sending full ethernet frames rather then relying on the kernel to do the right thing with our packets. 2004-12-06 Dan Williams * dhcpcd/client.c - Fix some minor errors in dhcp_handle_transaction() that caused unexpected early timeouts of DHCP transactions * dhcpcd/client.h - DHCP retransmit time from 4s -> 5s 2004-12-05 Dan Williams * Major rework of the DHCP code, taking some cues from pump. We don't write raw Ethernet packets anymore, which simplifies the code quite a bit. The new code should be more robust, not hang in recvfrom() as much, and generally work better. This also means that we need to force HAL/dbus to use a created GMainContext rather than the default context, since having the DHCP renew/rebind thread using its own GMainContext seemed to give dbus a fit. There is also more debugging information printed from the DHCP loop to help with future problems. * Also, if the DHCP server doesn't give us the "routersOnSubnet" option, assume that the default gateway should be the DHCP server. Patch from Matthew Schick * src/backends/NetworkManagerGentoo.c - Fix compilation error due to missing "ip4_broadcast" 2004-12-03 Dan Williams * initscript/Makefile.am * initscript/Debian/NetworkManager * initscript/Gentoo/NetworkManager * initscript/RedHat/NetworkManager * initscript/NMLaunchHelper.c - Remove NMLaunchHelper, if you need to wait until the network comes up, use the dead code from CVS. 2004-12-01 Colin Walters * configure.in: Suck in gcc warnings code from Rhythmbox, but use fewer default flags, and in particular add -Wno-unused, since the codebase has a lot of unused variables. * test/nmtestdevices.c (create_device): * test/nminfotest.c (get_network_string_property) (get_networks_of_type): * test/nmclienttest.c (main): * src/NetworkManagerDbus.c (nm_dbus_create_error_message): * initscript/NMLaunchHelper.c (get_nm_status): * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): Fix declarations after statements. 2004-12-01 Colin Walters * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method. (nmi_dbus_get_vpn_userpass): New method. (nmi_dbus_nmi_message_handler): Invoke it. * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype. * info-daemon/NetworkManagerInfoVPN.h, info-daemon/NetworkManagerInfoVPN.c: New files; responds to requests for VPN passwords. * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring. 2004-12-01 Colin Walters * test/nmtestdevices.c, test/nmclienttest.c: Add missing includes. 2004-12-01 Colin Walters * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_active_device_strength): Fix missing return value. 2004-12-01 Colin Walters * panel-applet/NMWirelessApplet.c: Add missing include. 2004-12-01 Colin Walters * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent): Remove useless CLAMP (); the value is unsigned, and the case tests qual->qual < 100, so the value must always be between 0 and 100. 2004-12-01 Colin Walters * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes. 2004-11-22 Colin Walters * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run "nscd -i hosts" to invalidate the host cache instead of restarting nscd, which is essentially a noop since nscd caches hosts on disk too. 2004-11-22 Colin Walters * src/Makefile.am (NetworkManager_SOURCES): Add NetworkManagerDevicePrivate.h. 2004-11-22 Dan Williams * src/NetworkManagerDevicePrivate.h - Split out the NMDevice struct to a different file so that stuff like NetworkManagerDHCP.c and NetworkManagerSystem.c can use it * dhcpcd/client.c - fprintf->syslog - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we need to cancel the dhcp request during the send and recv * dhcpcd/client.h - Move the DHCP option enum to dhcpcd.h * src/NetworkManagerDHCP.c - Split out the actual IP/netmask/etc setting code - New Renew/Rebind functions - New timer setup function for renew/rebind operations * src/NetworkManagerDevice.c - For device activation, if we are using DHCP then keep the activation thread alive until device deactivation. We need to renew/rebind the DHCP address after the T1 (renew) and T2 (rebind) times have expired. - Increase some timeouts after bringing wireless cards up/down 2004-11-17 Dan Williams * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly connected to them. Then, after a scan, match up non-ESSID-broadcasting access points with any cached MAC addresses from NetworkManagerInfo. Allows us to show known access points that don't broadcast their ESSID in the menus without any user intervention whatsoever. * info-daemon/NetworkManagerInfoDbus.c - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions for dbus method calls "getNetworkAddresses" and "addNetworkAddress" * src/NetworkManagerAP.[ch] - Add a "user_addresses" data member to the NMAccessPoint structure - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing the user_addresses data member * src/NetworkManagerAPList.c - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just the AP's reported address - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo * src/NetworkManagerDHCP.c - Increase DHCP timeout from 25s -> 30s * src/NetworkManagerDbus.[ch] - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set user addresses * src/NetworkManagerDevice.c - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up, wait 2s, then configure it. Sometimes Prism54 cards will freeze up with "mgnt tx queue full", seemingly in response to NM controlling the card too much. So, we take the card down to clear it out. - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list too, since that's where the user_addresses are * src/NetworkManagerPolicy.c - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to that wireless networks' user_addresses list upon successful activation 2004-11-16 Dan Williams * src/NetworkManagerDevice.[ch] - (nm_device_clear_activation_fail): new function * src/NetworkManagerPolicy.c - (nm_state_modification_monitor): clear the activation_failed flag on devices when we've dealt with the failure so the user doesn't get failure-dialog-spammed 2004-11-16 Dan Williams * src/NetworkManagerDevice.c - (nm_device_activate_wireless): Unref best_ap upon success so we don't leak the structure, better updating of now_scanning status - (nm_device_wireless_network_exists): Rewrite for better/faster checking 2004-11-15 Dan Williams Major rework of link detection code. We now use DHCP as part of the link detection which proves to be much more robust, and also supports Open System authentication for wireless networks. We no longer use external DHCP client programs. Instead, we use our own DHCP client, based on substantially reworked bits of 'dhcpcd' which was written by: Yoichi Hariguchi Sergei Viznyuk http://www.phystech.com/download/ It resides in the "dhcpcd" directory and was refactored into a general purpose DHCP client library by me. Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around), move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h 2004-11-15 Dan Williams Patch from Tom Parker : * src/NetworkManagerDevice.c - Less output to console when no access points are found during a scan 2004-11-15 Dan Williams Patch from Tom Parker : * src/backends/interface_parser.c - Use g_strdup () - Check for inp == NULL - use syslog () 2004-11-13 Colin Walters Patch from Tom Parker : * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS. * src/backends/NetworkManagerRedHat.c: Switch to including shvar.h instead of shvar.c. * src/backends/NetworkManagerDebian.c: Don't include interface_parser.c in source file. (libnmbackend_la_SOURCES): Don't include shvar.[ch] and interface_parser.[ch]. * src/Makefile.am (libnmbackend_la_SOURCES) : Include shvar.c and shvar.h here. (libnmbackend_la_SOURCES) : Include interface_parser.c and interface_parser.h here. 2004-11-12 Colin Walters * configure.in: Strip out TARGET_DISTRO and SYSTEM_BACKEND_FILE variables. Switch to Automake conditionals. * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la. (libnmbackend_la_SOURCES): Use Automake conditionals to add distro-specific files. * initscript/Makefile.am (SUBDIRS): Update to use conditionals. 2004-11-12 Colin Walters Patches from j bootlab org * src/Makefile.am (EXTRA_NetworkManager_SOURCES): Add interface_parser.[ch]. * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases". 2004-11-12 Colin Walters * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete call to nmi_dbus_is_running too, not necessary anymore. * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to pick up exit(). 2004-11-11 Colin Walters * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running): Delete. (nmi_dbus_service_init): Call dbus_bus_acquire_service with the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS. This avoids a race condition that made it pretty easily possible to get two NetworkManagerInfo daemons running. 2004-11-11 Colin Walters * src/NetworkManager.c (main): Use daemon(3). * info-daemon/NetworkManagerInfo.c (main): Ditto. * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto. 2004-11-10 Dan Williams Patches from j bootlab org * src/NetworkManagerDevice.c - (nm_device_activate_wireless): wait 5 seconds before attempting to detect whether the card has a link or not, some cards are slow - (nm_device_activation_configure_ip): make ipv6 work a bit better * info-daemon/NetworkManagerInfoPassphraseDialog.c - Disable the "Login" button on the passphrase dialog until the user enters a valid passphrase or key Patches from Tom Parker * src/backends/NetworkManagerDebian.c - Add static IP support to the debian backend * src/backends/interface_parser.[ch] - Parse debian interface config files 2004-11-08 Dan Williams * src/NetworkManagerDevice.c - Some random fprintf->syslog conversions - (nm_device_wireless_network_exists): double-check for network - (nm_device_find_and_use_essid): Copy over encryption key no matter what * src/NetworkManagerWireless.[ch] - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again so that the binary->ascii conversion works (if unsigned, the bitshift will fill with zeros, which is what's required). Also mask bitshift result with 0xF for futher assurance. 2004-11-06 Dan Williams * src/NetworkManagerUtils.c - (nm_get_wireless_driver_support_level): default to FULLY_SUPPORTED rather than UNSUPPORTED, forgot to flip this when changing from whitelist->blacklist of wireless drivers 2004-11-05 Dan Williams Patch from Robert Paskowitz: * src/backends/NetworkManagerGentoo.c - Update static IP config code 2004-11-05 Dan Williams * info-daemon/NetworkManagerInfoDbus.c src/NetworkManagerDbus.[ch] src/NetworkManagerDevice.c - Keep track of the # of attempts to get the WEP key from the user and pass that along to the info daemon 2004-11-05 Dan Williams * src/NetworkManagerUtils.c - Blacklist wireless cards rather than whitelisting them. - Grab driver name from HAL rather than trying to find it ourselves. 2004-11-03 Dan Williams * panel-applet/NMWirelessAppletOtherNetworkDialog.c, - Disable OK button until valid data is entered for encryption stuff too * panel-applet/NMWirelessApplet.c - Report card strength for current AP if the card doesn't report strength data for scanned access points * src/NetworkManagerDevice.c - Smooth out cards reported quality, Atmel card was intermittently reporting no quality data but soon recovers * src/NetworkManagerWireless.c - Better quality data percentage calculation. Atmel cards (mine at least) seem to report the quality in percentage format already, so honor that Patch from * NetworkManager.h info-daemon/NetworkManagerInfoPassphraseDialog.c info-daemon/passphrase.glade panel-applet/NMWirelessAppletOtherNetworkDialog.c panel-applet/essid.glade src/NetworkManagerAP.c src/NetworkManagerDevice.c src/NetworkManagerWireless.[ch] - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit 2004-11-03 Dan Williams * src/NetworkManagerDevice.[ch] - (nm_device_set_enc_key): Add parameter to set Authentication Mode (Open System, Shared Key, or None). We're still using Shared Key for now though. 2004-11-02 Bryan Clark * panel-applet/menu-info.c: change from bold text to light colored, may cause problems with some themes, i've tested a lot and they seem fine. * panel-applet/NMWirelessApplet.c: fix strength tooltip 2004-11-01 Colin Walters * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c (nm_wireless_128bit_key_from_passphrase): Add const. * src/NetworkManagerAP.h, src/NetworkManagerAP.c (nm_ap_set_enc_key_source): Add const. 2004-11-01 Colin Walters * .cvsignore: Update. 2004-10-29 Dan Williams * src/NetworkManagerDevice.c - (nm_device_wireless_network_exists): Actually use the encryption key we got from the applet when attempting to find a wireless network - Don't bring devices down so much since on some cards it triggers firmware hotplugs each time * src/NetworkManagerDbus.c - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten from the caller 2004-10-29 Dan Williams * src/NetworkManager.c - (nm_hal_device_property_modified): unlock a locked active wireless device when a wired connection gets a link. (Means you'll switch to wired whenever you plug in no matter what). 2004-10-29 Dan Williams * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch] - New files, implement the "Other wireless network" dialog * panel-applet/NMWirelessApplet.c - Move "other wireless network" dialog to separate file * panel-applet/NMWirelessAppletDbus.[ch] - Take key and key_type paramaters for the set_device function * panel-applet/essid.glade - Add UI bits for encryption settings * src/NetworkManagerDbus.c - Retrieve key and key_type params for "setActiveDevice" method call and pass them on - unref AP returned from nm_device_get_best_ap() when needed * src/NetworkManagerDevice.c - (nm_device_get_best_ap): ref the ap before returning it - unref AP returned from nm_device_get_best_ap() when needed - (nm_device_activate_wireless): add "ap" parameter so we don't need to call nm_device_get_best_ap() here, it was pretty much redundant anyway - (AP_NEED_KEY): break second link check condition out into separate function, and fix segfault when ap->enc_key_source was NULL - (nm_device_find_and_use_essid): take key and key_type parameters and pass them along to nm_device_wireless_network_exists(). If the network does exist, set the passed-in key+key_type on the AP * src/NetworkManagerPolicy.c - unref AP returned from nm_device_get_best_ap() when needed 2004-10-28 Dan Williams * src/NetworkManagerUtils.c - (nm_spawn_process): Fix a potential dereference of NULL Patches from Peter Jones: * src/NetworkManagerDevice.c - (nm_device_test_wireless_extensions): Better check for wireless devices * src/NetworkManagerUtils.c - (nm_spawn_process): Pass in valid stdout and stderr so executed programs don't randomly SIGPIPE and fail - (nm_get_wired_driver_support_level): quash hal warning when checking for USB ethernet device 2004-10-27 Dan Williams * info-daemon/NetworkManagerInfo.c info-daemon/NetworkManagerInfoDbus.c info-daemon/NetworkManagerInfoPassphraseDialog.c panel-applet/NMWirelessApplet.c - Properly escape gconf keys * src/NetworkManager.c - remove unused variables * src/NetworkManagerAP.c - (nm_ap_new_from_ap): Don't redundantly set new APs refcount since it got set in nm_ap_new() * src/NetworkManagerAPList.c - (nm_ap_list_combine): Give up ownership of newly created access points to the ap list, fixes memleak * src/NetworkManagerDevice.c - Remove cached_ap_list4 member since its not really needed - (nm_device_wireless_network_exists): Try to get correct encryption status of a found AP if its already in our device list - (nm_device_do_normal_scan): Clean up scanning a bit, make memory allocs/deallocs a bit clearer and shorter-lived 2004-10-26 Ray Strode * panel-applet/NMWirelessApplet.c: (custom_essid_item_selected): kill some compiler warnings 2004-10-26 John (J5) Palmieri * info-daemon/NetworkManagerInfoDbus.c - (nmi_dbus_is_running): New function for determining if nmi is already running - (nmi_dbus_service_init): exit if another instance of nmi is already running 2004-10-23 Dan Williams * info-daemon/NetworkManagerInfoDbus.c - Trap the "DeviceActivationFailed" signal * docs/NetworkManager DBUS API.txt - Add "DeviceActivationFailed" signal * panel-applet/NMWirelessAppletDbus.c - Quash the "NetworkManager service not available" message * src/NetworkManagerDbus.[ch] - Add the "DeviceActivationFailed" signal * src/NetworkManagerDevice.c - Add support for activation_failed flag - Fix deadlock where activation thread didn't clean itself up, making main thread still believe it was alive forever (didn't reset activation flags like activating, just_activated, etc when IP configuration failed) * src/NetworkManagerPolicy.c - Implement logic for DeviceActivationFailed signal, and when activation fails for wireless networks, try to fall back to some other access point 2004-10-23 Dan Williams * panel-applet/NMWirelessApplet.[ch] - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box to the applet object, so we can get tooltips - Add tooltips (RH #136866) * src/NetworkManagerDevice.c - When trying to find a wireless network, try to connect with encryption turned on first, so that we can more accurately detect whether or not we need to use encryption for the actual association later on 2004-10-21 Dan Williams * Add some support for telling NetworkManagerInfo to tell the user that they are using a device that's not fully supported * Fix some assertions in debug messages due to null access point args 2004-10-21 Dan Williams * src/NetworkManagerDevice.c - Don't try to activate/bring up/down unsupported devices * src/NetworkManagerUtils.c - Fix case of PCI ID checks for driver support levels 2004-10-21 Dan Williams * NetworkManager.h - New file, now contains commonly used structures and bits for the dbus API of NetworkManager * Makefile.am - Deliver NetworkManager.h to ${includedir}/NetworkManager * src/NetworkManager.h - Rename -> src/NetworkManagerMain.c * Various fixups all around to use NetworkManager.h and new src/NetworkManagerMain.h, remove redundant bits that got moved into NetworkManager.h * src/NetworkManagerDevice.[ch] src/NetworkManagerUtils.[ch] src/NetworkManagerPolicy.c src/NetworkManagerDbus.c - Whitelist wireless drivers, and blacklist some wired drivers. Also blacklist cipsec and ethernet-over-usb devices at this time (RH #135722, RH #135648) - Don't leak unsupported devices out over dbus, or allow them to be set as the active device. Skip over them during automatic device picking * test/nmclienttest.c - Clean up the dbus code a lot Tue Oct 19 14:20:29 2004 Jonathan Blandford * configure.in: post release bump. Tue Oct 19 14:19:24 2004 Jonathan Blandford * configure.in: * NEWS: Released NetworkManager-0.3.1 2004-10-18 Dan Williams Patches from Thom May: * test/nmtestdevices.c - Include * src/backends/NetworkManagerDebian.c: - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp) (nm_system_device_flush_routes, nm_system_device_flush_addresses) Move to using g_strdup_printf rather than arbitrary buffers - (nm_system_device_setup_static_ip4_config) Implement function. - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall 2004-10-17 Dan Williams * info-daemon/NetworkManagerInfoDbus.c - Display name of network in the "network not found" dialog * panel-applet/NMWirelessAppletDbus.c - (nmwa_dbus_call_nm_method): new function replaces all other nmwa_dbus_get_[string|string_array|int|boolean] methods - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name() consolidated into nmwa_dbus_get_object_name() 2004-10-15 Dan Williams * src/NetworkManagerDbus.c info-daemon/NetworkManagerInfoDbus.c - Display an error dialog when the user tries to use an "Other wireless network" that's not found. 2004-10-15 Dan Williams * panel-applet/NMWirelessApplet.[ch] - Fix up corner cases in applet state, making it look more responsive. Change state to "connecting" when the user is forcing a device too. 2004-10-15 Dan Williams * src/NetworkManagerAPList.c - (nm_ap_list_update_network): Disown AP after the list takes ownership * src/NetworkManagerDbus.c - (nm_dbus_nm_set_active_device): Simplify the device setting logic * src/NetworkManagerDevice.c - Disown APs after the device's AP list takes ownership 2004-10-15 Dan Williams * panel-applet/NMWirelessApplet.c - Update our applet state from the GUI thread * panel-applet/NMWirelessAppletDbus.c - Greatly simplify the locking to make the GUI thread smoother. Update a private copy of the device list and active device and only when done talking to NetworkManager turn it over to the GUI thread. 2004-10-15 Dan Williams * src/NetworkManagerAP.[ch] - Add "artificial" get/set functions, set for APs that aren't discovered as part of a scan but instead discovered by force-setting the ESSID * src/NetworkManagerDevice.[ch] - (nm_device_wireless_network_exists): pass back whether or not the discovered AP was encrypted. Also, try falling back to encrypted mode on the card if unencrypted association doesn't work - (nm_device_find_and_use_essid): If the network requested did in fact exists, but it wasn't in our scan list, add an "artificial" entry for it. Some Cisco cards don't see non-ESSID-broadcasting APs in their scan but can still associate with them if you know the ESSID, this works around that behavior - (nm_device_do_normal_scan): Carry "artificial" APs over from scan to scan if the card is currently associated with that AP 2004-10-15 Dan Williams ---- We have a website ---- http://people.redhat.com/dcbw/NetworkManager Patch from Robert Paskowitz: * src/NetworkManager.c - (main): Make sure we are run as root * src/NetworkManagerDevice.c - Fix type in ad-hoc setting function Patch from Thom May: * src/backends/NetworkManagerDebian.c - Make Debian backend compile again 2004-10-14 Dan Williams * Tagged NetworkManager-0_3 2004-10-14 Dan Williams Patch from Robert Paskowitz: * NEWS src/NetworkManagerDevice.[ch] src/backends/NetworkManagerDebian.c src/backends/NetworkManagerGentoo.c src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerSlackware.c - Add support for grabbing and using a broadcast address from system config files - Some Gentoo backend fixes for grabbing network config - Fix LOG_WARN->LOG_WARNING 2004-10-14 Dan Williams * NEWS: a few small fixes in the credits Thu Oct 14 19:12:58 2004 Jonathan Blandford * NEWS: prep for release. Thu Oct 14 16:47:12 2004 Jonathan Blandford * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_device_wireless_networks): remove warnings. Thu Oct 14 16:40:39 2004 Jonathan Blandford * panel-applet/NMWirelessApplet.c (animation_timeout): Make applet->state == APPLET_STATE_NO_NM animation. * panel-applet/NMWirelessApplet.c (custom_essid_item_selected): set the text correctly. 2004-10-14 Dan Williams * src/NetworkManager.c - Only accept and manager 802.3 and 802.11 devices * src/NetworkManagerDbus.[ch] - (nm_dbus_nm_set_active_device): move most of the actual activation logic into NetworkManagerDevice.c - (nm_dbus_network_status_from_data): new function - (nm_dbus_signal_network_status_change): new function, unused for now - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now * src/NetworkManagerDevice.[ch] - (nm_device_find_and_use_essid): new function. Search for, and if found use, a random ESSID. 2004-10-14 John (J5) Palmieri * info-daemon/NetworkManagerInfo.c - (main): Added session management 2004-10-14 Dan Williams * panel-applet/NMWirelessAppletDbus.[ch] - Expose network_device_[un]ref() - Expose wireless_network_[un]ref() - (wireless_network_new_with_essid): new function, create and return a wireless network with a particular essid * panel-applet/NMWirelessApplet.c - Hook up the "other network" dialog to do something Wed Oct 13 19:31:53 2004 Jonathan Blandford * panel-applet/NMWirelessApplet.c: Add an essid dialog. It doesn't work yet, but it looks okay. * panel-applet/icons/*png: Resize to 22x22 and install in the right place. 2004-10-13 Dan Williams * panel-applet/NMWirelessApplet.c - Add function to print out applet_state in a readable manner * src/NetworkManager.c - (main): Don't segfault when nm_dbus_init() fails, we had a left-over call to hal_shutdown() into which we passed NULL * src/NetworkManagerAP.c - (nm_ap_set_essid): Allow NULL essids * src/NetworkManagerAPList.[ch] - More use of nm_ap_list_[un]lock () - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL network/essid, just return nothing. Also skip over NULL essid access points in the list when searching - (nm_ap_list_get_ap_by_address): new function - (nm_ap_list_update_network): set the access point's key source to NULL when the key returned from NetworkManagerInfo is NULL or of 0 length - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and copy timestamp over too - (nm_ap_list_copy_essids_by_address): new function, attempt to find the correct ESSID for a blank-essid access point by searching through another list and matching access point MAC addresses - (nm_ap_list_diff): exclude blank-essid access points from the diffs * src/NetworkManagerDbus.c - (nm_dbus_nm_set_active_device): deal with random networks the user may specify. This is mainly for access points that don't broadcast their essid. So if the user tells us to associate with some random ESSID that's not in our access point list, we find out if the access point does in fact exist (by attempting association and then matching that access point's MAC address with the essid the user gave us) and then we switch to it. - (nm_dbus_devices_handle_request): don't add blank-essid access points to the returned list of networks for the "getNetworks" method * src/NetworkManagerDevice.[ch] - Extra debugging info for link detection - (nm_device_ap_list_get_ap_by_address): new function, return an AP based on MAC address - (nm_device_get_path_for_ap): ignore blank-essid access points - (nm_device_wireless_network_exists): new function, find out whether a random ESSID exists by attempting to associate with it - (nm_device_do_normal_scan): allow blank-essid access points in our device list as long as they have an AP MAC address we can use. Also send WirelessNetwork[Dis]Appeared signals for non-active devices too. Lets the applet update more frequently. * src/backends/NetworkManagerGentoo.c - Patch from: Robert Paskowitz - Update backend code for Gentoo - Implement nm_system_device_update_config_info () * test/nmclienttest.c - (set_network_device): new function, takes a command-line argument and tells NetworkManager to use that wireless network Wed Oct 13 John (J5) Palmieri * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning if the notification icon crashes 5 times within 5 seconds of each respawn Tue Oct 12 22:53:04 2004 Jonathan Blandford * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove g_print. Tue Oct 12 22:44:15 2004 Jonathan Blandford * panel-applet/NMWirelessApplet.h: Change the name of the icons. * panel-applet/NMWirelessApplet.c: (animation_timeout), (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets), (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init): Change the name of the icons. * panel-applet/menu-info.c: (nm_menu_wired_class_init), (nm_menu_wired_expose_event), (nm_menu_network_class_init), (nm_menu_wireless_class_init), (nm_menu_wireless_new), (nm_menu_wireless_expose_event): Really bad hack to get the style to draw in the right color. Tue Oct 12 John (J5) Palmieri * info-daemon/NetworkManagerInfo.c (main): Add child watch to respawn Notification if it crashes Fri Oct 8 07:19:55 2004 Jonathan Blandford * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): (nmwa_dbus_get_string): remove unused functions * panel-applet/NMWirelessApplet.c (nmwa_about_cb): (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory): remove unused functions * panel-applet/NMWirelessApplet.c: Rewrite icon code. 2004-10-12 Dan Williams * panel-applet/NMWirelessAppletDbus.c - New functions: wireless_network_new wireless_network_copy network_device_new network_device_copy * src/NetworkManagerDevice.[ch] - New functions: nm_device_set_mode_managed nm_device_set_mode_adhoc - Use these functions where appropriate - When creating a new wireless device, force the card to managed/Infrastructure mode as soon as possible 2004-10-12 Dan Williams * src/NetworkManagerDevice.c - Force wireless cards into Infrastructure mode before we use them 2004-10-12 Dan Williams * TODO - Remove bit about static IP address support * src/NetworkManagerUtils.c - (nm_spawn_process): Add some error reporting * src/NetworkManagerDevice.c - (nm_device_activation_configure_ip): hook up to the static config routines in the backends * src/backends/NetworkManagerRedHat.c - (nm_system_device_update_config_info): use shvar.c routines to parse the config file iformation, not our own - (nm_system_device_setup_static_ip4_config): new function, based heavily on 'ifup' script and 'ipcalc' tool code. Set up a device with a static IP address and gateway * src/backends/shvar.[ch] - Parser (filched from initscripts package) for ifcfg-* files * src/backends/NetworkManagerSystem.h src/backends/NetworkManagerGentoo.c src/backends/NetworkManagerDebian.c src/backends/NetworkManagerSlackware.c - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config() 2004-10-11 Dan Williams * TODO - Remove bit about more robust AP diffing since I just implemented it 2004-10-11 Dan Williams * src/NetworkManagerAP.c - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have enough RAM to allocate new AP structures, but return NULL instead * src/NetworkManagerAPList.[ch] - (nm_ap_list_is_empty): new function - (nm_ap_list_combine): new function, combine two access point lists - (nm_ap_list_copy_keys): new function, copy keys from one list into another * src/NetworkManagerDevice.[ch] - Rename some functions to be clearer: nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen nm_device_just_activated -> nm_device_is_just_activated nm_device_activating -> nm_device_is_activating nm_device_now_scanning -> nm_device_is_scanning - Cache the last 4 scans so that the access point list is more stable. We combine the lastest two scans and use that as the AP list, and diff that combined list against the combination of the earliest two cached scans for the WirelessNetworkAppeared/Dissappeared signals 2004-10-08 John (J5) Palmieri * info-daemon/NWManagerInfo.h - (struct NetworkManagerInfo): add shutdown_timeout GSource * info-daemon/NWManagerInfoDbus.c - (shutdown_callback): new function - (nmi_dbus_filter): Create a 30 second timeout until shutdown if NetworkManager goes away. Kill the timeout if NetworkManager restarts before the 30 seconds are up. - (nmi_dbus_service_init): - call gtk_main_quit if NetworkManager is not running - add filters to monitor dbus service creations and deletions 2004-10-08 John (J5) Palmieri * panel-applet/NMWirelessApplet.c - (nmwa_update_state): Hide notification icon if we are only showing one wired card and no wireless interfaces (Red Hat Bug #134895) * panel-applet/NMWirelessAppletDbus.c - (nmwa_dbus_filter): changed exit to gtk_main_quit () * info-daemon/NWManagerInfo.c - (main): Terminated the notification_icon_cmd array with a NULL 2004-10-08 Hendrik Brandt * configure.in (ALL_LINGUAS): Added de (German). 2004-10-08 Dan Williams * src/NetworkManagerDevice.c - Be a bit more robust about link checking, ie make sure that the WEP key we were given actually has some data in it 2004-10-08 Dan Williams * info-daemon/NetworkManagerInfo.c (main): - Initialize GError object to NULL 2004-10-08 Dan Williams * panel-applet/NMWirelessAppletDbus.c - Die if NetworkManagerInfo dies, since it manages our lifetime 2004-10-08 Dan Williams * info-daemon/NetworkManagerInfo.[ch] info-dameon/NetworkManagerInfoDbus.[ch] info-daemon/NetworkManagerInfoPassphraseDialog.[ch] - Preserve original label text in the passphrase dialog so that it actually gets updated with the new network name the next time around. Previously, we were overwriting it so you'd get the wrong network name to enter a key for - Add a "Key Type" combo to the passphrase dialog, user selects encryption key type now, type is stored in GConf too - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too * src/NetworkManagerAP.[ch] - Remove all the encyption method magic. It's now set by the user and NetworkManager retrieves the type of encryption key from NetworkManagerInfo * src/NetworkManagerAPList.[ch] src/NetworkManagerDbus.[ch] - Adjust to new way of setting encryption key and method - Pull encryption method down from NMI along with key * src/NetworkManagerDevice.[ch] - Removed encryption method fallback magic as the method is now determined by the user. This greatly simplifies the connection logic. - More robust connection/link logic. Besides removing the encryption method fallback magic, check whether or not the card is receiving invalidly encrypted packets, which usually indicates that we have a bad WEP key set. - Don't blindly forge ahead when DHCP fails (still not completely fixed) * test/nminfotest.c - Test out new "Key Type" stuff in the NMI passphrase dialog 2004-10-07 Dan Williams * info-daemon/NetworkManagerInfo.conf - Allow root user to run NMI too 2004-10-06 Dan Williams * src/NetworkManagerDevice.[ch] src/NetworkManagerDbus.c doc/NetworkManager DBUS API.txt - Add a new status tag "scanning", which is set when there is no active network connection, but NetworkManager is looking for an access point to associate with * panel-applet/main.c - Cast the applet appropriately for gtk_widget_show_all () Mon Oct 4 12:55:41 2004 Jonathan Blandford * panel-applet/eggtrayicon.[ch]: * panel-applet/main.c: Add missing file 2004-10-04 Dan Williams * src/NetworkManagerDevice.[ch] - Add a slightly more robust method of determining if the WEP key is correct or not, by checking the WEP-discarded packet count on the card * info-daemon/NetworkManagerInfo.c - (nmi_gconf_notify_callback): Fix GConf essid escaping, should un-escape values we pull out rather than escaping them 2004-10-03 Marcel Telka * configure.in (ALL_LINGUAS): Added sk. Fri Oct 1 18:26:03 2004 Jonathan Blandford * panel-applet/menu-info.c (nm_menu_wired_class_init): update look and feel. We should be back to working, and have a good, clean look. 2004-09-30 Dan Williams * info-daemon/NetworkManagerInfo.c info-daemon/NetworkManagerInfoDbus.c test/nminfotest.c - Escape ESSIDs in gconf * src/NetworkManagerDevice.c - Fix pseudo-scanning to use netowrk list from info daemon Wed Sep 29 18:18:24 2004 Jonathan Blandford * configure.in: Add a temporary --enable-notification-icon. This will prolly go away. * info-daemon/Makefile.am: * info-daemon/NetworkManagerInfo.c: * info-daemon/NetworkManagerInfo.h: Use a notification icon. * panel-applet/Makefile.am: * panel-applet/NMWirelessApplet.c: Turn into a notification icon * panel-applet/NMWirelessApplet.h: Tue Sep 28 16:35:20 2004 Jonathan Blandford * panel-applet/NMWirelessApplet.c: Fix deadlock. Add a separator before 'select custom ESSID'. * panel-applet/menu-info.c: Start rewrite for better headers. Not fully complete, but syncing in prep for merge. * panel-applet/icons/*png: New images 2004-09-28 Dan Williams * src/NetworkManager.c src/NetworkManagerDevice.c src/NetworkManagerPolicy.c - Don't blow away an active wired connection on startup 2004-09-28 Bryan Clark Changes from J5 * info-daemon/NetworkManagerInfo.conf: fixed own permissions * info-daemon/NetworkManagerInfoDbus.c: added service name to syslog output Wed Sep 22 14:19:48 2004 Jonathan Blandford * panel-applet/NMWirelessApplet.c: Only add essid's if we actually have a wireless card. Wed Sep 22 14:05:48 2004 Jonathan Blandford * panel-applet/NMWirelessApplet.c: move the custom essid item. Also, get the right device strings. Wed Sep 22 13:51:45 2004 Jonathan Blandford * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip the logic to make this right. * panel-applet/NMWirelessApplet.c (sort_networks_function): sort devices so that wired networks are always first. 2004-09-22 * initscript/Debian/.cvsignore: * initscript/Slackware/.cvsignore: Added new cvsignores for Makefile, Makefile.in * test/.cvsignore: Added nmtestdevices * src/NetworkManagerDevice.c: * src/NetworkManager.c: Updated the wireless/wired HAL device strings from net.ethernet to net.80203 or net.80211 depending on wired or wireless respectively * examples/python/NetworkManager.py: s/Quality/Strength/ * examples/python/systray/network_tray.py: Lots of little changes and fixes. been rotting for a while so I figured I'd finally sync them all with CVS Tue Sep 21 18:05:34 2004 Jonathan Blandford * configure.in: Add graphics * panel-applet/Makefile.am: Add graphics * panel-applet/icons/*: Add graphics * panel-applet/NMWirelessApplet.c: Use new menu times to display the icons fully lined up. * panel-applet/menu-info.c: * panel-applet/menu-info.h: Add another menu type. Fri Sep 17 14:04:34 2004 Jonathan Blandford * panel-applet/NMWirelessApplet.c: Redo the menu item code. * panel-applet/menu-item.[ch]: Wireless menu item. 2004-09-15 John (J5) Palmieri * info-daemon/NetworkManagerInfo.conf - Created a more robust security policy for the DBus service - everything is denied by default - root can own and send to the service - users logged in at the console can send to the service 2004-09-13 Dan Williams * src/NetworkManagerDevice.c - (nm_device_get_essid): use iw_get_basic_config() rather than iw_get_ext (SIOCGIWESSID) since prism54 cards don't like the latter 2004-09-13 Dan Williams * TODO: fix typo * docs/NetworkManager DBUS API.txt - Update for new signal strength changes * panel-applet/NMWirelessApplet.c - Make panel icon show strength of the current connection - Cleanups and memleak fixes * panel-applet/NMWirelessApplet.h - Add data members for signal strength on devices and networks * panel-applet/NMWirelessAppletDbus.c - Free more DBusErrors - Update for new signal strength changes - Make devices and networks more like real objects, use ref/unref methods - Actually unlock the mutex when updating the active device * src/NetworkManagerAP.c - Change AP functions and data members from "quality"->"strength" * src/NetworkManagerDbus.c - Kill "getMaxQuality" and "getQuality" methods - Add "getStrength" methods for Networks and Devices * src/NetworkManagerDevice.[ch] - Add accessors for device strength - Add functions to update strength for a device. Note that not all drivers actually support signal strength for scanned access points (Atmel drivers being one) - Calculate signal strength for each AP during scan * src/NetworkManagerWireless.[ch] - Add function to return signal strength % from a device and a raw quality struct * test/nmclienttest.c - Update for new signal strength changes 2004-09-11 Dan Williams * src/NetworkManager.c - Fix race condition between initscripts and NM on card insertion which could cause a card to keep an IP address and routes around even when it was not the active device * src/NetworkManagerDbus.c - Fix compile errors, free more DBusErrors 2004-09-11 Dan Williams * docs/NetworkManager DBUS API.txt - Add an explanation of NM's API * src/NetworkManagerDbus.c - Free some more DBusErrors if needed 2004-09-11 Dan Williams * panel-applet/NMWirelessApplet.c panel-applet/NMWirelessAppletDbus.c - Start using NetworkDevice/WirelessNetwork structures in more places - Update for unified device/network forcing in NetworkManager * src/NetworkManager.c - some code consolidation * src/NetworkManagerDbus.c - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one or two arguments: the first is the NM ID of the device to switch to, and the second (optional) argument is the ESSID of a wireless network to use as well. - Get rid of "setNetwork" method due to above change * src/NetworkManagerDevice.c - (nm_device_new): perform scan and update best AP on device creation - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel() - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and spin waiting for cancellation to finish before returning * src/NetworkManagerPolicy.c - Changes here clarify the situations in which a device switch occurs, and make sure to keep using a forced device and network if the user gives us one - Remove old unused code 2004-09-11 Martin Willemoes Hansen * configure.in: Added Danish (da) to ALL_LINGUAS. 2004-09-09 Dan Williams * panel-applet/NMWirelessAppletDbus.c - Pull fresh devices and networks from NM when wireless networks change. Provides faster feedback of a forced wireless network * src/NetworkManagerDbus.c - Return error when "getMaxQuality" is called on a wired device - Make best_ap freezing actually work again, and signal cancellation of activation if there's already a device activation when the user freezes the best_ap * src/NetworkManagerDevice.c - Don't clear out the best_ap for wireless devices when the link goes down, that's done elsewhere - Kill any dhcp daemons when cancelling device activation since they may be stuck waiting for a DHCP address, and since we're cancelling activation we don't care about that anymore * src/NetworkManagerPolicy.c - Make sure to unref the device we ref earlier (we refed it to make sure it stuck around during device activation and such) - If we were going to change the best device, but its activating currently (and therefore the change didn't occur due to the check earlier) we mark the state changed to we come back to it later when device activation has canceled and its no longer activating * src/backends/NetworkManagerRedHat.c - SIGKILL dhcp daemons rather than SIGTERM-ing them 2004-09-09 Bryan Clark * info-daemon/passphrase.glade: set passphrase input to activates_default : True * examples/python/systray/network_tray.py (network_tray.sort_networks): Added support for having wireless always scanning 2004-09-09 Dan Williams NOTE: this commit changes the behavior of wireless devices in NetworkManager. They are now up all the time, scanning all the time. Only the active device has an IP address and routing information set up however. Also, NetworkManager will no longer opportunistically switch wireless networks when a better one comes in range, it will remain associated with one wireless network until that one drops out. * panel-applet/NMWirelessApplet.c panel-applet/NMWirelessAppletDbus.c - List all wireless cards and their respective networks * src/NMLoadModules - Use full path to /sbin/ip * src/NetworkManager.c - Keep wireless devices up all the time so they can scan * src/NetworkManagerDbus.c - On a WirelessNetworkUpdate signal from NMI, don't update the "best" AP * src/NetworkManagerDevice.c - (nm_device_set_link_active): clear out the best ap for wireless devices when the link is set to FALSE - Scan on all wireless cards, all the time - (nm_device_activation_worker): split out the wireless card link-waiting code to a separate function - Keep wireless cards up even if device activation fails - Don't update the "best" ap as much * src/NetworkManagerPolicy.c - Don't update the best ap when checking if its frozen, let link checking clear out a frozen best ap for us * src/NetworkManagerWireless.c - Scan on all wireless cards, all the time 2004-09-09 Francisco Javier F. Serrador * configure.in: Added 'es' (Spanish) to ALL_LINGUAS. 2004-09-09 Ankit Patel * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS. 2004-09-09 Pablo Saratxaga * configure.in: Added Walloon (wa) to ALL_LINGUAS. 2004-09-08 Bryan Clark * examples/python/NetworkManager.py: added CONNECTED, CONNECTING, and DISCONNECTED states added methods to return number of devices of a single type * examples/python/systray/network_tray.py: did some tweaks to get the menu looking near what it is supposed to look like. Also did a Airo card hack to make it show the correct AP quality 2004-09-08 Dan Williams * panel-applet/no-networkmanager.png panel-applet/Makefile.am panel-applet/NMWirelessApplet.c - Add a "NetworkManager not running" icon and use it - Use new consolidated GConf keys rather than Preferred/Trusted * TODO: update * info-daemon/NetworkManagerInfo.c info-daemon/NetworkManagerInfoDbus.[ch] info-daemon/NetworkManagerInfoPassphraseDialog.c - There are now no longer two separate lists of wireless networks, but one list where each network is "trusted" or not trusted - Add a "getNetworkTrusted" dbus method - "WirelessNetworkUpdate" signal now sent rather than "PreferredNetworkUpdate/TrustedNetworkUpdate" signals - Start freeing some dbus errors (not completed yet) * info-daemon/passphrase.glade - Remove the "don't show" hints for pager and taskbar - Add a title since its going to be in the taskbar * src/NetworkManager.[ch] src/NetworkManagerAPList.[ch] - There are now no longer two separate lists of wireless networks, but one list where each network is "trusted" or not trusted * src/NetworkManagerAP.[ch] - Add get/set "trusted" accessors and data bit * src/NetworkManagerDbus.[ch] - Add function to get "trusted" status of a network from NetworkManagerInfo - Trap new WirelessNetworkUpdate signal rather than old separate signals * src/NetworkManagerDevice.[ch] - Add per-device config data (ip4 addr, gateway, netmask) and accessors - (nm_device_new): Get device config from backend when initializing devices - (nm_device_activation_worker): Split out device configuration on activation to deal with static/dynamic IP differences, and try encryption fallbacks on a device if the encryption method for the best AP is not good - (nm_device_update_best_ap): convert to new consolidated access point lists from NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it * src/NetworkManagerWireless.c - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it * src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerSystem.h - (nm_system_device_update_config_info): Add function to get device configuration from system data in ifcfg-* files * src/backends/NetworkManagerDebian.c src/backends/NetworkManagerGentoo.c src/backends/NetworkManagerSlackware.c - Add stub functions for getting device configuration 2004-09-07 Dan Williams * src/backends/NetworkManagerRedhat.c src/backends/NetworkManagerSlackware.c - Use full path to /sbin/ip everywhere 2004-09-07 Dan Williams Patch from: Narayan Newton * configure.in initscript/Makefile.am initscript/Slackware/Makfile.am initscript/Slackware/rc.networkmanager src/Makefile.am src/backends/NetworkManagerSlackware.c - Add Slackware support 2004-09-07 Dan Williams Patches below from: Mark Roach Thom May * configure.in initscript/Debian/NetworkManager initscript/Debian/Makefile.am - Initscript for Debian * src/backends/NetworkManagerDebian.c - Add missing system init function to allow compilation on Debian 2004-09-03 Raphael Higino * configure.in: Added 'pt_BR' to ALL_LINGUAS. 2004-09-03 Akagic Amila * configure.in: Added 'bs' to ALL_LINGUAS. 2004-09-02 Colin Walters * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp) (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use g_strdup_printf instead of arbitrarily sized buffers. 2004-09-01 Colin Walters * NetworkManager.pc.in: New file. * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc. 2004-09-01 Amanpreet Singh Alam * configure.in: Punjabi(pa) is added to po/. 2004-08-31 Dan Williams * Remove 'debug' extern global from all files since we now use syslog() * src/NetworkManager.[ch] - Break out routine that get the net.interface property from HAL, removing that logic from nm_create_device_and_add_to_list() - (nm_create_device_and_add_to_list): make this a bit more general so it doesn't do the talking to HAL. Also add arguments to facilitate the create of test devices. - (nm_data_mark_state_changed): rename from nm_data_set_state_modified() - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices" which makes NetworkManager listen for dbus commands to create test devices, which have no backing hardware. Use when you're on a plane for example, and/or forgot your wireless card at home. Test devices _cannot_ be created unless NM is started with --enable-test-devices. * src/NetworkManagerDbus.[ch] - New "getLinkActive" method for devices - New "setLinkActive" method for devices (only works on test devices) - New "createTestDevice" method on NetworkManager object to create a test device of a specified type (ie wired, wireless). UDI is created from scratch, as is the interface name. Only works when NM is started with --enable-test-devices switch. - New "removeTestDevice" method on NetworkManager object which removes a test device. Only works when NM is started with --enable-test-devices * src/NetworkManagerDevice.[ch] - Logic to facilitate test devices. Add variables to NMDevice struct to indicate whether a device is a test device or not, and what its link status is. - Deal with test devices in most functions. For those that work directly on hardware special-case test devices. - (nm_device_new): don't create a test device if test devices weren't enabled on the command-line. - (nm_device_update_link_active): split out logic for wired and wireless device link checking to separate functions to facilitate test device link checking. - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and don't make a distinction between System Authentication and Encryption (namely Cisco aironet), we use Open System auth when setting a WEP key on the card. We don't deal with Shared Key auth yet. - (nm_device_activation_worker): split the activation cancel check logic out into a separate routine nm_device_activation_cancel_if_needed() - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel() - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create a list of fake access points that they can "see" - (nm_device_is_test_device): return whether or not a device is a test device * src/NetworkManagerPolicy.c - (nm_policy_get_best_device): attempt to deal with wireless network selection, previously if you "locked"/forced NM to use a wireless device but then selected a wireless network for NM to use, it would switch to a wired device. So, if the active device is wireless and it has a "forced" best AP, use it if the "forced" best AP is still valid - (nm_state_modification_monitor): deal with NULL best devices, for example there were no usable network devices, or the last one was removed * src/backends/NetworkManager*.c - Deal with test devices, mostly just return success for operations like getting a DHCP address * test/nmtestdevices.c - Test tool to create/remove/link-switch test devices 2004-08-30 Bryan Clark * examples/python/NetworkManager.py: added convience functions has_wired_device and has_wireless_device * examples/python/systray/network_tray.py: cleaned up a bunch of cruft, added support for listing wireless networks just like the real applet. This is probably all I'm going to work on this applet from now on. TODO: add support for actually changing networks and devices * examples/python/NetworkManager.py (NetworkManager.get_device): changed "nm.networks" into a dict from a list so I can store all the cool information about networks in there * examples/python/systray/network_tray.py: Added nice message when you try to run without running make first * examples/python/NetworkManager.py: Bug fixes to the code so we get all the device information that we need in get_device() * examples/python/NMTester.py: Fixed _print_device_list to print_device_list 2004-08-29 Seth Nickell * configure.in: Actually properly setup the Debian backend in configure. 2004-08-29 Colin Walters * test/nminfotest.c: Include string.h and stdlib.h. (get_network_string_property, get_networks_of_type): Return NULL. * test/nmclienttest.c (get_device_name, get_active_device): Return NULL. * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just use strlen, fgets always NULL-terminates the string. * src/NetworkManagerDbus.c (nm_dbus_nmi_filter, dbus_message_get_member): Remove /* in comment. * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto. * src/NetworkManager.c (quit): Unused, delete. (nm_data_free): Cast arg to GFunc. * panel-applet/NMWirelessAppletDbus.c: Need to include string.h, and dbus-glib-lowlevel.h (the latter is needed for dbus_connection_setup_with_g_main at present). (nmwa_dbus_update_wireless_network_list): Parenthesize assignment in conditional. (nmwa_dbus_worker): Return NULL. * panel-applet/NMWirelessApplet.c (nmwa_redraw) (nmwa_get_menu_pos, nmwa_toplevel_menu_activate) (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables. (nmwa_populate_menu): Return NULL on failure, instead of just return; * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc. * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused variables. * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused, delete. 2004-08-29 Colin Walters * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return a GTimeVal instead of time_t. This is easier to work with, since time_t may be a long or double, we don't know. * src/NetworkManagerDbus.h: Update prototype. * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal instead of time_t. (nm_ap_get_timestamp): Update to return GTimeVal. (nm_ap_set_timestamp): Update to take GTimeVal. * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update to handle GTimeVal. * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle GTimeVal change. (nm_ap_list_print_members): Fix warnings in printf format. 2004-08-29 Colin Walters * panel-applet/NMWirelessApplet.c: Include config.h. 2004-08-29 Colin Walters * configure.in: Generate config.h. * configure.in: Dump dependency on OpenSSL; we can't use it since this package is GPL: http://www.gnome.org/~markmc/openssl-and-the-gpl.html Instead, check for libgcrypt, use it if available, otherwise use included MD5 code. * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c: Suck in from gnome-keyring, munge a bit. * src/Makefile.am (NetworkManager_SOURCES) : Include gnome-keyring-md5.h gnome-keyring-md5.c. (NetworkManager_LDADD) : Add dep on LIBGCRYPT_LIBS. * src/NetworkManagerWireless.c (nm_md5): New function, uses libgcrypt or included gnome-keyring md5 bits. (nm_wireless_128bit_key_from_passphrase): Use nm_md5. 2004-08-28 Kjartan Maraas * configure.in: Add «nb» and «no» to ALL_LINGUAS. 2004-08-27 Bryan Clark * examples/python/systray/Makefile: Updated the clean section * examples/python/systray/trayiconmodule.c: * examples/python/systray/trayicon.override: * examples/python/systray/network_tray.py: * examples/python/systray/eggtrayicon.h: * examples/python/systray/eggtrayicon.c: * examples/python/systray/Makefile: * examples/python/README: * examples/python/NetworkManager.py: * examples/python/NMTester.py: Initial commit of these python example files Fri Aug 28 2004 Dan Williams * panel-applet/NMWirelessApplet.c - Make current device bold - Show more user-friendly device name if we got one from hal * panel-applet/NMWirelessAppletDbus.c - Grab "info.product" key from hal for network devices - Cache the current active device 2004-08-27 Adam Weinberger * configure.in: Added en_CA to ALL_LINGUAS. 2004-08-27 Christian Rose * configure.in: Added "sv" to ALL_LINGUAS. Thu Aug 26 2004 Dan Williams * Tag NetworkManager-0.2 Thu Aug 26 17:23:16 2004 Jonathan Blandford * initscripts/Makefile.am * configure.in: Make pass distcheck * po/ChangeLog: added Thu Aug 26 2004 Dan Williams * panel-applet/NMWirelessApplet.c - Remove debugging code - Enable device switching from menus * panel-applet/NMWirelessAppletDbus.[ch] - Method for asking NM to switch devices * src/NetworkManagerDevice.c - Set dev->activating earlier, avoids race between the dbus signal of "DeviceActivating" and setting dev->activating (which is what NM's "status" method call looks at) Thu Aug 26 2004 Dan Williams * panel-applet/NMWirelessApplet.[ch] - Rework menu code to add devices to menu, and to show signal strength for each access point. Code cleanups too. * panel-applet/NMWirelessAppletDbus.c - Grab network devices from NetworkManager too - Grab quality information from NM for wireless networks * src/NetworkManagerDbus.[ch] - Add dbus methods for getting the HAL UDI from a device and for getting its base quality, if its wireless - Consolidate some functions (wireless network notifications, device notifications) - Add method for requesting NM to use a particular device * src/NetworkManager.c - Change for function consolidations from NetworkManagerDbus.c - Implement active device locking and user-requested devices (ie, tell NM to use a particular device instead of the one it autochose) * src/NetworkManagerDevice.c - Add method for getting the base quality of a device, if its wireless - Grab device base quailty info from iwlib during scans * src/NetworkManagerPolicy.c - Use a user-requested device rather than the auto-chosen device if we are told to Thu Aug 26 15:12:36 2004 Jonathan Blandford * Makefile.am: add po as a supdir * autogen.sh: use gnome-autogen.sh * initscript/Gentoo/.cvsignore: * initscript/RedHat/.cvsignore: Shut up cvs * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo. * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu), (nmwa_fill): Use gettext. * configure.in: add gettext support * po/.cvsignore: * po/NetworkManager.pot: * po/POTFILES.in: 2004-08-26 Seth Nickell * panel-applet/NMWirelessApplet.c: (nmwa_destroy), (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate), (nmwa_add_menu_item), (nmwa_menu_item_data_free), (nmwa_dispose_menu_items), (nmwa_populate_menu), (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new): * panel-applet/NMWirelessApplet.h: Use a menu bar instead of a button for the main clickable thingy. 2004-08-25 Dan Williams * src/NetworkManagerDevice.c - (nm_device_set_enc_key): always set device to "open" mode instead of turning encryption off, because the Cisco driver doesn't associate with WEP-enabled access points unless we are in "open" 2004-08-25 Dan Williams * src/NetworkManagerWireless.c - Don't try to defererence blank passphrases 2004-08-25 Dan Williams * panel-applet/NMWirelessApplet.c - Rebuild the menu whenever a user clicks 2004-08-25 Dan Williams * panel-applet/NMWirelessApplet.c - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones) when NM isn't around or when its not connected * src/NetworkManagerDevice.c - (nm_device_activation_worker): Make sure to reset dev->activating if we get canceled. 2004-08-25 Dan Williams * panel-applet/NMWirelessAppletDbus.c - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name for getting encryption, and don't stop on "val" once we've gotten it from NetworkManager. Short form: encryption should now show up. 2004-08-25 Dan Williams * panel-applet/NMWirelessApplet.c - Set ESSID on a gconf trusted network too when force-setting the wireless network to associate with 2004-08-25 Dan Williams * panel-applet/* - Rework the panel applet to do all DBUS communication in a separate thread 2004-08-25 Dan Williams * info-daemon/NetworkManagerInfo.[ch] - Remove "get_next_priority" function * info-daemon/NetworkManagerInfoDbus.[ch] - Convert "priority" functions to "timestamp" 2004-08-25 Dan Williams * src/NetworkManagerAP.[ch] - Add a "enc_method_good" member and accessors to an Access Point to signal when we've found the correct encryption method for an access point - Add a "timestamp" member and accessors, remove "priority" member and accessors (use timestamps instead) - Rename "wep_key"->"enc_key" - (nm_ap_get_enc_key_hashed): new, return the correct mangled key for a specified encryption method using the access points source encryption key/passphrase * src/NetworkManagerAPList.c - When updating a network with dbus, grab timestamp now instead of priority * src/NetworkManagerDBus.[ch] - Add signal for "DeviceActivating" - Switch priority->timestamp * src/NetworkManagerDevice.c - Change references of "wep_key" -> "enc_key" or "key" - Signal DeviceActivating when starting activation - When activating a wireless device, if the access point we are connecting to is encrypted, and we have a source key, try to generate a mangled key and use that (ie, generate real WEP key from a passphrase) - Rework device activation to fallback to other encryption methods if a previous one didn't work (ie, try mangling a key as a 104-bit passphrase first, then if that doesn't work fall back to direct hex key). - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of priority. We now prefer the latest access point used, rather than using a priority scheme - (nm_device_do_normal_scan): make the encryption method "unknown" on access points we've just discovered, and merge in correct info from the global access point lists 2004-08-25 Seth Nickell Patch from Matthew Garrett for adding Debian support. * src/Makefile.am: * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp), (nm_system_device_stop_dhcp), (nm_system_device_flush_routes), (nm_system_device_flush_addresses), (nm_system_enable_loopback), (nm_system_delete_default_route), (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns), (nm_system_load_device_modules): 2004-08-24 Dan Willemsen * src/NetworkManager.c src/backends/NetworkManagerGentoo.c src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerSystem.h - Implement preliminary Gentoo support, adding a nm_system_init function to the backend specification * configure.in - Distribution auto-detection, lowercase any user-fed distribution names * initscript/.cvsignore initscript/Makefile.am initscript/RedHat/Makefile.am initscript/RedHat/NetworkManager initscript/Gentoo/Makefile.am initscript/Gentoo/NetworkManager - Refactored initscript code separately for each distribution 2004-08-23 Dan Williams * configure.in src/Makefile.am src/NetworkManagerDevice.c src/NetworkManager.c src/NetworkManagerUtils.[ch] src/backends/NetworkManagerSystem.h src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerGentoo.c - Refactor system-specific code into separate backends for each distribution 2004-08-23 Dan Willemsen * dispatcher-daemon/NetworkManagerDispatcher.c info-daemon/NetworkManagerInfo.[ch] info-daemon/NetworkManagerInfoDbus.c info-daemon/NetworkManagerInfoPassphraseDialog.c src/NetworkManager.c src/NetworkManagerAP.c src/NetworkManagerAPList.c src/NetworkManagerDbus.c src/NetworkManagerDevice.c src/NetworkManagerPolicy.c src/NetworkManagerUtils.[ch] src/NetworkManagerWireless.c - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf * src/NetworkManager.c - Fixed usage wording for --no-daemon 2004-08-23 Dan Williams * panel-applet/NMWirelessApplet.c - Update our state every second to get more responsive panel icon - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that was causing our marching ants status blips to never move when looking for a wireless network * src/NetworkManagerDevice.c - (nm_device_activation_begin): return if activation has already begun - (nm_device_do_normal_scan): merge WEP key and priority from the trusted/preferred network into the device's access point when the scan list is processed 2004-08-23 Dan Williams * initscript/NetworkManager - Use NMLaunchHelper rather than sleeping * initscript/NMLaunchHelper.c Makefile.am - Add helper program that exits only when NM activates a device, or 10 seconds have passed, whichever happens first. This stops the boot processes until we have a network connection, which NM can't do because it daemonizes and brings the connection up in the background. Allows stuff like NFS to not die. 2004-08-20 Dan Williams * info-daemon/NetworkManagerInfoPassphraseDialog.c - (nmi_passphrase_dialog_ok_clicked): when updating the wep key for a network, set the essid as well since it may not exist yet - (nmi_passphrase_dialog_init): don't star out the passphrase field, since WEP keys/passphrases are long and prone to entry-error * panel-applet/Makefile.am panel-applet/wired.png - Add (pulled from system-config-network temporarily) * panel-applet/NMWirelessApplet.[ch] - Show wired picture when a wired connection is used - Rename wireless icon enums, adding WIRELESS * src/NetworkManagerDevice.c - (nm_device_activate_wireless): unset encryption before bringing down the card and setting the essid - (nm_device_activatin_worker): request a key from the user if the AP we are connecting to is encrypted but we don't have a key for it yet - (nm_device_set_user_key_for_network): fix missing '== 0' for a strcmp() that prevented a user-entered key from actually getting used 2004-08-16 Dan Williams * initscript/NetworkManager - Check for /sbin/ip - Do sysctl magic that network service does - sleep 4s after start to allow network time to come up [hack] * src/Makefile.am src/NMLoadModules - Load all network device kernel modules (hal doesn't know devices are ethernet until the module is loaded, and therefore we don't know) * src/NetworkManager.c - (main): daemonize later, launch NMLoadModules to alert HAL of our network devices, and bring up the loopback device explicitly * src/NetworkManagerUtils.[ch] - (nm_enable_loopback): new function 2004-08-13 Dan Williams * configure.in panel-applet/Makefile.am - Fix up cleanfiles and server_DATA/server_in_files * README - Update with some comments on theory of operation * CONTRIBUTING Makefile.am - Add CONTRIBUTING 2004-08-12 Dan Williams * info-daemon/passphrase.glade - Set window title to " " * panel-applet/Makefile.am panel-applet/keyring.png - Deliver to correct place * panel-applet/NMWirelessApplet.[ch] - Add comments - Remove applet->have_active_device as its no longer used - (nmwa_load_theme): load keyring.png too - (error_dialog): remove - (show_warning_dialog): subsume functionality of error dialog too - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient - (nmwa_handle_network_choice): add to deal with user clicking on an item from the networks menu - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup and when we get broadcasts of changed wireless access points only, not when the user clicks on the button to display the menu (too long of a wait) - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside networks that are encrypted - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each menu item with g_object_set_data() * panel-applet/NMWirelessAppletDbus.[ch] - (nmwa_dbus_get_bool): add method to return boolean value from dbus message - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network) - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device activation/deactivation signals and rebuild the menu when they happen * src/NetworkManager.c - (main): use new nm_spawn_process() rather than system() * src/NetworkManagerDbus.c - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids instead. Since we can now force best_aps to stick around, the AP structure to which dev->options.wireless.best_ap points to won't necessarily be in the device's device list if a scan has happened since the best_ap was frozen. Also add "setNetwork" method to freeze the best_ap. * src/NetworkManagerDevice.[ch] - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system() - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's ap list * src/NetworkManagerUtils.[ch] - (nm_spawn_process): add replacement for system() usage 2004-08-11 Dan Williams * panel-applet/NMWirelessApplet.[ch] - Fix up copyright and credits to include Bastien and Eskil, who created the gnome-applets wireless applet, from whose skeleton this one was created - Rework nmwa_update_state()/nmwa_draw() so that state and which pixmap to draw is computed during nmwa_update_state() - Applet now shows itself all the time due to panel packing issues which caused the applet to previously never come back after hiding. When a wired device is the active device, the applet shows "not connected" * panel-applet/NMWirelessAppletDbus.[ch] - Clean up error messages and show what function they are from - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device() - Add new device type getters, and a status getter * src/NetworkManagerDbus.c - (nm_dbus_devices_handle_request): Don't return an active network unless that network is actually in the device's ap list - (nm_dbus_nm_message_handler): Fix silly mistake returning status * src/NetworkManagerDevice.c - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the card * test/nmclienttest.c - Report status of NetworkManager too 2004-08-11 Dan Williams * info-daemon/NetworkManagerInfo.c: - (main): clean up Seth's code style * info-daemon/NetworkManagerInfoDbus.c: - Use the more aptly-named path/service/interface constants from NetworkManager - Don't return empty strings ("") as object paths ever, instead return errors * panel-applet/NMWirelessApplet.c: - Clean up Seth's code style * src/NetworkManager.[ch] - (nm_remove_device_from_list): remove anything having to do with pending_device - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon * src/NetworkManagerAPList.[ch] - Move Iter struct right above the iter functions to preserve opacity - (nm_ap_list_remove_ap): implement - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(), remove AP if NetworkManagerInfo doesn't know anything about it - (nm_ap_list_diff): user NMAPList iterators - (nm_ap_list_print_members): implement debugging function * src/NetworkManagerDbus.[ch] - (nm_dbus_nm_get_active_device): remove anything to do with pending_device - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused), and move the actual key setting stuff into NetworkManagerDevice.c - (nm_dbus_get_network_priority): return -1 now on errors - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to get lost, and force the active device to update its "best" ap when AP lists change - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status" method call due to pending_device member removal * src/NetworkManagerDevice.[ch] - Move NMDevice structure to the top - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure - Remove Pending Action stuff from everywhere - (nm_device_activation_*): We now "begin" activation and start a thread to do the activation for us. This thread blocks until all conditions for activation have been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and then setup up the interface and runs dhclient. We have to do this because there is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot run our main loop and respond to dbus method calls or HAL device removals/inserts - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we can tell nm_device_activation_worker() that we've got a key - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list) - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here * src/NetworkManagerPolicy.c - Remove anything to do with pending_device - Adjust device activation to deal with activation-in-worker-thread * src/NetworkManagerUtils.c - Clean up locking debugging a bit * src/NetworkManagerWireless.[ch] - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap(). This function was badly named and is better as a device function * panel-applet/.cvsignore: add 2004-08-09 Seth Nickell * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler), (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets), (nmwa_new): * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter): Don't load the menus until clicked on (also removes a call outside normal code paths at first load). Hide applet when NM is not present. Improve printf debugging stuff. 2004-08-09 Dan Williams * dispatcher-daemon/NetworkManagerDispatcher.c: - Covert uses of dbus_message_iter_* over to dbus_message_get_args - Use constants for NetworkManager interface, service, and path 2004-08-09 Dan Williams * src/NetworkManagerDbus.c: - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path, instead return an error message - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called on a wired device. Also never return an empty object path, instead return an error message 2004-08-06 Seth Nickell * panel-applet/NMWirelessApplet.c: (nmwa_new): Check the error code when getting a connection. * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init): Check if the NM service exists when initializing (rather than assuming it does not). * src/NetworkManagerDbus.c: (nm_dbus_init): Don't acquire the well-known service name until we have registered object/path handlers and can actually receive calls. 2004-08-06 Dan Williams * panel-applet/* - Add panel applet * src/NetworkManagerPolicy.c src/NetworkManager.c - Get access point lists from NetworkManagerInfo on-demand, and look for ServiceCreate/ServiceDeleted signals to see when we should query NMI for lists * src/NetworkManagerAPList.c - Make sure to init the list's mutex - Convert traversals of the list over to the list iter functions * src/NetworkManagerDbus.[ch] - Use more aptly-named path/service/interface constants - Treat both active and pending devices the same for "getActiveDevice" - Add a "status" method returning "connected", "connecting", or "disconnected" * src/NetworkManagerDevice.c - Honor "ignored" network list when picking best ap to use 2004-08-06 Seth Nickell * aclocal.m4: Autogenerated, remove from CVS. * autogen.sh: Don't hardcode automake version. * configure.in: * info-daemon/Makefile.am: * info-daemon/NetworkManagerInfo.c: (main): Use GnomeProgram et al. for doing session management. Use popt stuff for argument parsing rather than doing it manugally. 2004-08-05 Dan Williams * test/nminfotest.c - Update to new NMI dbus API, check different network types * info-daemon/NetworkManagerInfoDbus.c - Update to new NM dbus API, ie network type sent in query message 2004-08-05 Dan Williams * An assload of changes 2004-08-02 Dan Williams * 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 2004-07-29 Dan Williams * info-daemon/NetworkManagerInfoDbus.c src/NetworkManagerDbus.c - Update to current DBus (ie don't use decomposed paths when registering object paths/fallbacks) 2004-07-27 Dan Williams * Remove various Makefile.in files * TODO - Add some more items * configure.in - Add checks for OpenSSL/md5 headers and libs * src/Makefile.am - Use OpenSSL CFLAGS * src/NetworkManagerAP.[ch] - Remove 'stamp' functions, replace with 'invalid' functions to support user cancelling WEP key entry * src/NetworkManagerDbus.c - Remove 'stamp' return functions - Treat returned user key as a passphrase and convert to a WEP key, but don't actually use the WEP key yet. We use the returned user key as a hexadecimal WEP key until we can figure out a UI for passphrase-vs-hex key * src/NetworkManagerWireless.[ch] - Add passphrase-to-128bit-key function 2004-07-27 Dan Williams * TODO - Add a couple of items 2004-07-27 Dan Williams * info-daemon/NetworkManagerInfo.c - Update allowed network's GConf key when user enters a WEP key explicitly * info-daemon/NetworkManagerDbus.c - Fix some comments - nmi_dbus_get_allowed_networks(): kill warning 2004-07-27 Dan Williams * initscript/Makefile.in - Remove * initscript/Makefile.am - Add correct rules to install the init.d initscript * info-daemon/NetworkManagerInfoDbus.c - Remove debug fprintf * src/NetworkManagerDbus.[ch] - Remove debug fprintfs - Add macros for NetworkManagerInfo object path/namespace - Use said macros instead of constant strings 2004-07-27 Dan Williams * initscript/.cvsignore - Add * info-daemon/Makefile.am - Install .glade files and keyring.png - Fix stupid omission of a \ that caused half the flags not to be passed to gcc * info-daemon/NetworkManagerInfo.c - gtk_signal_connect->g_signal_connect - Alert NetworkManagerInfo to new glade file location 2004-07-27 Dan Williams * test/nmclienttest.c test/nminfotest.c - Add missing headers - Add GPL message at top 2004-07-27 Dan Williams * src/NetworkManagerAPList.[ch] src/Makefile.am - Add. Deal with allowed network list additions, deletions, and updates * dispatcher-daemon/NetworkManagerDispatcher.c - Add missing header * info-daemon/NetworkManagerInfo.[ch] - Add missing header - Implement the GConf notify callback to signal NetworkManager of an allowed network change - Better error checking * info-daemon/NetworkManagerInfoDbus.[ch] - Add missing header - Convert to using dbus_message_append_args/dbus_message_get_args - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager that an allowed network changed. We don't want to signal on individual keys _inside_ an allowed network really, just want NM to query the info daemon for updated info on all keys. - Better error checking * src/NetworkManager.[ch] - Add missing header - Move allowed_ap_list free functions to NetworkManagerAPList.[ch] - Zero out NMData structure on free - No longer use a thread for allowed_ap_list updating, instead its now done through dbus queries against NetworkManagerInfo - Populate allowed_ap_list initially before adding existing network devices to the device list, so wireless devices can get their "best" AP * src/NetworkManagerDbus.[ch] - Convert to using dbus_message_append_args/dbus_message_get_args - Better error checking - Implement Allowed Network info functions to request allowed network info from NetworkManagerInfo - Implement the filter function to process signals from NetworkManagerInfo about changing allowed networks * src/NetworkManagerDevice.c - Fix file descriptor leak in nm_device_update_ip4_address() 2004-07-27 Dan Williams * .cvsignore src/.cvsignore test/.cvsignore dispatcher-daemon/.cvsignore info-daemon/.cvsignore - Add .cvsignore files to reduce noise when diffing 2004-07-24 Dan Williams * src/NetworkManager.[ch] src/NetworkManagerDbus.[ch] src/NetworkManagerDevice.[ch] src/NetworkManagerPolicy.c src/NetworkManagerWireless.[ch] - Add many more g_return_if_fail()/g_return_val_if_fail() checks - Pass the NMData application data structure through all calls that need it so we can get rid of nm_get_global_data() - Change deallocation of the allowed_ap_list GSList in preparation for not completely clearing it every time we get an update, but instead getting incremental updates via GConf/dbus 2004-07-22 Dan Williams * configure.in - Add checks for GConf libs & headers & flags * info-daemon/Makefile.am - Add GConf flags & libs to compile/link stages of NetworkManagerInfo * info-daemon/NetworkManagerInfo.[ch] - Don't use gquarks for data storage, just use normal data storage - Add gconf bits to watch /system/networking/wireless/allowed_networks * info-daemon/NetworkManagerDbus.[ch] - Add method call for getting allowed networks - Add method calls for getting an allowed network's essid, priority, and key - Hook the method calls up to GConf - Split user key dialog code into separate function (nmi_dbus_get_key_for_network) - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending * src/NetworkManagerDbus.[ch] - Switch for enumeration of networks to using essid instead * test/Makefile.am test/nminfotest.c - Add test program for NetworkManagerInfo 2004-07-19 Dan Williams * src/NetworkManagerDbus.c - Switch from indexed device paths to names. Less code, more efficient. ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0" 2004-07-19 Dan Williams * dispatcher-daemon/NetworkManagerDispatcher.c - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal 2004-07-19 Dan Williams * Makefile.am - Add info-daemon directory * configure.in - Check for glade libs and headers - Add info-daemon directory * src/NetworkManagerAP.c - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting copied over to the new AP. * src/NetworkManagerDbus.c src/NetworkManagerDbus.h - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change - Remove nm_dbus_signal_need_key_for_network() - Add disabled code for asynchronous user wep key callbacks - Add functions for getting, setting, and cancelling user key operations - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead - Add "setKeyForNetwork" dbus method call on NetworkManager object * src/NetworkManagerDevice.c src/NetworkManagerDevice.h - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong logic is in device activation now - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps key is wrong) trigger get-user-key pending action - Implement get-user-key pending action stuff, tie to dbus messages - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index() - Add nm_device_ap_list_get_ap_by_essid() - Instead of copying "best" access points, ref them instead so that the key we set sticks around * src/NetworkManagerPolicy.c - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE) - Don't cancel pending actions on a device if its the same device as last iteration - Only promote pending_device->active_device if activation was successfull * src/Makefile.am - Rename nmclienttest->nmtest * info-daemon/Makefile.am info-daemon/NetworkManagerInfo.c info-daemon/NetworkManagerInfo.h info-daemon/NetworkManagerInfoDbus.c info-daemon/NetworkManagerInfoDbus.h info-daemon/passphrase.glade info-daemon/NetworkManagerInfo.conf info-daemon/keyring.png - Import sources for info-daemon, which pops up dialog for passphrase/key when NetworkManager asks for it, and also will (soon) provide "allowed" access point lists to NetworkManager by proxying user's GConf 2004-07-15 Dan Williams * src/Makefile.am - Turn on warnings * src/NetworkManager.c - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather that doing the deactivation ourselves - Cancel an pending actions on a device if its being removed - Break up link state checking a bit, make non-active wireless cards deactivated to save power - Remove unused variables * src/NetworkManager.h - Add support for "pending" device * src/NetworkManagerAP.h src/NetworkManagerAP.c - Add support for determining whether and AP has encryption enabled or not - AP address is now "struct ether_addr" rather than a string * src/NetworkManagerDbus.h src/NetworkManagerDbus.c - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only) - Changes for AP address from struct ether_addr->string * src/NetworkManagerDevice.h src/NetworkManagerDevice.c - Remove unused variables, fix warnings - Add support for Pending Actions (things that block a device from being "active" until they are completed). - First pending action: Get a WEP key from the user - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless() - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless() - Update wireless link checking to try to determine if the AP we are associated with is correct, but the WEP key we are using is just wrong. If its wrong, trigger the GetUserKey pending action on the device - If dhclient can't get an IP address, it brings the device down. Bring it back up in that case, otherwise we can't scan or link-check on it - Add IP address change notifications at appropriate points (still needs some work) - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not * src/NetworkManagerPolicy.h src/NetworkManagerPolicy.c - Split out "best" access point determiniation into separate function - Make device activation 2-stage: first the device is pending, then in the next iteration through it becomes "active" unless it has pending actions * src/NetworkManagerUtils.h src/NetworkManagerUtils.c - Clean up unused variables and warnings - Wrap our debug macros in {} to prevent possible confusion * src/NetworkManagerWireless.c - Forgot to return current best priority, which lead to last available AP always being chosen no matter what its priority was. Corrected. 2004-07-15 Dan Williams * dispatcher-daemon/Makefile.am - Turn on warnings * dispatcher-daemon/NetworkManagerDispatcher.c - Remove unused variables due to warnings - Fix some comments - Print message on receipt of NeedKeyForNetwork signal (testing only) 2004-07-06 Dan Williams * src/NetworkManager.c - Add IPv4 address update for active device during link state check - Don't allow wireless cards to be powered up when they are not the active device * src/NetworkManagerDbus.c src/NetworkManagerDbus.h - Add DBUS IPv4 address change signal - Add DBUS IPv4 address get method for devices * src/NetworkManagerDevice.c - Make setting the WEP key actually work - Move IP address get/set/update stuff here, per-device - Power down/bring down wireless device when deactivated - For scanning wireless devices, if first scan returned ENODATA, try again * src/NetworkManagerPolicy.c - Only set the WEP key for an allowed access point if there is one. We were setting it to be blank if one wasn't specified. * src/NetworkManagerUtils.h src/NetworkManagerUtils.c - Move the IP address stuff to NetworkManagerDevice.c * dispatcher-daemon/NetworkManagerDispatcher.c - Add device IPv4 address change notification stuff 2004-07-05 Dan Williams * dispatcher-daemon/NetworkManagerDispatcher.c - A bit more descriptive state message - Don't segfault when reading directory * src/NetworkManager.h - Remove NMData desired_ap member, its now per-device rather than global * src/NetworkManager.c - Remove references to desired_ap - Move the allowed AP list refresh stuff into a thread * src/NetworkManagerDevice.c src/NetworkManagerDevice.h - Each wireless device now has a "best ap" - Make device activate/deactivate functions per-device - Make wireless scanning per-device - Add IPv4 address discover functions, stub IPv6 ones - Move ethernet address validation functions to NetworkManagerUtils.c - Add wireless access point accessor function - Get/Set functions for "best ap" * src/NetworkManagerPolicy.c - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device - Deal with per-device "best ap" rather than data->desired_apa - Implement allowed access point worker thread - Add nm_policy_essid_is_allowed() function * src/NetworkManagerUtils.c src/NetworkManagerUtils.h - Add nm_ethernet_address_is_valid() function - Add IPv4/IPv6 address get functions * src/NetworkManagerWireless.c src/NetworkManagerWireless.h - Move scanning stuff into NetworkManagerDevice.c, per-device 2004-06-29 Dan Williams * dispatcher-daemon/NetworkManagerDispatcher.c - Implement script callout functionality 2004-06-24 Dan Williams * NetworkManager.c - Spacing cleanups - Flush device routes and ip addresses when added to the device list * NetworkManagerDbus.c - Spacing cleanups - Add missing returns in the two signal functions * NetworkManagerPolicy.c - Spacing and variable cleanups 2004-06-24 Dan Williams * Makefile.am Makefile.in configure.in dispatcher-daemon/Makefile.am dispatcher-daemon/Makefile.in dispatcher-daemon/NetworkManagerDispatcher.c - Add a daemon that receives signals from NetworkManager and will (eventually) call scripts in /etc/somewhere when devices go up or down. * NetworkManager.c - Spacing cleanups - Flush device routes and ip addresses when added to the device list * NetworkManagerDbus.c - Spacing cleanups - Add missing returns in the two signal functions * NetworkManagerPolicy.c - Spacing and variable cleanups - Rename nm_policy_switch_interface->nm_policy_switch_device - nm_policy_switch_device(): Use kill (pid) instead of system ("kill ") - nm_state_modification_monitor(): Add wireless essid to output of debug statements Correct typo in device compare to switch or not (should be !=) Don't sleep after sending "no longer active" signal, was useless 2004-06-24 Dan Williams * Initial import