diff options
author | Michael Biebl <biebl@debian.org> | 2010-11-29 00:47:11 +0100 |
---|---|---|
committer | Michael Biebl <biebl@debian.org> | 2010-11-29 00:47:11 +0100 |
commit | 9fae01fa351805b2903e535736e06971bc0b925e (patch) | |
tree | c19bccf84c9f894e50fae678ba6ee2b2044e2d30 /ChangeLog |
Imported Upstream version 0.8.1upstream/0.8.1
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 22187 |
1 files changed, 22187 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 000000000..d529664b9 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,22187 @@ +2008-12-11 Dan Williams <dcbw@redhat.com> + + * Move NetworkManager to git.freedesktop.org + - git clone git://git.freedesktop.org/git/NetworkManager/NetworkManager.git + +2008-12-09 Dan Williams <dcbw@redhat.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-ip4-config.c + libnm-util/nm-setting-ip4-config.h + - Add 'never-default' property, which when true indicates that a + connection should never be the default connection + + * src/nm-ip4-config.c + src/nm-ip4-config.h + - (nm_ip4_config_get_never_default, nm_ip4_config_set_never_default): + Add never-default helpers + + * src/NetworkManagerUtils.c + - (nm_utils_merge_ip4_config): update never-default when merging the + IP4 setting to the IP4 config + + * src/NetworkManagerSystem.c + - (nm_system_apply_ip4_config): if the connection is never-default, + don't add routes without a gateway + + * src/NetworkManagerPolicy.c + - (get_best_device): don't let never-default connections be the best + - (update_routing_and_dns): handle never-default for VPN connections + + * system-settings/plugins/ifcfg-rh/reader.c + - (make_ip4_setting): handle never-default by checking GATEWAYDEV + +2008-12-08 Dan Williams <dcbw@redhat.com> + + * src/vpn-manager/nm-vpn-connection.c + - (plugin_state_changed): clear secrets before setting the connection + state to FAILED, since doing so may destroy the connection itself, + since the NMVPNService owning this NMVPNConnection will unref it + when the NMVPNConnection is failed or stopped + +2008-12-05 Dan Williams <dcbw@redhat.com> + + Patch from Michael Biebl <mbiebl@gmail.com> + + * libnm-glib/Makefile.am + - Bump libnm-glib revision to indicate new API + - Give libnm-util version info + + * libnm-util/Makefile.am + - Bump libnm-util soname to indicate API/ABI break with 0.6 + +2008-11-26 Dan Williams <dcbw@redhat.com> + + * Release NetworkManager 0.7 + +2008-11-26 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-settings.c + libnm-glib/nm-settings.h + - (nm_exported_connection_delete): rename 'delete' to 'do_delete' to + avoid using C++ reserved keywords in headers + + * libnm-glib/nm-dbus-connection.c + system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.c + system-settings/plugins/ifcfg-suse/nm-suse-connection.c + system-settings/plugins/ifupdown/nm-ifupdown-connection.c + system-settings/plugins/keyfile/nm-keyfile-connection.c + system-settings/src/nm-sysconfig-connection.c + - Change 'delete' to 'do_delete' + +2008-11-25 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-rh + - Rename 'ifcfg-fedora' to 'ifcfg-rh'; it's not just used on Fedora + + * system-settings/src/main.c + - (load_plugins): transparently handle ifcfg-fedora as ifcfg-rh + +2008-11-25 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + Fix mishandling of netlink error floods (rh #459205, novell #443429, lp #284507) + + * src/nm-netlink-monitor.c + - Remove bits for using a non-default GMainContext, which weren't used + - (nm_netlink_monitor_error_handler): don't leak the GError, and report + the actual error code + + * src/NetworkManager.c + - (nm_error_monitoring_device_link_state): disconnect error handler when + an error flood occurs to avoid pegging the CPU + +2008-11-23 Dan Williams <dcbw@redhat.com> + + * callouts/nm-dispatcher-action.c + - (construct_envp, nm_dispatcher_action): pass connection UUID to + scripts in the environment + +2008-11-21 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * configure.in + libnm-util/libnm-util.ver + libnm-util/nm-setting-8021x.c + libnm-util/nm-setting-8021x.h + - Add configure-time option for the system CA path + - Add 'system-ca-certs' option to 802.1x setting, which directs + NetworkManager to use system CA certificates instead of any + connection-defined CA certificates + + * src/supplicant-manager/nm-supplicant-config.c + src/supplicant-manager/nm-supplicant-settings-verify.c + - Use system CA certificates if the connection says to do so + +2008-11-21 Dan Williams <dcbw@redhat.com> + + * src/nm-dbus-manager.c + src/nm-dbus-manager.h + - (nm_dbus_manager_get_name_owner): return error + + * src/nm-manager.c + - (impl_manager_activate_connection): perform additional validation on + ActivateConnection calls of user connections + - (is_user_request_authorized): ensure that the requestor is the same + UID as the UID that owns the user settings service; users shouldn't + be able to control another user's connections + +2008-11-21 Dan Williams <dcbw@redhat.com> + + * gfilemonitor/inotify-sub.c + - (dup_dirname): actually remove trailing '/' (bgo #561807) + +2008-11-21 Tambet Ingo <tambet@gmail.com> + + * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings): Make suse + plugin compile again. + +2008-11-20 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * libnm-util/nm-setting.c + libnm-util/nm-setting.h + - (NMSettingValueIterFn): instead of just a gboolean for secrets, take + all the GParamSpec flags of the property + + * system-settings/plugins/keyfile/nm-keyfile-connection.c + system-settings/plugins/keyfile/reader.c + system-settings/plugins/keyfile/writer.c + - Update for NMSettingValueIterFn change + +2008-11-20 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-utils.c + libnm-util/nm-utils.h + - More documentation updates + +2008-11-20 Dan Williams <dcbw@redhat.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-utils.c + libnm-util/nm-utils.h + libnm-util/nm-utils-private.h + libnm-util/nm-connection.c + - (nm_utils_register_value_transformations): make private, called + from NMConnection registration anyway + +2008-11-20 Dan Williams <dcbw@redhat.com> + + * libnm-util/Makefile.am + libnm-util/nm-utils-private.h + - New header for internal utils private functions + + * libnm-util/libnm-util.ver + libnm-util/nm-utils.c + libnm-util/nm-utils.h + - Document some functions + - (nm_utils_string_in_list, nm_utils_string_list_contains, + nm_utils_string_slist_validate): un-export, only used within + libnm-util or of limited use in general, and very easy to + re-implement by apps if needed + + * libnm-util/nm-setting-8021x.c + libnm-util/nm-setting-wired.c + libnm-util/nm-setting-wireless-security.c + libnm-util/nm-setting-wireless.c + - Update for private nm_utils_string_* functions + +2008-11-20 Dan Williams <dcbw@redhat.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting.c + libnm-util/nm-setting.h + - Add NMSetting errors + - (nm_setting_update_secrets): return errors + + * libnm-util/nm-connection.c + libnm-util/nm-connection.h + - (nm_connection_update_secrets): return errors + + * libnm-util/nm-setting-vpn.c + src/nm-activation-request.c + src/vpn-manager/nm-vpn-connection.c + - Handle update secrets errors + +2008-11-20 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + libnm-util/nm-setting.h + libnm-util/libnm-util.ver + - (nm_setting_new_from_hash): rename from nm_setting_from_hash() to be + consistent with nm_connection_new_from_hash() + + * src/nm-activation-request.c + libnm-util/nm-connection.c + - Handle rename + +2008-11-19 Dan Williams <dcbw@redhat.com> + + * configure.in + Makefile.am + docs/libnm-util/Makefile.am + docs/libnm-util/libnm-util.types + - Start to document libnm-util + +2008-11-19 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-connection.h + libnm-util/nm-connection.c + - Document public functions + +2008-11-19 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.h + libnm-util/nm-setting.c + src/nm-device.c + src/nm-manager.c + system-settings/plugins/ifcfg-fedora/plugin.c + - Prefix compare flag defines with NM_SETTING_ + +2008-11-19 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-connection.c + libnm-util/nm-connection.h + - (nm_connection_replace_settings): take a GError + + * libnm-glib/nm-settings.c + libnm-glib/nm-dbus-connection.c + src/nm-manager.c + system-settings/plugins/ifcfg-suse/nm-suse-connection.c + system-settings/plugins/keyfile/nm-keyfile-connection.c + system-settings/plugins/keyfile/plugin.c + - Handle, or don't handle, errors from nm_connection_replace_settings() + +2008-11-19 Dan Williams <dcbw@redhat.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-connection.c + - (nm_setting_register, nm_setting_unregister): unexport; they are + private and don't have a use outside libnm-util + +2008-11-17 Dan Williams <dcbw@redhat.com> + + * src/nm-hso-gsm-device.c + - (real_connection_secrets_updated): handle PIN/PUK correctly for HSO + devices + +2008-11-17 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/reader.c + - (read_mac_address): clean up + - (make_wireless_setting): pass NULL array to read_mac_address() like it + expects + + * system-settings/plugins/ifcfg-fedora/plugin.c + - (read_one_connection): don't segfault on NULL errors + +2008-11-14 Dan Williams <dcbw@redhat.com> + + * Tag 0.7.0-rc2 + +2008-11-14 Dan Williams <dcbw@redhat.com> + + Handle gateways on different subnets + + * src/NetworkManagerSystem.c + - (add_ip4_route_to_gateway): gateway route should be link scope and + a host route + - (replace_default_ip4_route): use a destination address too; gateway + address should be /0; don't leak the gateway route object + +2008-11-14 Dan Williams <dcbw@redhat.com> + + * libnm-glib/libnm_glib.ver + libnm-glib/nm-dbus-settings-system.c + libnm-glib/nm-dbus-settings-system.h + - Add libnm-glib bits for CanModify + +2008-11-14 Dan Williams <dcbw@redhat.com> + + * introspection/nm-settings-system.xml + system-settings/src/dbus-settings.c + system-settings/src/dbus-settings.h + - Add a "CanModify" property to indicate if any plugins support + connection modification + +2008-11-14 Dan Williams <dcbw@redhat.com> + + Relicense libnm-glib to LGPLv2+ with agreement from contributors + +2008-11-14 Dan Williams <dcbw@redhat.com> + + * vpn-manager/nm-vpn-connection.c + - (plugin_state_changed): clear VPN secrets on error to ensure they + are always requested from the settings service (rh #429287) + +2008-11-13 Dan Williams <dcbw@redhat.com> + + * libnm-util/crypto.c + - (crypto_get_private_key_data): fix bad initial arg type checking + from pkcs#12 patch + +2008-11-13 Dan Williams <dcbw@redhat.com> + + Add support for PKCS#12 private keys (bgo #558982) + + * libnm-util/crypto.c + libnm-util/crypto.h + - (parse_old_openssl_key_file): rename from parse_key_file(); adapt to + take a GByteArray instead of a filename + - (file_to_g_byte_array): handle private key files too + - (decrypt_key): take a GByteArray rather than data + len + - (crypto_get_private_key_data): refactor crypto_get_private_key() into + one function that takes a filename, and one that takes raw data; + detect pkcs#12 files as well + - (crypto_load_and_verify_certificate): detect file type + - (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection + functions + + * libnm-util/crypto_gnutls.c + - (crypto_decrypt): take GByteArray rather than data + len; fix a bug + whereby tail padding was incorrectly handled, leading to erroneous + successes when trying to decrypt the data + - (crypto_verify_cert): rework somewhat + - (crypto_verify_pkcs12): validate pkcs#12 keys + + * libnm-util/crypto_nss.c + - (crypto_init): enable various pkcs#12 ciphers + - (crypto_decrypt): take a GByteArray rather than data + len + - (crypto_verify_cert): clean up + - (crypto_verify_pkcs12): validate pkcs#12 keys + + * libnm-util/test-crypto.c + - Handle pkcs#12 keys + + * libnm-util/nm-setting-8021x.c + libnm-util/nm-setting-8021x.h + libnm-util/libnm-util.ver + - Add two new properties, 'private-key-password' and + 'phase2-private-key-password', to be used in conjunction with + pkcs#12 keys + - (nm_setting_802_1x_set_ca_cert_from_file, + nm_setting_802_1x_set_client_cert_from_file, + nm_setting_802_1x_set_phase2_ca_cert_from_file, + nm_setting_802_1x_set_phase2_client_from_file): return certificate + type + - (nm_setting_802_1x_get_private_key_password, + nm_setting_802_1x_get_phase2_private_key_password): return private + key passwords + - (nm_setting_802_1x_set_private_key_from_file, + nm_setting_802_1x_set_phase2_private_key_from_file): set the private + key from a file, and update the private key password at the same time + - (nm_setting_802_1x_get_private_key_type, + nm_setting_802_1x_get_phase2_private_key_type): return the private + key type + + * src/supplicant-manager/nm-supplicant-settings-verify.c + - Whitelist private key passwords + + * src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys, + add the private key password to the supplicant config, but do not + add the client certificate (as required by wpa_supplicant) + +2008-11-12 Tambet Ingo <tambet@gmail.com> + + * system-settings/plugins/keyfile/nm-keyfile-connection.c (copy_one_secret) + (add_secrets): Don't add empty secrets to the secrets hash table. + +2008-11-07 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-wireless.c + - (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion + that cased this function to return garbage, breaking hidden AP + detection + +2008-11-07 Dan Williams <dcbw@redhat.com> + + Fix deletion of VPN gateway route on DHCP renew (bgo #558133) + + * src/NetworkManagerSystem.c + src/NetworkManagerSystem.h + - (nm_system_device_set_ip4_route): return the route that was added + - (nm_system_add_ip4_vpn_gateway_route): make add_vpn_gateway_route() + public, clean up, and return the route that was added + - (nm_system_apply_ip4_config): remove VPN related stuff to simplify, + since nm_system_add_ip4_vpn_gateway_route() is now available; add + flags to allow only certain attributes of the NMIP4Config to be + applied + + * src/nm-device.c + - (handle_dhcp_lease_change): don't touch the DHCP4 config on failure + - (nm_device_set_ip4_config): use nm_ip4_config_diff() to only apply + what's really changed between the old and new configs; don't export + the new IP4 config on failure; always send the DNS info to the + named manager + + * src/vpn-manager/nm-vpn-connection.c + - (device_ip4_config_changed, nm_vpn_connection_new, dispose): track the + parent device's IP4Config and re-add the VPN gateway route when it + changes + - (nm_vpn_connection_ip4_config_get): add the VPN gateway route (since + nm_system_apply_ip4_config() no longer does) and cache it for later + - (connection_state_changed): move cleanup code to its own function + - (vpn_cleanup): delete any previously added VPN gateway route; and + re-apply the parent device's addresses and routes using + nm_system_apply_ip4_config(), not nm_device_set_ip4_config() + +2008-11-07 Dan Williams <dcbw@redhat.com> + + * src/nm-ip4-config.c + src/nm-ip4-config.h + - (nm_ip4_config_diff): new function; return the difference between two + IP4 configs + - (nm_ip4_config_compare): change into nm_ip4_config_diff + +2008-11-05 Dan Williams <dcbw@redhat.com> + + * nm-ip4-config.c + nm-ip4-config.h + - (nm_ip4_config_compare): compare two IP4 configs + +2008-11-05 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (update_etc_hosts): only add newline if not the last line of the file + (Jonathan Miner) + +2008-11-05 Dan Williams <dcbw@redhat.com> + + * src/dhcp-manager/nm-dhcp-dhclient.c + - (get_leasefile_for_iface): move lease files back to where dhclient + puts them + +2008-11-05 Michael Biebl <mbiebl@gmail.com> + + * initscripts/Debian/NetworkManager + - Update to what Debian is actually using + +2008-11-05 Tambet Ingo <tambet@gmail.com> + + * libnm-util/nm-setting-8021x.c: Verify PEAP settings as well. + +2008-11-03 Dan Williams <dcbw@redhat.com> + + * system-settings/src/main.c + - (add_default_dhcp_connection): make the fallback connection read-only + + * libnm-glib/nm-settings.c + libnm-glib/nm-settings.h + - Add detailed errors + - (impl_exported_connection_update, impl_exported_connection_delete): + return an error if the connection is read-only + + * system-settings/plugins/ifupdown/nm-ifupdown-connection.c + system-settings/plugins/keyfile/nm-keyfile-connection.c + system-settings/src/main.c + - Use more detailed errors + + * system-settings/src/nm-system-config-error.c + system-settings/src/nm-system-config-error.h + system-settings/src/dbus-settings.c + - Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by + NM_SETTINGS_ERROR_INVALID_CONNECTION + +2008-11-02 Dan Williams <dcbw@redhat.com> + + * Add license headers to everything in src/ + +2008-11-02 Dan Williams <dcbw@redhat.com> + + * Tag 0.7.0-rc1 + +2008-11-02 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + - (nm_ap_new_fake_from_connection): treat only lack of a wireless security + setting as unencrypted; fixes a bug where NM wouldn't ask for new + secrets when connecting to an encrypted network failed + +2008-10-30 Dan Williams <dcbw@redhat.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-ip6-config.c + libnm-util/nm-setting-ip6-config.h + libnm-util/Makefile.am + - Make properties private and add accessor functions + - Hide IPv6 stuff from public API, it's incomplete and completely unused + + * libnm-util/nm-connection.c + libnm-util/nm-utils.c + libnm-util/nm-utils.h + - Ignore IPv6 stuff for now + +2008-10-30 Dan Williams <dcbw@redhat.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-8021x.c + libnm-util/nm-setting-8021x.h + - Make properties private and add accessor functions + + * src/supplicant-manager/nm-supplicant-config.c + system-settings/plugins/ifcfg-suse/parser.c + - Use 802.1x setting accessors + +2008-10-30 Dan Williams <dcbw@redhat.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-wireless-security.c + libnm-util/nm-setting-wireless-security.h + - Make properties private and add accessor functions + + * libnm-util/nm-setting-wireless.c + src/NetworkManagerAP.c + src/nm-device-wifi.c + src/supplicant-manager/nm-supplicant-config.c + system-settings/plugins/ifcfg-fedora/reader.c + system-settings/plugins/ifcfg-suse/parser.c + - Use wireless security accessors + +2008-10-30 Dan Williams <dcbw@redhat.com> + + * src/nm-device-ethernet.c + src/nm-device-wifi.c + src/nm-device.c + src/ppp-manager/nm-ppp-manager.c + - Harmonize return checking of ioctl + + * system-settings/plugins/ifcfg-fedora/reader.c + - (is_wireless_device): fall back to SIOCGIWNAME (rh #466340) + +2008-10-30 Dan Williams <dcbw@redhat.com> + + * src/ppp-manager/nm-ppp-manager.c + - (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the + ppp_generic module to create it (bgo #533064) + +2008-10-30 Dan Williams <dcbw@redhat.com> + + Patch from Alexander Sack <asac@canonical.com> + + Fix "ppp connections don't honour ip4 connection settings" + + * src/nm-device-ethernet.c + - (real_act_stage4_get_ip4_config): merge ip4config settings + with results from ppp manager + + * src/nm-serial-device.c + - (real_act_stage4_get_ip4_config): merge ip4config settings + with results from ppp manager + +2008-10-29 Dan Williams <dcbw@redhat.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-ip4-config.c + libnm-util/nm-setting-ip4-config.h + - Make properties private and add accessor functions + + * callouts/nm-dispatcher-action.c + libnm-glib/libnm-glib-test.c + libnm-util/nm-utils.c + src/NetworkManagerPolicy.c + src/NetworkManagerSystem.c + src/NetworkManagerUtils.c + src/dhcp-manager/nm-dhcp-dhclient.c + src/dhcp-manager/nm-dhcp-manager.c + src/dnsmasq-manager/nm-dnsmasq-manager.c + src/nm-device-wifi.c + src/nm-device.c + src/nm-hso-gsm-device.c + src/nm-ip4-config.c + src/nm-ip4-config.h + src/ppp-manager/nm-ppp-manager.c + src/vpn-manager/nm-vpn-connection.c + system-settings/plugins/ifcfg-fedora/reader.c + system-settings/plugins/ifcfg-suse/parser.c + system-settings/plugins/ifcfg-suse/plugin.c + system-settings/plugins/ifupdown/parser.c + test/nm-tool.c + vpn-daemons/vpnc/properties/nm-vpnc.c + - Use IP4 accessor functions + +2008-10-29 Tambet Ingo <tambet@gmail.com> + + Half of it by Dan Williams <dcbw@redhat.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-vpn.c + libnm-util/nm-setting-vpn.h + - Make properties private and add accessor functions. + + * src/vpn-manager/nm-vpn-connection.c + src/vpn-manager/nm-vpn-manager.c + system-settings/plugins/keyfile/reader.c + vpn-daemons/openvpn/properties/auth-helpers.c + vpn-daemons/openvpn/properties/import-export.c + vpn-daemons/openvpn/properties/nm-openvpn.c + vpn-daemons/openvpn/src/nm-openvpn-service.c + vpn-daemons/pptp/auth-dialog/main.c + vpn-daemons/pptp/properties/advanced-dialog.c + vpn-daemons/pptp/properties/nm-pptp.c + vpn-daemons/pptp/src/nm-pptp-service.c + vpn-daemons/vpnc/properties/nm-vpnc.c + vpn-daemons/vpnc/src/nm-vpnc-service.c + - Use VPN setting accessors. + +2008-10-28 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-wireless.c + libnm-util/nm-setting-wireless.h + - Make properties private and add accessor functions + + * src/NetworkManagerAP.c + src/nm-device-wifi.c + src/nm-manager.c + src/supplicant-manager/nm-supplicant-config.c + system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c + system-settings/plugins/ifcfg-fedora/reader.c + system-settings/plugins/ifcfg-suse/parser.c + system-settings/plugins/ifupdown/parser.c + - Use wireless setting accessors + +2008-10-27 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-ppp.c + libnm-util/nm-setting-ppp.h + - Make properties private and add accessor functions + + * src/ppp-manager/nm-ppp-manager.c + - Use ppp setting accessors + +2008-10-27 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * libnm-util/nm-setting.h + libnm-util/nm-setting.c + - Make properties private and add accessor functions + + * libnm-util/nm-connection.c + libnm-util/nm-setting-8021x.c + libnm-util/nm-setting-cdma.c + libnm-util/nm-setting-connection.c + libnm-util/nm-setting-gsm.c + libnm-util/nm-setting-ip4-config.c + libnm-util/nm-setting-ip6-config.c + libnm-util/nm-setting-ppp.c + libnm-util/nm-setting-pppoe.c + libnm-util/nm-setting-serial.c + libnm-util/nm-setting-template.c + libnm-util/nm-setting-vpn.c + libnm-util/nm-setting-wired.c + libnm-util/nm-setting-wireless-security.c + libnm-util/nm-setting-wireless.c + system-settings/plugins/keyfile/reader.c + system-settings/plugins/keyfile/writer.c + - Use setting accessors + +2008-10-27 Dan Williams <dcbw@redhat.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-connection.c + libnm-util/nm-setting-connection.h + - Add a 'read-only' property that indicates the connection cannot be + modified + + * system-settings/plugins/ifcfg-fedora/reader.c + system-settings/plugins/ifcfg-suse/parser.c + system-settings/plugins/ifupdown/parser.c + - These plugins are read-only at the moment + + * system-settings/plugins/keyfile/reader.c + system-settings/plugins/keyfile/writer.c + - Read-only shouldn't get saved out to files or read in from them + +2008-10-27 Tambet Ingo <tambet@gmail.com> + + * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement + correct speed reporting for fast devices (kernel >= 2.6.27). + +2008-10-26 Dan Williams <dcbw@redhat.com> + + Attempt to compensate for modems that don't enable full AT parsing before + the PIN has been entered. + + * src/nm-gsm-device.c + - (init_modem): accept different init strings + - (init_done): try different init strings on failure + - (check_pin_done): on PIN success, do full modem init + +2008-10-26 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-connection.c + libnm-util/nm-setting-connection.h + - Make properties private and add accessor functions + + * src/NetworkManagerPolicy.c + src/nm-cdma-device.c + src/nm-device-ethernet.c + src/nm-device-interface.c + src/nm-device-wifi.c + src/nm-gsm-device.c + src/nm-manager.c + src/ppp-manager/nm-ppp-manager.c + src/vpn-manager/nm-vpn-connection.c + system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c + system-settings/plugins/ifcfg-fedora/plugin.c + system-settings/plugins/ifcfg-fedora/reader.c + system-settings/plugins/ifcfg-suse/parser.c + system-settings/plugins/ifupdown/parser.c + system-settings/plugins/keyfile/nm-keyfile-connection.c + system-settings/plugins/keyfile/plugin.c + system-settings/plugins/keyfile/writer.c + system-settings/src/main.c + - Use those accessors + +2008-10-26 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-gsm.c + libnm-util/nm-setting-gsm.h + - Make properties private and add accessor functions + + * src/nm-gsm-device.c + src/nm-hso-gsm-device.c + src/ppp-manager/nm-ppp-manager.c + - Use those accessors + +2008-10-26 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-cdma.c + libnm-util/nm-setting-cdma.h + - Make properties private and add accessor functions + + * src/nm-cdma-device.c + src/ppp-manager/nm-ppp-manager.c + - Use those accessors + +2008-10-26 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-pppoe.c + libnm-util/nm-setting-pppoe.h + - Make properties private and add accessor functions + + * src/nm-device-ethernet.c + src/ppp-manager/nm-ppp-manager.c + - Use those accessors + +2008-10-26 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-wired.c + libnm-util/nm-setting-wired.h + - Make properties private and add accessor functions + + * src/nm-device-ethernet.c + system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c + system-settings/plugins/ifcfg-suse/parser.c + system-settings/src/main.c + - Use those accessors + +2008-10-26 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * libnm-util/libnm-util.ver + libnm-util/nm-setting-serial.c + libnm-util/nm-setting-serial.h + src/nm-serial-device.c + - Make properties private and use accessors instead + +2008-10-26 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-interface.c + src/supplicant-manager/nm-supplicant-interface.h + src/supplicant-manager/nm-supplicant-manager.c + src/supplicant-manager/nm-supplicant-manager.h + - Add state-to-string conversion functions + + * src/nm-device-wifi.c + src/nm-device-ethernet.c + - Normalize state info logging and use strings instead of numbers + +2008-10-26 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (update_routing_and_dns): ignore host routes when determining whether + a VPN connection should own the default route (bgo #552594) + +2008-10-24 Dan Williams <dcbw@redhat.com> + + * src/nm-gsm-device.c + - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young) + +2008-10-23 Dan Williams <dcbw@redhat.com> + + * src/ppp-manager/nm-ppp-manager.c + - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always + add really important stuff to the command line to ensure that NM + overrides /etc/ppp/options (bgo #556781) + +2008-10-22 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerSystem.c + src/nm-device.c + - Use the device's IP interface where appropriate (Per Hallsmark) + +2008-10-22 Dan Williams <dcbw@redhat.com> + + * src/nm-gsm-device.c + - (schedule_automatic_registration_again): use a short timeout here + instead of an idle handler to avoid using too much CPU polling for + something we should be waiting a bit for anyway + +2008-10-22 Dan Williams <dcbw@redhat.com> + + * include/NetworkManager.h + introspection/nm-device.xml + - Add device state change reason for carrier changes + + * src/nm-device-ethernet.c + - (set_carrier): use the carrier change reason when changing device + state in response to carrier changes + +2008-10-21 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (update_etc_hosts): don't leak errors, and ensure that + g_file_set_contents() gets a valid error placeholder (rh #461933) + +2008-10-21 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (free_get_settings_info): don't use the DBusGProxy which could be + disposed of by the time the function is called + - (internal_new_connection_cb): save connection scope + - (connection_get_settings_cb): don't replace a connection unless it's + actually different from the existing one; fixes an issue where + killing the settings service wouldn't deactivate an active connection + provided by that settings service, because it was using a connection + that had already been replaced in the system or user hash + +2008-10-21 Dan Williams <dcbw@redhat.com> + + * src/NetworkManager.c + - (main): keep the DHCP manager around since it's a singleton; fixes + a use-after-free exposed by r4196 since the DHCP manager singleton + variable isn't cleared when the DHCP manager object is finalized + +2008-10-20 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-wireless-security.c + - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections + +2008-10-20 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-config.c + - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config + +2008-10-20 Dan Williams <dcbw@redhat.com> + + * src/dhcp-manager/nm-dhcp-manager.c + - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp + manager object already refs it once + - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that + also get cleaned up by nm_dhcp_device_destroy() to prevent + double-frees + +2008-10-20 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (initial_get_connections): use private dbus manager, don't keep + ref-ing the singleton. Fixes mismatched refcounts of the dbus + manager object. + +2008-10-18 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-settings.c + libnm-glib/nm-settings.h + - Rename the "get_secrets" virtual function "service_get_secrets" to + clarify when it's used; NMExportedConnetion is a base-class for both + the client and service side, which is sort of confusing, and + get_secrets only makes sense on the service side. + + * libnm-glib/nm-dbus-connection.c + - (get_secrets): remove, unused, and clients need to do extra work to + get secrets anyway since the call can block on the remote side + + * system-settings/plugins/ifupdown/nm-ifupdown-connection.c + system-settings/plugins/keyfile/nm-keyfile-connection.c + - Fix up for get_secrets -> service_get_secrets + +2008-10-16 Dan Williams <dcbw@redhat.com> + + * src/nm-device-wifi.c + - (constructor): correctly determine encryption capabilities + +2008-10-15 Dan Williams <dcbw@redhat.com> + + * src/nm-device-wifi.c + - (wireless_qual_to_percent): fix quality calculation in a fallback case + (Johannes Berg) + +2008-10-15 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerSystem.c + - (ip4_dest_in_same_subnet): tighter checks on subnet matching, + if the ip4_dest is in a smaller subnet contained within a subnet + the machine is currently on, the destination is in the same subnet + - (nm_system_device_set_ip4_route): move subnet checks to callers + - (add_vpn_gateway_route): check if the VPN gateway is in the same + subnet as the parent device, and if so, don't add the direct + host route via the parent device's gateway (bgo #481620) + - (nm_system_apply_ip4_config): check whether the route to be added + is contained within a subnet the device is already on + +2008-10-11 Dan Williams <dcbw@redhat.com> + + * include/NetworkManager.h + introspection/nm-device.xml + include/NetworkManagerVPN.h + - Add a few more state reasons for the device deactivated state + + * src/nm-device-interface.c + src/nm-device-interface.h + - (nm_device_interface_deactivate): add a 'reason' argument + + * src/nm-device.c + src/nm-device.h + - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument + - (nm_device_state_changed): pass the state change reason to + nm_device_take_down() + - (nm_device_set_managed): take a 'reason' argument, and pass it along + to the state change function + + * src/nm-manager.c + src/nm-manager.h + - (remove_one_device, handle_unmanaged_devices, sync_devices, + impl_manager_sleep): pass a reason code to nm_device_set_managed() + - (nm_manager_deactivate_connection): add a 'reason' argument and pass + something reasonable along to VPN deactivation + + * src/vpn-manager/nm-vpn-manager.c + src/vpn-manager/nm-vpn-manager.h + - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and + pass that along to nm_vpn_connection_disconnect() + +2008-10-11 Dan Williams <dcbw@redhat.com> + + * src/nm-device-wifi.c + - (can_scan): remove old madwifi hack for not scanning while connected + +2008-10-11 Dan Williams <dcbw@redhat.com> + + Add support for VPN subnet gateways (bgo #549196) + + * include/NetworkManager.h + - Add key for internal VPN subnet gateway + + * src/vpn-manager/nm-vpn-connection.c + - (ip_address_to_string): return a const from a static buffer so we + don't leak a lot of strings + - (print_vpn_config): print internal VPN gateway as well + - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from + VPN service too + - (nm_vpn_connection_get_ip4_internal_gateway): new function + + * src/NetworkManagerSystem.c + src/NetworkManagerSystem.h + - (nm_system_device_replace_default_ip4_route): split into two, one for + VPN connections and one for normal devices + - (replace_default_ip4_route): break out route stuff into its own function + - (nm_system_replace_default_ip4_route_vpn, + nm_system_replace_default_ip4_route): simplify by having two cases, + one for VPNs and one for normal devices + + * src/NetworkManagerPolicy.c + - (update_routing_and_dns): simplify, use split default route replacement + functions + +2008-10-10 Dan Williams <dcbw@redhat.com> + + Rework default route handling to consolidate decisions in the policy, + and to take active VPN connections into account when changing the default + route (bgo #545912) + + * src/NetworkManager.c + - (main): pass the vpn_manager to the policy so it knows about active + VPN connections; clean up the named manager which wasn't done before + + * src/NetworkManagerPolicy.c + src/NetworkManagerPolicy.h + - (nm_policy_new): get a clue about the vpn_manager + - (update_default_route): remove, fold into update_routing_and_dns() + - (update_routing_and_dns): handle active VPN connections too; an + active VPN connection becomes the default route if it does not have + server-specified or user-specified custom routes. Otherwise, the + best active device gets the default route + - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new, + nm_policy_destroy): track VPN connection activation and deactivation + and update the default route when appropriate + + * src/NetworkManagerSystem.c + src/NetworkManagerSystem.h + - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality + in the VPN connection itself + - (nm_system_vpn_device_set_from_ip4_config, + nm_system_device_set_from_ip4_config): merge together to make + nm_system_apply_ip4_config() + - (add_vpn_gateway_route): add a route to the VPN's external gateway + via the parent device + - (nm_system_apply_ip4_config): simplify + - (add_ip4_route_to_gateway): new function; add a direct route to the + gateway if needed + - (nm_system_device_replace_default_ip4_route): simplify, break gateway + route stuff out into add_ip4_route_to_gateway() for clarity + + * src/nm-device.c + - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config() + + * src/vpn-manager/nm-vpn-connection.c + src/vpn-manager/nm-vpn-connection.h + - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface, + nm_vpn_connection_get_parent_device): add + - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel + device explicit + - (connection_state_changed): update the named manager now that + nm_system_vpn_device_unset_from_ip4_config() is gone; do something + useful on errors + + * src/vpn-manager/nm-vpn-manager.c + src/vpn-manager/nm-vpn-manager.h + - Add a 'connection-activated' signal + - (nm_vpn_manager_get_active_connections): new function; mainly for the + policy to find out about active VPN connections + +2008-10-10 Tambet Ingo <tambet@gmail.com> + + * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as + a daemon to prevent NM logging spew on console on startup and shutdown (due + to dependency loop between NM and syslog). + +2008-10-10 Alexander Sack <asac@ubuntu.com> + + Implement managed mode. We bind devices configured in /etc/network/interfaces + to their connections by updating wired/wireless setting with the + mac address of the device. + + * system-settings/plugins/ifupdown/plugin.c + - (get_net_address_for_udi): implement function to retrieve MAC + address of udi from hal in GByteArray format + - (bind_device_to_connection): bind mac address of device to + wired/wireless system connection + - (hal_device_added_cb): call bind_device_to_connection for + system connections with a matching interface.name + - (hal_device_added_cb): ensure that all code paths + properly free the "iface" string. + +2008-10-10 Alexander Sack <asac@ubuntu.com> + + Parse nm-system-settings.conf and allow admins to either use managed and unmanaged + mode of the ifupdown system config plugin. + + * system-settings/plugins/ifupdown/plugin.c + - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set + private unmanage_well_known state field accordingly + +2008-10-10 Alexander Sack <asac@ubuntu.com> + + Implement unmanaged mode that will prevent all devices in the + well_known_udis set from being touched by NetworkManager + + * system-settings/plugins/ifupdown/plugin.c + - (typedef struct SCPluginIfupdownPrivate): add gboolean + unmanage_well_known field used to turn on/off unmanaged + mode + - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed| + signal when well_known_udis get added/removed + - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis + if we are in unmanaged mode + +2008-10-10 Alexander Sack <asac@ubuntu.com> + + Add support to track network devices that have a configuration + with a matching interface.name in /etc/network/interfaces + + * system-settings/plugins/ifupdown/plugin.c + - (typedef struct SCPluginIfupdownPrivate): add hash table + to track |well_known_udis| + - (get_iface_for_udi): helper function to get interface.name + for a udi + - (hal_device_added_cb, hal_device_removed_cb): callbacks + that add and remove devices to and from the well_known_udis + set depending on whether their |interface.name| matches + any interface definition in /etc/network/interfaces + - (SCPluginIfupdown_init): connect callbacks from above with + hal_mgr and setup well_known_udis hashtable + - (GObject__dispose): destroy well_known_udis hashtable + - (hal_device_added_cb2): implement wrapper callback with GFunc + signature. user_data is supposed to be a triple (hal_mgr, + config and devtype) + - (SCPluginIfupdown_init): bootstrap wired and wifi devices for + startup and call hal_device_added_cb2 + +2008-10-10 Alexander Sack <asac@ubuntu.com> + + Remove implementation for not used NMSystemConfigInterface callback functions + in ifupdown plugin + + * system-settings/plugins/ifupdown/plugin.c + - (SCPluginIfupdown_unmanaged_devices_changed): removed + - (SCPluginIfupdown_connection_added): removed + +2008-10-08 Dan Williams <dcbw@redhat.com> + + Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983) + + * src/NetworkManagerUtils.c + - (nm_utils_call_dispatcher): add a 'hostname' action + + * src/NetworkManagerPolicy.c + - (set_system_hostname): dispatch hostname changes + + * callouts/nm-dispatcher-action.c + - (nm_dispatcher_action): handle 'hostname' actions + +2008-10-08 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerSystem.c + - (find_route): ref the route so it doesn't get destroyed when the cache + is cleared + - (nm_system_device_set_priority): unref the route here after it's done + being used + +2008-10-08 Dan Williams <dcbw@redhat.com> + + * src/nm-serial-device.c + - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment + +2008-10-08 Tambet Ingo <tambet@gmail.com> + + * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the + connection with new settings before saving it. + +2008-10-06 Dan Williams <dcbw@redhat.com> + + * src/nm-ip4-config.c + src/nm-ip4-config.h + - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path + + * src/nm-device-interface.c + - (nm_device_interface_init): make 'ip4-config' a boxed property of type + DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to + by using '/' for the object path + + * src/nm-device.c + - (src/nm-device.c): marshal missing/unexported ip4-config through + dbus as '/' since dbus-glib can't handle NULL objects nor can + dbus handle NULL object paths + +2008-10-03 Alexander Sack <asac@ubuntu.com> + + Implement system hostname support for debian/ubuntu + + * system-settings/plugins/ifupdown/plugin.c + - (GObject__get_property): extend announced capabilities; add + NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support + - (GObject__set_property,write_system_hostname): implement + NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability. + - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init, + update_system_hostname, get_hostname): + implement hostname property that watches and + parses /etc/hostname + +2008-10-03 Alexander Sack <asac@ubuntu.com> + + * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c + system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h + system-settings/plugins/ifcfg-fedora/Makefile.am + system-settings/src/nm-inotify-helper.c + system-settings/src/nm-inotify-helper.h + src/Makefile.am + - Move ifcfg-fedora inotify helpers to the system settings service so + they are available to all plugins + +2008-10-03 Alexander Sack <asac@ubuntu.com> + + Implement support for wep-tx-keyidx in ifupdown system + config plugin. + + * system-settings/plugins/ifupdown/parser.c + - (update_wireless_security_setting_from_if_block): introduce + free_type_mapping func table; rename a few local + variables to improve readability; add wpa security mapping + for wep-tx-keyidx property + - (string_to_gpointerint): new function used for the auto_type_mapping + of new wep-tx-keyidx property + - (slist_free_all): free func used for mapped slist types + +2008-10-03 Alexander Sack <asac@ubuntu.com> + + * system-settings/src/main.c: + - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is + always used as the hash key; fixes a crash when removing wired + devices + +2008-10-02 Dan Williams <dcbw@redhat.com> + + * src/nm-gsm-device.c + - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare): + pass the required GSM secret along via user_data rather than keeping + it around in the private data where it sometimes didn't get cleared + - (real_get_ppp_name): implement using the GSM username + +2008-10-02 Dan Williams <dcbw@redhat.com> + + * src/ppp-manager/nm-ppp-manager.c + src/ppp-manager/nm-ppp-manager.h + - (impl_ppp_manager_need_secrets): tries secrets twice before asking + the settings daemon for completely new ones + - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the + local PPP peer name; allow PPP debuging by launching NM with + the environment variable NM_PPP_DEBUG defined + - (nm_ppp_manager_start): new parameter 'ppp_name' passed to + create_pppd_cmd_line() + + * src/nm-serial-device.c + src/nm-serial-device.h + - New 'get_ppp_name' function for subclasses to implement to return the + local PPP peer name + - (real_act_stage2_config): call 'get_ppp_name' function of subclasses + and pass that name to the PPP manager + + * src/nm-device-ethernet.c + - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as + the local peer name + + * src/nm-cdma-device.c + - (real_get_ppp_name): implement using the CDMA username + +2008-10-02 Dan Williams <dcbw@redhat.com> + + Patch from Alexander Sack <asac ubuntu com> + + * system-settings/plugins/ifupdown/parser.c + - Implement more graceful ip4 config parsing for cases where + /etc/network/interfaces omits basic ip4 settings, such as gateway etc + by using default values + +2008-10-02 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (device_state_changed): when marking a connection invalid, clear its + secrets too so that fresh secrets get requested the next time + +2008-10-01 Dan Williams <dcbw@redhat.com> + + * system-settings/src/dbus-settings.c + - (nm_sysconfig_settings_init): cache system hostname on startup as + a fallback if no plugin provides a hostname + - (get_property): fall back to cached hostname if no plugin provides + a hostname + +2008-10-01 Dan Williams <dcbw@redhat.com> + + Fix setting value comparison issue that caused some settings to look the + same when they were really different (rh #464417) + + * libnm-util/nm-param-spec-specialized.c + - (type_is_fixed_size): return fundamental size of the fixed type too + - (nm_gvalues_compare_collection): use the fundamental fixed type size + in the comparison so that the _entire_ fixed type collection gets + compared rather than just the first 'len1' bytes + +2008-09-30 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (lookup_thread_worker): don't store the idle handler ID becuase the + idle handler could have already run and freed the LookupThread + structure + +2008-09-30 Tambet Ingo <tambet@gmail.com> + + * src/nm-device.c (nm_device_get_priority): Implement. + (nm_device_set_ip4_config): Send the device priority to system ip4 + config setter. + + * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): + Add priority argument and if it's >= 0, set the priority of the network + route added automatically by netlink (or kernel?). + (nm_system_device_set_priority): Implement. + + * src/NetworkManagerPolicy.c (get_best_device): Use + nm_device_get_priority() instead of home-grown version. Revert the + meaning, best priority is the lowest one. + +2008-09-29 Dan Williams <dcbw@redhat.com> + + Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times + when it returns EAGAIN (rh #362421) + + * src/nm-device-wifi.c + - (wireless_get_range): try GIWRANGE a few times until the card responds + - (real_get_generic_capabilities, constructor): use wireless_get_range() + +2008-09-28 Dan Williams <dcbw@redhat.com> + + * src/nm-serial-device.c + src/nm-serial-device.h + - (nm_serial_device_close): stop PPP manager here so that PPP gets + cleaned at the right times when subclasses close the serial port too + - (nm_serial_device_send_command): use a default send delay; don't + spin forever on EAGAIN + - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply): + remove, no longer used + - (find_response): return the matched response if any + - (nm_serial_device_wait_reply_blocking): wait for a reply but block + while doing so + - (wait_for_reply_done): pass the matched response to the callback + - (wait_for_reply_got_data): save the matched response; simplify timeout + handling + - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators' + const since they never get modified + - (cleanup_device): split out common cleanup stuff to a new function + - (real_deactivate_quickly, finalize): use cleanup_device() + + * src/nm-gsm-device.c + - (modem_get_reply): remove, unused + - (set_apn): give the card a bit more time to respond + - (manual_registration_again, schedule_manual_registration_again, + manual_registration_response, manual_registration): handle manual + registration timeouts better by retrying registration a few times + because cards are a bit slow after CFUN=1 + - (automatic_registration_get_network, get_network_response): use + modem_wait_for_reply() because it interacts better with the serial + buffer and does more intelligent matching; need to wait for 'OK' + rather than just matching terminators + - (schedule_automatic_registration_again, + automatic_registration_response, automatic_registration): retry + registration a few times on timeout or "searching" because cards + take a bit to find a network after being powered up with CFUN=1 + - (power_up_response, power_up, init_full_done, enter_pin, + check_pin_done): power up the card with CFUN=1 before trying to + register with the network + - (init_modem_full, init_modem): use more standard 3G init strings + + * src/nm-hso-gsm-device.c + - (modem_get_reply): remove, unused + - (hso_ip4_config_response, real_act_stage3_ip_config_start): use + modem_wait_for_reply() to match actual responses instead of single + termination characters; it doesn't leave stuff in the serial buffer + that might confuse later calls + - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking() + to ensure that the call is really disconnected and not leave extra + stuff in the serial buffer + + * src/nm-cdma-device.c + - (power_up_response, power_up, init_done): try Sierra-style modem + power up before attempting to connect + +2008-09-27 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-gsm.c + - (verify): verify GSM network ID + +2008-09-25 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-gsm.c + libnm-util/nm-setting-gsm.h + - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network + technology terms (bgo #551361) + +2008-09-25 Dan Williams <dcbw@redhat.com> + + Fix bgo #549401 (inspired by patch from Alexander Sack) + + * src/nm-device-ethernet.c + - (finish_supplicant_task): clean up scheduled tasks and free memory + - (remove_supplicant_interface_error_handler): remove the supplicant + error idle callback too + - (supplicant_interface_release): rename from supplicant_interface_clean + to match nm-device-wifi.c; clean up supplicant interface-related + state tasks when the supplicant interface is disposed of + - (schedule_state_handler): add scheduled tasks to a list so they can + be cleaned up later + - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler, + supplicant_iface_connection_state_cb_handler): use + finish_supplicant_task() to clean up each completed task + - (supplicant_iface_connection_error_cb_handler, + supplicant_connection_timeout_cb): clear source id when the task is + complete + - (supplicant_iface_connection_error_cb): save scheduled task id for + later cleanup + - (nm_device_ethernet_dispose): clean up any pending supplicant state + tasks + + * src/nm-device-wifi.c + - (finish_supplicant_task): clean up scheduled tasks and free memory + - (remove_supplicant_interface_error_handler): remove the supplicant + error idle callback too + - (supplicant_interface_release): clean up supplicant interface-related + state tasks when the supplicant interface is disposed of + - (schedule_state_handler): add scheduled tasks to a list so they can + be cleaned up later + - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler, + supplicant_iface_connection_state_cb_handler): use + finish_supplicant_task() to clean up each completed task + - (supplicant_iface_connection_error_cb_handler): clear source id when + the task is complete + - (supplicant_iface_connection_error_cb): save scheduled task id for + later cleanup + - (nm_device_wifi_dispose): clean up any pending supplicant state tasks + +2008-09-24 Tambet Ingo <tambet@gmail.com> + + * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices + method and get/set hostname property. + +2008-09-24 Tambet Ingo <tambet@gmail.com> + + * src/supplicant-manager/nm-supplicant-interface.c + (nm_supplicant_interface_disconnect): Don't increment the reference + count when disconnecting. The problem is on shutdown, when the replies + to these commands do not arrive before NM exits, resulting on never + calling supplicant interface's dispose(), which removes the interface + from supplicant. + +2008-09-24 Tambet Ingo <tambet@gmail.com> + + * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to + all the public function arguments. + +2008-09-22 Tambet Ingo <tambet@gmail.com> + + * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the + "Failure" signal from VPN plugins, store the failure reason, and + use it when the state is changed to failure. + + * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type + description. + + * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new + reason to the end of the list to not break the API. + (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h) + so it can be shared by plugins and daemon. + +2008-09-18 Dan Williams <dcbw@redhat.com> + + Patch from Alexander Sack <asac@ubuntu.com> + + * configure.in + system-settings/plugins/Makefile.am + system-settings/plugins/ifupdown/Makefile.am + system-settings/plugins/ifupdown/interface_parser.c + system-settings/plugins/ifupdown/interface_parser.h + system-settings/plugins/ifupdown/nm-ifupdown-connection.c + system-settings/plugins/ifupdown/nm-ifupdown-connection.h + system-settings/plugins/ifupdown/parser.c + system-settings/plugins/ifupdown/parser.h + system-settings/plugins/ifupdown/plugin.c + system-settings/plugins/ifupdown/plugin.h + - Implement a Debian/Ubuntu legacy network configuration plugin + (gnome.org #551941) + +2008-09-18 Dan Williams <dcbw@redhat.com> + + Implement support for honoring configured and automatic hostnames, and for + setting the configured hostname. + + * introspection/nm-ip4-config.xml + src/nm-ip4-config.c + src/nm-ip4-config.h + src/dhcp-manager/nm-dhcp-manager.c + - Remove useless hostname property; it's not really part of the IPv4 + config + + * introspection/nm-settings-system.xml + libnm-glib/nm-dbus-settings-system.c + libnm-glib/nm-dbus-settings-system.h + - Add SetHostname() call to system settings D-Bus interface + - Add Hostname property to system settings D-Bus interface + - (nm_dbus_settings_system_save_hostname, + nm_dbus_settings_system_get_hostname): implement + + * src/nm-device.c + src/nm-device.h + - (nm_device_get_dhcp4_config): implement + + * src/nm-manager.c + src/nm-manager.h + - Fetch and track system settings service hostname changes, and proxy + the changes via a GObject property of the manager + + * system-settings/src/nm-system-config-interface.c + system-settings/src/nm-system-config-interface.h + - Replace nm_system_config_interface_supports_add() with a capabilities + bitfield + + * system-settings/src/nm-system-config-error.c + system-settings/src/nm-system-config-error.h + - Add additional errors + + * system-settings/src/dbus-settings.c + system-settings/src/dbus-settings.h + - (get_property, nm_sysconfig_settings_class_init): add hostname + property; first plugin returning a hostname wins + - (impl_settings_add_connection): use plugin capabilities instead of + nm_system_config_interface_supports_add() + - (impl_settings_save_hostname): implement hostname saving + + * src/NetworkManagerPolicy.c + - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new, + lookup_thread_die): implement an asynchronous hostname lookup thread + which given an IPv4 address tries to look up the hostname for that + address with reverse DNS + - (get_best_device): split out best device code from + update_routing_and_dns() + - (update_etc_hosts): update /etc/hosts with the machine's new hostname + to preserve the 127.0.0.1 reverse mapping that so many things require + - (set_system_hostname): set a given hostname + - (update_system_hostname): implement hostname policy; a configured + hostname (from the system settings service) is used if available, + otherwise an automatically determined hostname from DHCP, VPN, etc. + If there was no automatically determined hostname, reverse DNS of + the best device's IP address will be used, and as a last resort the + hostname 'localhost.localdomain' is set. + - (update_routing_and_dns): use get_best_device(); update the system + hostname when the network config changes + - (hostname_changed): update system hostname if the system settings + service signals a hostname change + - (nm_policy_new): list for system settings service hostname changes + - (nm_policy_destroy): ensure that an in-progress hostname lookup thread + gets told to die + + * system-settings/plugins/keyfile/plugin.c + system-settings/plugins/ifcfg-suse/plugin.c + - (get_property, sc_plugin_ifcfg_class_init): implement hostname and + capabilities properties + + * system-settings/plugins/ifcfg-fedora/shvar.c + - (svOpenFile): re-enable R/W access of ifcfg files since the plugin + writes out /etc/sysconfig/network now + + * system-settings/plugins/ifcfg-fedora/plugin.c + - (plugin_get_hostname): get hostname from /etc/sysconfig/network + - (plugin_set_hostname): save hostname to /etc/sysconfig/network + - (sc_network_changed_cb): handle changes to /etc/sysconfig/network + - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes + - (get_property, set_property, sc_plugin_ifcfg_class_init): implement + hostname get/set and capabilities get + +2008-09-18 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-wireless.c + - (nm_setting_wireless_ap_security_compatible): only verify pairwise and + group ciphers if the wireless-security setting explicitly specified + them, effectively making the default be "all ciphers" (idea from + Alexander Sack) + +2008-09-15 Dan Williams <dcbw@redhat.com> + + Patch from Alexander Sack <asac@ubuntu.com> + + * src/named-manager/nm-named-manager.c + - (dispatch_resolvconf): respect resolvconf exit code + +2008-09-12 Tambet Ingo <tambet@gmail.com> + + * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile + again. Add some debugging. + +2008-09-11 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/keyfile/plugin.c + - (update_connection_settings): update connection manually, since + nm_exported_connection_update() does authentication + - (dir_changed): update_connection_settings() doesn't need to return + an error + +2008-09-09 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-vpn-plugin-ui-interface.c + libnm-glib/nm-vpn-plugin-ui-interface.h + libnm-glib/libnm_glib_vpn.ver + - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin + should clean up resources related to the connection (like keyring + secrets) + - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin + should save user-scope secrets (like to the keyring) + +2008-09-08 Dan Williams <dcbw@redhat.com> + + Patch from Alexander Sack <asac@ubuntu.com> + + * libnm-util/crypto_gnutls.c + libnm-util/crypto_nss.c + - (crypto_init, crypto_deinit): just use a boolean instead of a refcount + + * libnm-util/nm-utils.c + libnm-util/nm-utils.h + libnm-util/libnm-util.ver + - (nm_utils_init): initialize libnm-util + - (nm_utils_deinit): de-initialize libnm-util and clean up resources + + * libnm-util/nm-setting-8021x.c + - (nm_setting_802_1x_class_init): init libnm-util when needed + +2008-09-05 Dan Williams <dcbw@redhat.com> + + Patch from Roy Marples <roy@marples.name> and others + + * configure.in + src/named-manager/nm-named-manager.c + - Add support for resolvconf; use --with-resolvconf at configure time + to enable it + +2008-09-05 Dan Williams <dcbw@redhat.com> + + * libnm-util/crypto_nss.c + libnm-util/crypto_gnutls.c + libnm-util/crypto.h + - (crypto_init): return error when init fails + +2008-09-05 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device-wifi.c + - (access_point_removed_proxy): clean up the active access point too + just in case the active ap changed signal didn't come through yet + - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up + +2008-09-05 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-client.c + - (constructor): get initial state after we know whether NM is running + or not + +2008-09-05 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-ip4-config.c + libnm-glib/nm-dhcp4-config.c + - (finalize): clean up the DBusGProxy + +2008-09-04 Dan Williams <dcbw@redhat.com> + + * src/nm-ip4-config.c + src/nm-ip4-config.h + - (nm_ip4_config_new): don't export over D-Bus here + - (nm_ip4_config_export): new function; export the config over D-Bus + - (nm_ip4_config_is_exported): new function + + * src/nm-device.c + - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config + objects by balancing the IP4Config constructor; the device holds + a reference to the IP4Config already + - (nm_device_set_ip4_config): export the IP4Config when needed + +2008-09-04 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-settings-verify.c + - Allow WPA-NONE key management for Ad-Hoc WPA connections + +2008-09-04 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-vpn.c + libnm-util/nm-setting-vpn.h + - Split VPN secrets from VPN data so that settings services can actually + figure out that they are secrets and store them accordingly + + * system-settings/plugins/keyfile/nm-keyfile-connection.c + system-settings/plugins/keyfile/reader.c + system-settings/plugins/keyfile/reader.h + system-settings/plugins/keyfile/writer.c + - Store VPN secrets separately from VPN data so that they can be fetched + on demand + - Implement the get_secrets() call so that (a) secrets don't leak out + to unprivileged callers, and (b) secrets can be sent to privileged + callers when needed + + * vpn-daemons/vpnc/src/nm-vpnc-service.c + - Handle split VPN secrets + +2008-08-27 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/reader.c + - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370) + +2008-08-27 Dan Williams <dcbw@redhat.com> + + Ensure zombie children get cleaned up. To get notifications when children + die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but + that requires calling waitpid() yourself if you've removed the child watch + handler before the process has actually died, which NM needs to do in a few + places. So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also + cleans up after the child when required. Should fix problems trying to + activate mobile broadband connections after a previous failure. + + * src/dhcp-manager/nm-dhcp-dhclient.c + src/dhcp-manager/nm-dhcp-dhcpcd.c + - Use G_SPAWN_DO_NOT_REAP_CHILD + + * src/dhcp-manager/nm-dhcp-manager.c + - (nm_dhcp_device_destroy): ensure child is cleaned up + - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always + block on child quitting, since the non-blocking functionality was + never actually used + + * src/dnsmasq-manager/nm-dnsmasq-manager.c + - (dm_watch_cb): child is already reaped here + - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead + + * src/nm-device.c + - (aipd_cleanup): block until child is dead + + * src/named-manager/nm-named-manager.c + - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't + event bothering to watch the child + + * src/ppp-manager/nm-ppp-manager.c + - (ppp_watch_cb): child is already reaped here + - (ensure_killed, nm_ppp_manager_stop): block until child is dead + + * src/vpn-manager/nm-vpn-service.c + - (vpn_service_watch_cb): child is already reaped here + - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that + status of the child is actually tracked + - (ensure_killed, finalize): block until child is dead + +2008-08-26 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/keyfile/nm-keyfile-connection.c + - (update): Update filename of the connection if the connection id + was changed + + * system-settings/plugins/keyfile/plugin.c + - (dir_changed): first pass at handling connection renames correctly + + * system-settings/plugins/keyfile/writer.c + system-settings/plugins/keyfile/writer.h + - (write_connection): replace '/' with '*' when writing out the filename + from the connection id + +2008-08-26 Dan Williams <dcbw@redhat.com> + + Add connection UUIDs, since connection names can be changed, and since + old-style connection IDs could change over the life of the connection. The + UUID should be assigned at connection creation time, be stable for a given + connection, and should be unique among all connections for a given settings + service. + + * configure.in + libnm-util/Makefile.am + - Require libuuid + + * introspection/nm-exported-connection.xml + - Remove "GetID" method + + * libnm-glib/nm-dbus-connection.c + libnm-glib/nm-settings.c + libnm-glib/nm-settings.h + - Remove id-related stuff + + * libnm-util/nm-utils.c + libnm-util/nm-utils.h + libnm-util/libnm-util.ver + - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add + utility functions to generate UUIDs + + * libnm-util/nm-setting-connection.c + libnm-util/nm-setting-connection.h + - Add 'uuid' member to the connection setting + - (verify): require valid 'uuid' for a valid connection + + * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c + system-settings/plugins/ifcfg-fedora/reader.c + system-settings/plugins/ifcfg-suse/nm-suse-connection.c + system-settings/plugins/ifcfg-suse/parser.c + system-settings/plugins/keyfile/nm-keyfile-connection.c + system-settings/src/main.c + - Remove id-related stuff + - Give connections UUIDs where needed + +2008-08-25 Dan Williams <dcbw@redhat.com> + + * libnm-util/crypto_gnutls.c + libnm-util/crypto_nss.c + - (crypto_init, crypto_deinit): refcount init/deinit + - (crypto_md5_hash): allow NULL salt + +2008-08-22 Michael Biebl <mbiebl@gmail.com> + + * libnm-glib/Makefile.am + libnm-util/Makefile.am + libnm-glib/libnm_glib.ver + libnm-glib/libnm_glib_vpn.ver + libnm-util/libnm-util.ver + - Use linker version scripts to control the list of exported + symbols. List each exported symbol explicitely. + * libnm-util/Makefile.am + - Fix compilation of the test-crypto binary. The crypto + functions are no longer part of the libnm-util API. Add + crypto_*.c to test_crypto_SOURCES and link against the correct + crypto libraries. + +2008-08-19 Dan Williams <dcbw@redhat.com> + + * configure.in + test/Makefile.am + - Don't build test/test-common + - Remove unused stuff + + * test/nm-set-fallback + test/nmtestdevices.c + test/test-common/.cvsignore + test/test-common/Makefile.am + test/test-common/test-common.c + test/test-common/test-common.h + - delete + +2008-08-18 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-utils.c + libnm-util/nm-utils.h + - (nm_utils_garray_to_string): remove; NM was the only user and doesn't + export anything that needs to be converted with this function + + * src/dhcp-manager/nm-dhcp-manager.c + - (garray_to_string): convert a byte array to a UTF-8 string with + minimal validation; the DHCP client sends it in ASCII anyway + - (get_option, copy_option): use garray_to_string() + +2008-08-18 Dan Williams <dcbw@redhat.com> + + * include/NetworkManager.h + introspection/nm-device.xml + - Add a "missing firmware" device state reason + + * src/NetworkManagerSystem.c + src/NetworkManagerSystem.h + - (nm_system_device_set_up_down): add a no_firmware argument + - (nm_system_device_set_up_down_with_iface): if the result of setting + IFF_UP is ENOENT, that almost always means missing firmware + + * src/backends/NetworkManagerGeneric.c + src/nm-device-ethernet.c + src/nm-device-private.h + src/nm-device-wifi.c + src/nm-device.c + src/nm-device.h + src/nm-hso-gsm-device.c + src/vpn-manager/nm-vpn-connection.c + - Pass no_firmware along; check it where appropriate + +2008-08-18 Dan Williams <dcbw@redhat.com> + + Patch from Robert Buchholz <rbu@gentoo.org> + + * autogen.sh + configure.in + - Change to automake 1.9 and 'ustar' tar format defined by POSIX + 1003.1-1988, allowing for file names longer than 99 characters + +2008-08-17 Dan Williams <dcbw@redhat.com> + + * include/NetworkManager.h + introspection/nm-device.xml + src/nm-gsm-device.c + - Finer-grained GSM registration failure error codes + +2008-08-17 Dan Williams <dcbw@redhat.com> + + * callouts/Makefile.am + src/Makefile.am + - Move dispatcher directory creation to callouts/Makefile.am + + * system-settings/plugins/keyfile/Makefile.am + - Create keyfile connections directory in DESTDIR (bgo #546833) + +2008-08-15 Dan Williams <dcbw@redhat.com> + + Do connection sharing in a cleaner manner; all required iptables rules + are now stored in the activation request and pertain only to the device + which is being shared to other computers. (rh #458625) + + * src/nm-activation-request.c + src/nm-activation-request.h + - (nm_act_request_add_share_rule): new function; add a sharing rule to + the activation request which will get torn down automatically when + the activation request dies + - (nm_act_request_set_shared): push sharing rules to iptables when sharing + is started, and tear them down when sharing is stopped + + * src/nm-device.c + - (start_sharing): start up sharing by doing the required iptables magic + - (share_init): poke the right bits of the kernel and load the right + modules for NAT + - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this + connection if it's a 'shared' connection + + * src/NetworkManagerPolicy.c + - Remove all sharing stuff; done in the device code itself + +2008-08-15 Dan Williams <dcbw@redhat.com> + + * src/dnsmasq-manager/nm-dnsmasq-manager.c + - (create_dm_cmd_line): send the right router address + +2008-08-15 Dan Williams <dcbw@redhat.com> + + * src/ppp-manager/nm-ppp-manager.c + - (pppd_timed_out): ensure timeouts fail the connection + +2008-08-14 Dan Williams <dcbw@redhat.com> + + * src/nm-properties-changed-signal.c + src/nm-properties-changed-signal.h + - Add a property spec flag for "don't export this property" in + property changed signals + + * src/nm-hso-gsm-device.c + src/nm-gsm-device.c + src/nm-cdma-device.c + - Don't export monitor interface or netdev interface properties + +2008-08-14 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (update_routing_and_dns): 'hso' devices can be default even if they + don't have a gateway + +2008-08-14 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + - (nm_device_deactivate_quickly): tear down activation request after + calling device-specific deactivation + + * src/nm-hso-gsm-device.c + - (real_deactivate_quickly): terminate connection when deactivating + +2008-08-14 Dan Williams <dcbw@redhat.com> + + * src/nm-activation-request.h + - Add HSO secrets caller + + * src/nm-gsm-device.c + src/nm-gsm-device.h + - (modem_wait_for_reply): add a 'user_data' argument so callers can pass + something to the callback function + - (set_apn, set_apn_done): call class dial function, not a static one + - (nm_gsm_device_class_init): add a class 'dial' function + + * src/nm-hal-manager.c + - (get_hso_netdev): find the hso-driven hardware's net device + - (modem_device_creator): recognize hso-driven hardware and create the + right type of device object for it + + * src/Makefile.am + src/nm-hso-gsm-device.c + src/nm-hso-gsm-device.h + - Implement support for devices driven by the 'hso' driver as a subclass + of NMGsmDevice + +2008-08-14 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerSystem.c + - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using + - (nm_system_device_set_up_down_with_iface): cleanups; only return + success if the operation really was successful + +2008-08-14 Dan Williams <dcbw@redhat.com> + + * src/nm-netlink-monitor.c + src/nm-netlink-monitor.h + src/nm-device-ethernet.c + - (nm_netlink_monitor_request_status): return an error on failure + - (constructor): don't segfault on missing error + +2008-08-13 Dan Williams <dcbw@redhat.com> + + * callouts/nm-dispatcher-action.c + - Add IP4 config info to script environment + +2008-08-12 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + - (nm_device_set_ip4_config): don't touch hostnames here; distros + that want to use DHCP hostnames should use dispatcher scripts + for that + + * src/NetworkManagerSystem.h + src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGeneric.h + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerMandriva.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerSuSE.c + - Remove nm_system_set_hostname(), no longer used + + * src/backends/Makefile.am + src/backends/shvar.c + src/backends/shvar.h + - Remove shvar.*; no longer used + +2008-08-12 Dan Williams <dcbw@redhat.com> + + Revert most of the 'hostname' patch. Too much stuff still breaks when + hostname is updated at runtime. Distros or users who want hostname updates + can use dispatcher scripts to update the hostname if they need it. + +2008-08-12 Dan Williams <dcbw@redhat.com> + + * introspection/nm-settings-system.xml + system-settings/src/dbus-settings.c + system-settings/src/dbus-settings.h + - Add a 'Hostname' property (rw) which represents the configured + hostname and domain of the system, if any + + * system-settings/src/nm-system-config-error.c + system-settings/src/nm-system-config-error.h + system-settings/src/nm-system-config-interface.c + system-settings/src/nm-system-config-interface.h + - Add a 'hostname' property to the plugin interface + - Add a method to send updated hostname to plugins to save in their + backing configuration store + + * system-settings/plugins/keyfile/nm-keyfile-connection.c + system-settings/plugins/keyfile/plugin.c + system-settings/plugins/keyfile/writer.c + system-settings/plugins/keyfile/writer.h + system-settings/plugins/ifcfg-suse/plugin.c + - Add minimal hostname support + + * system-settings/plugins/ifcfg-fedora/plugin.c + - Add support for updating system hostname in /etc/sysconfig/network + +2008-08-12 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/shvar.c + system-settings/plugins/ifcfg-fedora/shvar.c + - Fix double-free caused by svSetValue() followed by svCloseFile() + +2008-08-12 Tambet Ingo <tambet@gmail.com> + + * Makefile.am: Fix distcheck. + +2008-08-12 Tambet Ingo <tambet@gmail.com> + + * libnm-glib/*.c. Document some more. + +2008-08-12 Tambet Ingo <tambet@gmail.com> + + Start documenting libnm-glib public API using gtk-doc. + + * libnm-glib/nm-serial-device.c: + * libnm-glib/nm-object.c: + * libnm-glib/nm-gsm-device.c: + * libnm-glib/nm-device.c: + * libnm-glib/nm-device-wifi.c: + * libnm-glib/nm-device-ethernet.c: + * libnm-glib/nm-client.c: + * libnm-glib/nm-cdma-device.c: Document the public API. + + * docs/libnm-glib/libnm-glib.types: Implement. + + * docs/libnm-glib/Makefile.am: Implement. + + * autogen.sh: + * configure.in: + * Makefile.am: Add gtk-doc support. + +2008-08-12 Tambet Ingo <tambet@gmail.com> + + * src/backends/*: Get rid of nm_system_should_modify_resolv_conf(). + + * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate + the composite result of all the IP4 configurations and call a distro + specific update_resolv_conf(). + (update_resolv_conf): Implement one for directly writing to + /etc/resolv.conf and one for opensuse to call netconfig. + +2008-08-11 Dan Williams <dcbw@redhat.com> + + * src/ppp-manager/nm-ppp-manager.c + - (impl_ppp_manager_need_secrets): pass interface as required + +2008-08-11 Dan Williams <dcbw@redhat.com> + + Merge the vpn-properties setting with the vpn setting since it was pointless + to keep both of them around. Convert the vpn 'data' hash table to a hash + of string:string (instead of string:variant) so that system settings plugins + can have an easier time dealing with the arbitrary key/value pairs. + +2008-08-11 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-utils.c + - (nm_utils_register_value_transformations): add value transform for + a hash table of string:string + +2008-08-10 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-vpn-plugin.c + - (nm_vpn_plugin_connect): stop plugin after connection failure from + an idle handler so the Connect reply gets delivered before the + stop StateChanged signal + +2008-08-10 Dan Williams <dcbw@redhat.com> + + * src/nm-ip4-config.c + - (get_property): use common ip4 address/route conversion functions + - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should + copy the new route here, not take ownership + +2008-08-08 Tambet Ingo <tambet@gmail.com> + + * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting): + Update the IP4 setting's method name. + +2008-08-07 Dan Williams <dcbw@redhat.com> + + * introspection/nm-ip4-config.xml + libnm-glib/libnm-glib-test.c + libnm-glib/nm-ip4-config.c + libnm-glib/nm-ip4-config.h + src/NetworkManagerSystem.h + src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGeneric.h + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerMandriva.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerSuSE.c + src/dhcp-manager/nm-dhcp-manager.c + src/nm-device.c + src/nm-ip4-config.c + src/nm-ip4-config.h + - Remove NIS logic; should be done from dispatcher scripts instead + +2008-08-07 Dan Williams <dcbw@redhat.com> + + * src/dhcp-manager/nm-dhcp-manager.c + - (nm_dhcp_manager_get_ip4_config): fix regression which caused + mis-handling of DHCP responses that returned more than one router + (found by Grant Williamson) + +2008-08-07 Dan Williams <dcbw@redhat.com> + + * callouts/nm-dispatcher-action.c + - (nm_dispatcher_action): grab device path and create the device; pass + the device's DHCP4 config to script caller + - (dispatch_scripts): dump the DHCP4 config to the environment of called + scripts + + * libnm-glib/nm-dhcp4-config.c + libnm-glib/nm-dhcp4-config.h + - (nm_dhcp4_config_get_options): expose + - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option + +2008-08-07 Dan Williams <dcbw@redhat.com> + + * include/NetworkManager.h + - Add the DHCP4Config D-Bus interface + + * libnm-glib/Makefile.am + libnm-glib/nm-dhcp4-config.c + libnm-glib/nm-dhcp4-config.h + - Handle DHCP4 config objects exported by NM over D-Bus + + * libnm-glib/nm-device.c + libnm-glib/nm-device.h + - Add a 'dhcp4-config' property + + * libnm-glib/libnm-glib-test.c + - Print out DHCP4 config for devices + - Fix some crashes when no connections are active + + * src/nm-device-interface.c + src/nm-device.c + src/nm-dhcp4-config.c + src/nm-dhcp4-config.h + - Treat dhcp4-config object as an object path at the D-Bus interface so + that when it doesn't exist we can proxy it as "/" which dbus-glib + doesn't let us do when the property type is G_TYPE_OBJECT + +2008-08-07 Dan Williams <dcbw@redhat.com> + + * src/NetworkManager.c + src/NetworkManagerSystem.h + src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGeneric.h + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerMandriva.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerSuSE.c + - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused + +2008-08-06 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-ip4-config.c + libnm-glib/nm-ip4-config.h + - Add 'routes' property + + * libnm-util/nm-setting-vpn.c + libnm-util/nm-setting-vpn.h + - Remove 'routes' property + + * libnm-util/nm-setting-ip4-config.c + libnm-util/nm-setting-ip4-config.h + - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns' + - Add 'ignore-auto-routes' property + - 'routes' exposed over D-Bus is now an array of array of uint (4) to + accomodate route metrics + - 'routes' exposed in C is now a list of NMSettingIP4Route structures + + * libnm-util/nm-utils.c + libnm-util/nm-utils.h + - Add helpers for marshalling IP4 routes + + * src/NetworkManagerUtils.c + - (nm_utils_merge_ip4_config): handle property renames and new route + structure + + * src/NetworkManagerSystem.c + - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config, + nm_system_vpn_device_set_from_ip4_config): respect route metrics + + * src/dhcp-manager/nm-dhcp-manager.c + - (nm_dhcp_manager_get_ip4_config): handle new route structure + + * system-settings/plugins/ifcfg-fedora/reader.c + system-settings/plugins/ifcfg-fedora/writer.c + - Handle routes separately from addresses now that routes have a different + format + + * introspection/nm-ip4-config.xml + src/nm-ip4-config.c + src/nm-ip4-config.h + - Rename internal routing functions + - 'static-routes' renamed to 'routes' + +2008-08-04 Dan Williams <dcbw@redhat.com> + + Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk> + + * src/NetworkManager.c + src/nm-manager.c + src/nm-manager.h + - More explicitly make the NMManager a singleton + +2008-08-04 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-connection.c + libnm-util/nm-connection.h + - (nm_connection_verify): return error on missing 'connection' setting + (found by Sjoerd Simons) + +2008-08-04 Dan Williams <dcbw@redhat.com> + + Handle multiple concurrent PPP connections. + + * src/ppp-manager/nm-ppp-manager.c + src/ppp-manager/nm-ppp-manager.h + - (constructor): only PPP Manager request bus name once; each + NMPPPManager object gets a unique object path + - (nm_ppp_manager_class_init, get_property, set_property, + nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in + at construct time + - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't + remove timeout until PPP manager gets an IP4 config + - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that + the plugin can call back to this specific PPP manager instance + + * src/nm-device-ethernet.c + src/nm-serial-device.c + - Pass parent device in nm_ppp_manager_new() + + * src/nm-gsm-device.c + src/nm-cdma-device.c + - (device_state_changed): don't close serial device on NEED_AUTH + state changed, that's not a failure case like the rest are + + * src/ppp-manager/nm-pppd-plugin.c + - (nm_ip_up): always use index 0 into the ipcp options, because NM always + binds one interface to any pppd process, thus the correct index + is always 0; send PHASE_DEAD on error to alert NM immediately of + problems; try harder to get a peer address in spite of pppd + - (plugin_init): use 'ipparam' as the object path back to our specific + PPP manager instance + +2008-08-04 Dan Williams <dcbw@redhat.com> + + * src/ppp-manager/nm-ppp-manager.c + - (impl_ppp_manager_need_secrets): rework to handle secrets better; + since the GSM and CDMA settings now implement need_secrets, we can + rely on them to do the right thing. Where secrets are not required, + just pass empty strings back to the pppd plugin. + - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings + - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter + on successful IP4 config receipt + +2008-08-04 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-cdma.c + libnm-util/nm-setting-gsm.c + - (verify): validate username & password if they exist + - (need_secrets): if username given, require a password too + +2008-08-04 Dan Williams <dcbw@redhat.com> + + * src/dnsmasq-manager/nm-dnsmasq-manager.c + - (create_dm_cmd_line): really don't listen on lo, despite what the + manpage says about --listen-address without --interface + (bgo #546033) + +2008-08-01 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device.c + - (proxy_get_string): util function for querying a HAL property + - (get_ancestor_device): split out from get_product_and_vendor() + - (get_product_and_vendor): simplify; get more accurate pid & vid info + from PCI devices by querying subsys properties + - (nm_device_update_description): simplify + +2008-08-01 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-ip4-config.c + libnm-util/nm-setting-ip4-config.h + - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and + 'autoip' -> 'link-local'. VPN & PPP connections can also have IPv4 + settings, and they don't necessarily use DHCP. + + * src/NetworkManagerPolicy.c + src/nm-device.c + system-settings/plugins/ifcfg-fedora/reader.c + system-settings/plugins/ifcfg-suse/parser.c + - Fixup for method changes + +2008-07-31 Dan Williams <dcbw@redhat.com> + + * src/nm-activation-request.c + src/vpn-manager/nm-vpn-connection.c + - Correct GetSecrets D-Bus pending call usage; the GetSecrets call + itself should be attached to the activation request or the VPN + connection, not the NMConnection object, since the call is not + expected to live as long as the NMConnection itself + +2008-07-31 Dan Williams <dcbw@redhat.com> + + * src/nm-device-wifi.c + - (real_act_stage2_config): fix issue where association would continue + even though secrets were needed; 'goto out' was in wrong scope and + result of handle_auth_or_fail() should have been dumped directly to + 'ret' to ensure that the association was postponed until secrets + are available + +2008-07-31 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/plugin.c + system-settings/plugins/ifcfg-fedora/reader.c + - Don't ignore unmanaged devices if their ifcfg file doesn't make a + valid NM connection + +2008-07-29 Dan Williams <dcbw@redhat.com> + + * src/nm-gsm-device.c + - (automatic_registration_response, automatic_registration): recognize + denied registration and reorder responses + +2008-07-29 Dan Williams <dcbw@redhat.com> + + * src/nm-serial-device.c + - (nm_serial_device_wait_for_reply): fix timeout calculation. Since + time(2) is used for current time, which returns seconds, we shouldn't + be multiplying by 1000. + +2008-07-28 Dan Williams <dcbw@redhat.com> + + Patch from Fabrice Bellet <fabrice@bellet.info> + + * src/NetworkManagerSystem.c + - (route_in_same_subnet): mask addresses and compare them so that the + function actually does what it says it's going to do (rh #456685) + +2008-07-27 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-ip6-config.c + - (set_property): add missing break that caused routes to be overwritten + with addresses + + * libnm-util/nm-setting-ip6-config.c + - (verify): validate routes and return GError everywhere on invalid setting + - (finalize): don't leak routes + - (set_property): add missing break that caused routes to be overwritten + with addresses + +2008-07-27 Dan Williams <dcbw@redhat.com> + + * libnm-util/* + - Relicense to LGPLv2+ + +2008-07-27 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/reader.c + - (make_ip4_setting): fix parsing automatic configs + +2008-07-27 Dan Williams <dcbw@redhat.com> + + * src/dnsmasq-manager/nm-dnsmasq-manager.c + src/nm-device.c + src/ppp-manager/nm-ppp-manager.c + - Ensure child process gets reaped. The child watch function may be + removed from the mainloop before the child gets killed, so we have + to make sure the child is reaped when it's told to die intentionally + +2008-07-27 Dan Williams <dcbw@redhat.com> + + Patch from Roy Marples <roy@marples.name> + + * src/dhcp-manager/nm-dhcp-dhcpcd.c + - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC + +2008-07-27 Dan Williams <dcbw@redhat.com> + + * src/nm-gsm-device.c + - (init_modem_full): send "ATZ E0" after CPIN, because apparently some + Huawei devices turn echo back on after CPIN (rh #456770) + +2008-07-24 Tambet Ingo <tambet@gmail.com> + + * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add + format argument to g_set_error() call. + + * src/backends/interface_parser.[ch]: Remove. + + * src/backends/Makefile.am: Remove unused files interface_parser.[ch]. + +2008-07-21 Dan Williams <dcbw@redhat.com> + + * src/ppp-manager/nm-ppp-manager.c + - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections + to prevent pppd from picking up some random local address from an + interface that doesn't have anything to do with the one we're + interested in (rh #455348) + +2008-07-17 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-utils.c + - (string_to_utf8): general function for conversion to UTF-8 assisted + by locale + - (nm_utils_ssid_to_utf8): use string_to_utf8() + - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe + +2008-07-17 Dan Williams <dcbw@redhat.com> + + * introspection/Makefile.am + introspection/nm-device.xml + introspection/nm-dhcp4-config.xml + - Add bits for the DHCP4Config property of the device, and the DHCP4Config + itself + * src/nm-device-interface.c + src/nm-device-interface.h + - Add the DHCP4Config property + + * src/nm-device.c + - Keep track of DHCP4 options via a new DHCP4Config property and notify + D-Bus clients when it changes + + * src/nm-dhcp4-config.c + src/nm-dhcp4-config.h + - Simple object to store DHCP4 options, export them over D-Bus, and + notify when they change + + * src/dhcp-manager/nm-dhcp-manager.c + src/dhcp-manager/nm-dhcp-manager.h + - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and + filter server-returned DHCP options into an NMDHCP4Config object + +2008-07-16 Dan Williams <dcbw@redhat.com> + + * introspection/nm-device.xml + - Add device state reasons + +2008-07-16 Dan Williams <dcbw@redhat.com> + + Patch from Roy Marples <roy@marples.name> + + * configure.in + - Add --with-dhcp-client option + + * src/dhcp-manager/Makefile.am + - pass DHCP_CLIENT_PATH on compile line + + * src/dhcp-manager/nm-dhcp-manager.c + src/dhcp-manager/nm-dhcp-manager.h + - Genericize for both dhcpcd and dhclient + + * src/dhcp-manager/nm-dhcp-dhclient.c + - Move dhclient stuff out to it's own file from nm-dhcp-manager.c + + * src/dhcp-manager/nm-dhcp-dhcpcd.c + - Implement support for dhcpcd too + +2008-07-16 Tambet Ingo <tambet@gmail.com> + + * system-settings/src/nm-system-config-interface.c + (nm_system_config_interface_supports_add): Implement. + (nm_system_config_interface_add_connection): Return a boolean to notify + of errors. + + * system-settings/src/nm-polkit-helpers.c: + * system-settings/src/nm-polkit-helpers.h: Move error declarations to + a separate file. + + * system-settings/src/dbus-settings.c (impl_settings_add_connection): + Return an error when none of the plugins support add or if addition + failed for some reason. + + * system-settings/src/nm-system-config-error.h: + * system-settings/src/nm-system-config-error.c: New files, mostly moved + here from nm-polkit-helpers.[ch]. + + * system-settings/src/Makefile.am: Build new files. + + * system-settings/plugins/keyfile/reader.c + (read_array_of_array_of_uint): Make it more general so that it would + work for routes as well. + + * system-settings/plugins/keyfile/writer.c + (write_array_of_array_of_uint): Ditto. + Fix the netmask/prefix writing. + + * system-settings/plugins/keyfile/plugin.c (add_connection): Return + boolean to notify errors. + + * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update): + Return more specific error. + (delete): Ditto. + +2008-07-11 Dan Williams <dcbw@redhat.com> + + Modify the NMDevice::state-changed signal to include the previous state + and reason. Enables the applet to provide more information why device + activation failed. + +2008-07-09 Dan Williams <dcbw@redhat.com> + + * callouts/Makefile.am + callouts/nm-avahi-autoipd-action.c + callouts/nm-avahi-autoipd.conf + - avahi-autoipd callout to send options back to NM + + * src/autoip.c + src/autoip.h + - remove + + * src/nm-device.c + src/nm-device-private.h + src/nm-manager.c + - Use avahi-autoipd for IPv4LL functionality rather than really crappy + old custom stuff + +2008-07-07 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/reader.c + - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to + handle PREFIX too; clean up + +2008-07-07 Dan Williams <dcbw@redhat.com> + + Convert to using IPv4 prefixes instead of netmasks. + +2008-07-03 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-ip4-config.c + libnm-util/nm-setting-ip4-config.h + - Add properties for DHCP Client Identifier and DHCP Hostname + + * src/dhcp-manager/nm-dhcp-manager.c + src/dhcp-manager/nm-dhcp-manager.h + - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config + setting as an argument to pass on to the dhclient config file + creation function + - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when + DHCP is torn down + - (dhclient_run): punt config file handling to create_dhclient_config() + - (create_dhclient_config): create an interface-specific dhclient + config file since there may need to be interface-specific options + passed to dhclient + - (merge_dhclient_config): merge normal distro dhclient config file and + add options from the connection + - (nm_dhcp_device_new): generate the interface specific dhclient + config file path once + - (nm_dhcp_device_destroy): handle partially initialized objects; free + dhclient config file path + + * src/nm-device.c + - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the + DHCP manager when starting DHCP + +2008-07-02 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-8021x.c + - (verify): allow forcing the PEAP label to 0 + +2008-07-02 Dan Williams <dcbw@redhat.com> + + * introspection/nm-active-connection.xml + introspection/nm-vpn-connection.xml + libnm-glib/nm-active-connection.c + src/nm-activation-request.c + src/nm-active-connection.h + src/vpn-manager/nm-vpn-connection.c + - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus + and libnm-glib API since sharing didn't get implemented that way + +2008-07-02 Dan Williams <dcbw@redhat.com> + + * src/nm-device-wifi.c + - (can_scan): don't scan when a shared connection is activated since + that makes drivers mad (causing disconnects); also NM doesn't need + to hedge against disconnects by keeping up-to-date network topology + because the connection originates from the local machine, and thus + there should be no disconnects + +2008-07-01 Dan Williams <dcbw@redhat.com> + + Fix mobile broadband username/password issues. NM was never requesting + mobile broadband secrets, nor was it passing back the username and password + if it had them. + + * marshallers/nm-marshal.list + - Add some new types for activation request objects + + * src/nm-activation-request.c + src/nm-activation-request.h + - (get_secrets_cb): pass the caller type in the signal + - (nm_act_request_request_connection_secrets): take a caller type, so + that GetSecrets() reply handlers know who asked for the secrets in + the first place; use secret hints too so the settings service can + figure out exactly what NM wants (ie, PIN or the PPP password) + + * src/ppp-manager/nm-ppp-manager.c + src/ppp-manager/nm-ppp-manager.h + - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't + detect needed secrets when the secret could be blank, like GSM/CDMA + passwords. So always ask for secrets, and send a hint as to what + secret we really want. + - (nm_ppp_manager_update_secrets): make function more generic by making + the device specific class figure out the username and password, and + accept an error argument to return back over D-Bus + + * src/nm-device-wifi.c + - (link_timeout_cb, handle_auth_or_fail): update for changes to + nm_act_request_request_connection_secrets() + - (real_connection_secrets_updated): update for 'caller' changes + + * src/nm-device.c + src/nm-device.h + - (connection_secrets_updated_cb, connection_secrets_failed_cb): update + for 'caller' changes + + * src/nm-device-ethernet.c + - (real_connection_secrets_updated): update for 'caller' changes and + move logic for getting PPPoE username and password here before + calling nm_ppp_manager_update_secrets() + - (link_timeout_cb, handle_auth_or_fail): update for changes to + nm_act_request_request_connection_secrets() + + * src/nm-cdma-device.c + - (real_connection_secrets_updated): pass username and password back + to the PPP manager when required + + * src/nm-gsm-device.c + - (enter_pin): send the required secret name to the settings service + - (real_connection_secrets_updated): pass username and password back + to the PPP manager when required + +2008-06-30 Dan Williams <dcbw@redhat.com> + + * src/nm-device-wifi.c + - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv + +2008-06-30 Dan Williams <dcbw@redhat.com> + + Attempt to fix various issues causing rh #448889. Mainly, to qualify for + the DISCONNECTED state, the device must not be rfkilled _and_ have a valid + priv->supplicant.iface. When either condition is false, the device should + transition back to UNAVAILABLE because it cannot be used. + + * src/nm-device-wifi.c + - (constructor): cleanup; connect to supplicant manager here since the + supplicant manager is always around + - (supplicant_interface_acquire): rename from init_supplicant_interface, + ensure the supplicant manager is in the IDLE state + - (supplicant_interface_release): rename from cleanup_supplicant_interface, + cancel any pending scans too + - (real_bring_up): don't set up the supplicnat interface here, because + we need the supplicant interface at times when the device may not + be "up" + - (real_take_down): just remove the periodic source + - (schedule_scan): ensure a state that would peg the CPU doesn't happen + - (remove_supplicant_interface_connection_error_handler): cleanup; don't + do anything if there's no supplicant interface + - (cleanup_association_attempt): cleanup + - (supplicant_iface_state_cb_handler): request an immediate scan when + the interface enters the READY state; transition to UNAVAILABLE + state when the interface goes down because the device can't be used + without a supplicant interface + - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean + up and transition to UNAVAILABLE; if the supplicant becomes ready, + acquire the supplicant interface and transition to DISCONNECTED + if the radio isn't killed + - (nm_device_wifi_dispose): move most of device_cleanup() here + - (state_changed_cb): release any existing supplicant interface; if the + radio is enabled then try to acquire a new supplicant interface; + if the radio is enabled and a supplicant interface has been acquired, + we can transition to DISCONNECTED + - (nm_device_wifi_set_enabled): if bringing the hardware up failed, + don't enable the radio, because HAL probably lied to us about the + killswitch being off. If bringing the hardware up worked, then + try to grab a supplicant interface, and if that was successful, + transition to DISCONNECTED + +2008-06-30 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-interface.c + - (request_scan_results, nm_supplicant_interface_dispose, + wpas_iface_query_scan_results): cleanup; scan_results_timeout is now + the id of the timeout, not a GSource + +2008-06-30 Tambet Ingo <tambet@gmail.com> + + * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a + bunch of typoes introduced by "Patch from David Cantrell + <dcantrell@redhat.com> and me". + +2008-06-30 Tambet Ingo <tambet@gmail.com> + + * src/nm-serial-device.c: + * src/nm-gsm-device.c: + * src/nm-cdma-device.c: Move the pending call handling to a common location + in serial device. Handle setting device state to failed in one place as well. + +2008-06-29 Dan Williams <dcbw@redhat.com> + + * src/nm-hal-manager.c + - Rework killswitch handling to query killswitch status immediately + when the first killswitch is added, so that rfkill state is + known as early as possible + - Also treat failure of GetPower() as rfkill when the dbus method + call times out (but not when the HAL callout returns an error) + +2008-06-26 Dan Williams <dcbw@redhat.com> + + Patch from David Cantrell <dcantrell@redhat.com> and me + + * include/nm-dbus-glib-types.h + - Add IP6 address types + + * libnm-util/Makefile.am + libnm-util/nm-setting-ip6-config.c + libnm-util/nm-setting-ip6-config.h + - Add IP6 settings object + + * libnm-util/nm-connection.c + - (register_default_settings): register ip6 settings object + + * libnm-util/nm-utils.c + libnm-util/nm-utils.h + - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue, + nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add + ip6 address conversion functions + +2008-06-26 Dan Williams <dcbw@redhat.com> + + Patch from David Cantrell <dcantrell@redhat.com> + + * Use inet_ntop() and inet_pton() everwhere and check for errors + +2008-06-26 Dan Williams <dcbw@redhat.com> + + * Update FSF address in license headers (Michael Biebl <biebl@debian.org>) + +2008-06-26 Dan Williams <dcbw@redhat.com> + + Patch from Adel Gadllah <adel.gadllah@gmail.com> + + * src/nm-device-wifi.c + - (link_timeout_cb): don't ignore disconnects due to scanning + - (supplicant_iface_connection_state_cb_handler): instead, schedule + a longer timeout when scanning; avoids case where supplicant can't + find the AP and just keeps scanning forever but isn't connected + +2008-06-26 Dan Williams <dcbw@redhat.com> + + Patch from Michael Biebl <biebl@debian.org> + + * Clean up build system stuff + +2008-06-23 Christian Persch <chpe@gnome.org> + + * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c: + * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h: + * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c: + (impl_get_object): + * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c: + (impl_get_object): + * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c: + * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h: + * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c: + (impl_get_object): + * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c: + * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h: + * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup): + * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object): + * vpn-daemons/pptp/properties/vpnui_opt.c: + (vpnui_opt_connect_signals): + * vpn-daemons/pptp/properties/vpnui_opt.h: + * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c: + * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use + deprecated gtk type macros. Bug #539325. + +2008-06-20 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-vpn-plugin-ui-interface.c + libnm-glib/nm-vpn-plugin-ui-interface.h + - 'validity-changed' -> 'changed' to work better with the connection + editor. Plugin UI widgets should emit 'changed' whenever their + UI values change in a meaningful way. + - (nm_vpn_plugin_ui_widget_interface_update_connection): the + update_connection member now returns validity of the UI widget + +2008-06-20 Tambet Ingo <tambet@gmail.com> + + * libnm-util/nm-connection.c (nm_connection_duplicate): Implement. + +2008-06-17 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-vpn-plugin-ui-interface.c + libnm-glib/nm-vpn-plugin-ui-interface.h + - Add "desc" property for longer descriptions of the VPN plugin + +2008-06-16 Dan Williams <dcbw@redhat.com> + + * configure.in + libnm-glib/libnm_glib_vpn.pc.in + - add a .pc file for libnm_glib_vpn + + * libnm-glib/nm-vpn-plugin-ui-interface.c + libnm-glib/nm-vpn-plugin-ui-interface.h + - Move the glib/GNOME VPN UI plugin interface into libnm-glib and + rework it substantially + +2008-06-12 Dan Williams <dcbw@redhat.com> + + Add a GError argument to nm_connection_verify() and nm_setting_verify(), + and add error enums to each NMSetting subclass. Each NMSetting subclass now + returns a descriptive GError when verification fails. + +2008-06-11 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * libnm-util/nm-setting-gsm.c + - (verify): validate APN + + * src/nm-gsm-device.c + - (manual_registration_done): start setting APN if needed + - (set_apn, set_apn_done): set the APN + - (do_dial): use the APN when dialing + +2008-06-11 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerSystem.c + - (nm_system_device_set_ip4_route, + nm_system_device_replace_default_ip4_route): check for the right + return value from rtnl_route_add() to know when to add a gateway + route (from Tambet) + +2008-06-11 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - do_ipt_cmd -> do_cmd + - (sharing_init): use do_cmd() instead of system() + +2008-06-10 Dan Williams <dcbw@redhat.com> + + The grand 802-11-wireless rename. Get rid of the 802-11/80211/802_11 bits + and use "wifi" everwhere instead. + +2008-06-10 Dan Williams <dcbw@redhat.com> + + The grand 802-3-ethernet rename. Get rid of the 802-3/8023/802_3 bits. + +2008-06-10 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the + changes. + + * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add + a signal to emit these changes over dbus. + + * src/Makefile.am: Genereate nm-serial-device-glue. + + * libnm-glib/nm-serial-device.[ch]: Implement. + + * libnm-glib/nm-cdma-device.[ch] + libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice. + + * libnm-glib/Makefile.am: Add nm-serial-device.[ch]. + + * introspection/nm-device-serial.xml: Implement. + + * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml. + + * introspection/Makefile.am: Add nm-device-serial.xml. + + * include/NetworkManager.h: Add a DBus interface for serial device. + +2008-06-10 Dan Williams <dcbw@redhat.com> + + * configure.in + - Add TARGET_* define to config.h to distinguish distros + + * src/dhcp-manager/nm-dhcp-manager.c + - (dhclient_run): use distro-specific path for dhclient config file + +2008-06-09 Dan Williams <dcbw@redhat.com> + + * src/dnsmasq-manager/nm-dnsmasq-manager.c + src/dnsmasq-manager/nm-dnsmasq-manager.h + - (create_dm_cmd_line): use the IP4 address of the ip4-config to + calculate the addresses passed to dnsmasq instead of hard-coding + them + + * src/nm-device.c + - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing + IP addresses for shared connections to guard against shared + connection address collisions + - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on + error conditions + - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to + the dnsmasq manager + +2008-06-09 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (update_routing_and_dns): set the default connection _after_ unsetting + default on all non-default connections so that two connections can + never be default at the same time + - (device_state_changed): start and stop connection sharing when + needed + - (active_connection_default_changed): restart or stop sharing when + the default connection changes to keep shared connections always + NAT-ed through the default connection + - (check_sharing): handle activation/deactivation of shared connections + - (sharing_restart): atom-bomb approach to connection sharing until we + can use libnl; reinit all sharing when the default connection or + shared connections change + - (sharing_init, sharing_stop): evil functions that init and deinit + iptables + +2008-06-09 Dan Williams <dcbw@redhat.com> + + * src/nm-activation-request.c + src/nm-activation-request.h + - (nm_act_request_set_shared, nm_act_request_get_shared, + nm_act_request_get_device): new functions to facilitate connection + sharing + +2008-06-09 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + - (clear_act_request): unset the 'default' property of the activation + request when clearing it to ensure the property changed signal gets + delivered and handled + +2008-06-09 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device-802-11-wireless.c + - (access_point_removed_proxy): actually unref the AP after removing + it from the device's AP list. Fixes refcounting bug for APs that + caused them to get mixed up in the applet's menu. + +2008-06-09 Tambet Ingo <tambet@gmail.com> + + * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members. + (nm_dhcp_device_destroy): Destroy the device options hash table. + +2008-06-06 Dan Williams <dcbw@redhat.com> + + * system-settings/src/nm-polkit-helpers.c + - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will + unref the context if the initialization fails; also avoid spew when + the error isn't set + +2008-06-06 Dan Williams <dcbw@redhat.com> + + Patch from Tambet Ingo <tambet@gmail.com> + + * src/NetworkManagerSystem.c + src/NetworkManagerSystem.h + - (nm_system_device_add_ip4_route_via_device_with_iface): remove + - (nm_system_device_set_from_ip4_config): remove unused route_to_iface + - (nm_system_device_set_ip4_route): clean up + - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes + + * src/nm-device.c + - (nm_device_set_ip4_config): remove unused route_to_iface bits + + * src/vpn-manager/nm-vpn-connection.c + - (ip_address_to_string): new function + - (print_vpn_config): use ip_address_to_string + - (merge_vpn_routes): add user-defined routes to the ip4 config + - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent + + * include/NetworkManagerVPN.h + - Add 'routes' key + +2008-06-05 Dan Williams <dcbw@redhat.com> + + Patch from Markus Becker <mab@comnets.uni-bremen.de> + + * test/nm-tool.c + - Show which device is the default device + +2008-06-05 Tambet Ingo <tambet@gmail.com> + + Fix memory leaks. + + * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi): + Free data returned from dbus method call. + + * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges): + dbus_g_method_get_sender() returns a duplicated string, free it + when done. + (check_polkit_privileges): Looks like policykit sometimes returns + error and non-null return value, don't leak errors in that case. + + * system-settings/src/main.c (find_plugin): Don't leak existing + plugin names. + (load_stuff): Don't leak device list and list items. + (have_connection_for_device): Don't leak connection list. + + * system-settings/plugins/keyfile/reader.c (read_one_setting_value): + Free the data received from g_keyfile_get_*. + + * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free + the key when the security object is updated. + + * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb): + Free data returned from dbus method call. + (iface_state_cb): Ditto. + (add_network_cb): Ditto. + (nm_supplicant_interface_add_cb): Don't make another copy of already + duplicated object path. + (nm_supplicant_interface_add_to_supplicant): Free the driver GValue + when done. + + * src/supplicant-manager/nm-supplicant-config.c + (ADD_STRING_LIST_VAL): Fix a memory leak. + + * src/nm-manager.c (free_get_settings_info): Free the allocated + memory slice. + (list_connections_cb): Free data returned from dbus method call. + (system_settings_get_unmanaged_devices_cb): Ditto. + + * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid. + + * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): + * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): + * src/backends/shvar.c (svCloseFile): Free the duplicated content + of the GList. + + * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor + arguments after the object is created. + +2008-06-04 Dan Williams <dcbw@redhat.com> + + * libnm-util/Makefile.am + - Don't distribute nm-param-spec-specialized.h + +2008-06-02 Tambet Ingo <tambet@gmail.com> + + * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property. + + * src/nm-ip4-config.[ch]: Store the static routes as a list of + NMIP4Address, update the getters and setters. + + * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config): + Use the updated NMIP4Config routes api. + + * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge + static routes as well. + + * src/NetworkManagerSystem.c (netmask_to_prefix): Implement. + (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config + routes api. + +2008-05-30 Dan Williams <dcbw@redhat.com> + + * src/named-manager/nm-named-manager.c + src/named-manager/nm-named-manager.h + - Remove stale/obsolete bits for controlling bind over DBus + +2008-05-29 Dan Williams <dcbw@redhat.com> + + * src/dnsmasq-manager/nm-dnsmasq-manager.c + src/dnsmasq-manager/nm-dnsmasq-manager.h + - (nm_dnsmasq_manager_new): move iface argument here + - (constructor): remove, not needed + - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface, + nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile + + * src/nm-device.c + - (real_act_stage4_get_ip4_config, + nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager + changes + +2008-05-29 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + - (dnsmasq_state_changed_cb): new function; fail the connection if + something happens to dnsmasq + - (nm_device_new_ip4_shared_config): new function; create a new + ip4-config for shared connections. Shared connections always use a + fixed static IP address. + - (real_act_stage4_get_ip4_config): handle shared connections; fix + autoip connections by actually using the returned ip4-config and + not leaking it + - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared + connections + - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq + if its active + +2008-05-29 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (real_get_best_auto_connection): auto-activate 'shared' method + connections too + +2008-05-29 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-ip4-config.c + libnm-util/nm-setting-ip4-config.h + - Add a 'shared' method to indicate that this connection should be + brought up with a DHCP and proxy DNS server to facilitate + connection sharing. + - (verify): 'shared' method doesn't allow DNS or searches either + +2008-05-29 Dan Williams <dcbw@redhat.com> + + * configure.in + src/Makefile.am + src/dnsmasq-manager/Makefile.am + src/dnsmasq-manager/nm-dnsmasq-manager.c + src/dnsmasq-manager/nm-dnsmasq-manager.h + - Add a dnsmasq daemon manager to facilitate connection sharing + +2008-05-29 Dan Williams <dcbw@redhat.com> + + * src/nm-device-private.h + - Remove unused prototypes and clean up + + * src/nm-device.c + - Remove anything related to system_config_data, which is no longer used + - (nm_device_new_ip4_autoip_config): make static + +2008-05-29 Tambet Ingo <tambet@gmail.com> + + * system-settings/plugins/ifcfg-suse/nm-suse-connection.c + (file_changed): Fix a bug where suse system settings plugin didn't + update the connections automatically when the files changed. + +2008-05-28 Dan Williams <dcbw@redhat.com> + + Revert r3697 (adhoc-create property patch); it's the wrong way to do this. + +2008-05-28 Dan Williams <dcbw@redhat.com> + + Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com> + + * src/NetworkManagerSystem.c + - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl + - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here, + was causing -EINVAL errors since the libnl code actually does flush + the routes on VPN interfaces now + + * src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerMandriva.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerSuSE.c + - (nm_system_device_flush_ip4_routes, + nm_system_device_flush_ip4_routes_with_iface): remove + +2008-05-28 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-wireless.c + libnm-util/nm-setting-wireless.h + - (set_property, get_property, nm_setting_wireless_class_init): add the + 'adhoc-create' property, which when TRUE indicates that NM should + create this connection as an adhoc wifi network if it's not found + as an adhoc network during scanning. Can be used to auto-create + adhoc networks when used in combination with autoconnect. + +2008-05-28 Tambet Ingo <tambet@gmail.com> + + Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>. + + * src/nm-gsm-device.c: Don't try to reset the modem before PIN is + checked, it doesn't work on some devices. + +2008-05-28 Tambet Ingo <tambet@gmail.com> + + * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure + pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it. + + * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config): + Use inet_aton() everywhere to improve error detection. + Don't fall back to 'dhcp_server_identifier' if the gateway is not + provided. + +2008-05-26 Tambet Ingo <tambet@gmail.com> + + * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb): + Fix a typo. + +2008-05-26 Tambet Ingo <tambet@gmail.com> + + * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a + reference counting issue. + +2008-05-23 Dan Williams <dcbw@redhat.com> + + Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com> + + * src/backends/NetworkManagerGeneric.c + - (nm_generic_enable_loopback): use libnl + +2008-05-23 Dan Williams <dcbw@redhat.com> + + Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com> + + * src/NetworkManagerSystem.h + src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerMandriva.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerSuSE.c + - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes, + nm_system_flush_arp_cache): remove, unused + + * src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGeneric.h + - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes, + nm_generic_flush_arp_cache): remove, unused + +2008-05-23 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/reader.c + - (make_ip4_setting): honor PEERDNS setting + +2008-05-23 Dan Williams <dcbw@redhat.com> + + Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com> + + * src/NetworkManagerSystem.c + - (nm_system_device_flush_ip4_addresses_with_iface): implement with + libnl + + * src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerMandriva.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerSuSE.c + - (nm_system_device_flush_ip4_addresses, + nm_system_device_flush_ip4_addresses_with_iface): remove + + * src/backends/NetworkManagerGeneric.c + - (nm_generic_device_flush_ip4_addresses, + nm_generic_device_flush_ip4_addresses_with_iface): remove + +2008-05-23 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-settings-verify.c + - Switch 'bssid' from bytes to keyword type + - (validate_type_keyword): allow NULL keyword lists + + * src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_add_setting_wireless): convert the bssid from + a byte array to string form, which is what the supplicant expects + +2008-05-23 Tambet Ingo <tambet@gmail.com> + + Add a flag to NMSettingIP4Config to make it possible to ignore the DNS + information received from DHCP. + + * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns" + to make it possible to ignore the DNS information (both servers and + searches) returned by DHCP server. + + * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the + name servers and searches if "ignore_dhcp_dns" is set. + + * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers) + (nm_ip4_config_reset_searches): Implement. + +2008-05-22 Dan Williams <dcbw@redhat.com> + + Remove anything mDNS related. This is better done from a distro-specific + dispatcher script. Plus, any distro using avahi doesn't need to restart + avahi, since avahi can handle interface changes just fine using netlink. + + * configure.in + - Remove --with-mdns-provider + + * src/NetworkManagerPolicy.c + - (global_state_changed): don't restart the mdns provider + + * src/NetworkManagerSystem.h + src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerMandriva.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerSuSE.c + - (nm_system_restart_mdns_responder): remove + + * src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGeneric.h + - (nm_generic_restart_mdns_responder): remove + +2008-05-22 Dan Williams <dcbw@redhat.com> + + * configure.in + - clean up crypto options; just use --with-crypto=nss or + --with-crypto=gnutls + +2008-05-22 Tambet Ingo <tambet@gmail.com> + + * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync + anymore, do it right away. + +2008-05-22 Tambet Ingo <tambet@gmail.com> + + * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the + serial device open when we're not connecting or connected. + + * src/nm-cdma-device.c (device_state_changed): Ditto. + +2008-05-22 Tambet Ingo <tambet@gmail.com> + + Don't remove all devices on waking up, sync with HAL. + + * src/nm-manager.c (nm_manager_udi_is_managed): Implement. + (sync_devices): Implement, based on hal_manager_hal_reappeared_cb. + (hal_manager_hal_reappeared_cb): Just call sync_devices. + +2008-05-21 Tambet Ingo <tambet@gmail.com> + + * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route): + If the default gateway is unreachable, add a route to gateway and try + again. + +2008-05-20 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/reader.c + - (add_one_wep_key): handle ASCII WEP keys too (rh #293111) + +2008-05-19 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/reader.c + - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network + if the ifcfg doesn't specify one (rh #446527) + +2008-05-19 Dan Williams <dcbw@redhat.com> + + Make the system settings service exit when the bus goes away. Since it's + a bus-activated service, it's lifetime is limited to the bus that activated + it (rh #444976). + + * system-settings/src/Makefile.am + system-settings/src/nm-system-config-hal-manager-private.h + - Remove nm-system-config-hal-manager-private.h + + * system-settings/src/nm-system-config-hal-manager.c + - (nm_system_config_hal_manager_reinit_dbus, + nm_system_config_hal_manager_deinit_dbus): remove + + * system-settings/src/main.c + - (dbus_reconnect): remove + - (dbus_cleanup): don't tell the HAL manager to deinit dbus + - (destroy_cb): just quit when the bus goes away + - (start_dbus_service, dbus_init): simplify + - (main): destroy the wired devices hash table after destroying + the HAL manager so we don't have to disconnect signals from the + HAL manager + +2008-05-15 Tambet Ingo <tambet@gmail.com> + + Move crypto functions from nm-applet to libnm-util. + + * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert) + (nm_setting_802_1x_set_client_cert) + (nm_setting_802_1x_set_phase2_ca_cert) + (nm_setting_802_1x_set_phase2_client_cert) + (nm_setting_802_1x_set_private_key) + (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate + file (or private key and it's password), read the certificate data. + + * libnm-util/crypto_nss.c: + * libnm-util/crypto_gnutls.c: + * libnm-util/crypto.[ch]: Move here from nm-applet. + + * configure.in: Check for NSS and gnutls here (moved here from nm-applet). + + * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings): + Imlement WPA-EAP configuration reading from sysconfig. + +2008-05-16 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_set_enabled): request a scan after enabling + wireless + +2008-05-14 Dan Williams <dcbw@redhat.com> + + Fix Linus' bug in rh #134886 + + * src/nm-device-802-3-ethernet.c + - (constructor): request initial carrier state + + * src/nm-netlink-monitor.c + - (nm_netlink_monitor_request_status): schedule emission of carrier + signals after refilling the link cache. Because the refill is a + synchronous operation, the normal message hander won't get called + since libnl has already consumed the messages. + - (deferred_emit_carrier_state): emit carrier states from an idle handler + +2008-05-14 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerSystem.c + - (nm_system_device_is_up_with_iface): clean up + +2008-05-13 Dan Williams <dcbw@redhat.com> + + Fix refcounting issues over sleep/wake when a VPN connection was active that + caused NM to try registering an object path for a device upon wake that was + the same as an already registered object path. + + * src/nm-device.c + - (nm_device_take_down): properly handle cases where the device is + no longer active but was just active, and therefore must be + deactivated. When a device moves to unmanaged mode, this function + previously would not deactivate the device, because the state was + already unmanaged by the time this function was called. + + * src/vpn-manager/nm-vpn-connection.c + - (device_state_changed): properly handle multiple devices states in + which the device is now deactivated. Code previously didn't handle + transitions to the UNAVAILABLE (like rfkill or carrier off) and + UNMANAGED states. + +2008-05-13 Dan Williams <dcbw@redhat.com> + + * src/nm-device-private.h + src/nm-device.c + - (nm_device_hw_bring_up, nm_device_hw_take_down): export + + * src/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_set_enabled): take devices up + and down as appropriate for the rfkill state + +2008-05-13 Dan Williams <dcbw@redhat.com> + + * marshallers/nm-marshal.list + - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin + + * system-settings/plugins/ifcfg-fedora/Makefile.am + system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c + system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h + - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE + events. Solely for use watching ifcfg files to pick up changes + to their hardlinks, since GIO doesn't support this yet (bgo #532815) + + * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c + - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the + file contents change + - (finalize): clean up inotify watches + - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile + and the connection ifcfg for changes on their hardlinks + - (files_changed_cb): proxy the changed signal back out to listeners + + * system-settings/plugins/ifcfg-fedora/plugin.c + - (dir_changed): + - (connection_ifcfg_changed): re-read the connection when the ifcfg + changes + - (read_one_connection): connect to change signals on the new connection + - (dir_changed, connection_changed_handler, + handle_connection_remove_or_new): break out connection change + handling and connection new/remove handling so it can be used from + both the GFileMonitor callback and the NMIfcfgConnection changed + signals + + * system-settings/plugins/ifcfg-fedora/reader.c + system-settings/plugins/ifcfg-fedora/reader.h + - (connection_from_file): return the keyfile path the connection would use + +2008-05-13 Tambet Ingo <tambet@gmail.com> + + * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a + single PolKitContext which is shared by all. PolKitContext::unref leaks + just about everything, including all open file descriptiors and results + in 99% cpu usage when data arrives to any of the fds that don't belong + to any context anymore. + +2008-05-12 Dan Williams <dcbw@redhat.com> + + * gfilemonitor/glocaldirectorymonitor.c + gfilemonitor/glocaldirectorymonitor.h + - (g_local_directory_monitor_constructor): actually subscribe to the + watch + - (_g_local_directory_monitor_new): ensure that inotify is started up + + * gfilemonitor/glocalfilemonitor.c + gfilemonitor/glocalfilemonitor.h + - (g_local_file_monitor_constructor): actually subscribe to the watch + - (_g_local_file_monitor_new): ensure that inotify is started up + +2008-05-11 Dan Williams <dcbw@redhat.com> + + * configure.in + - record PolicyKit version + + * system-settings/src/nm-polkit-helpers.c + - (check_polkit_privileges): use polkit_context_can_caller_do_action() + with PolicyKit <= 0.6 + +2008-05-11 Dan Williams <dcbw@redhat.com> + + Update Fedora system-settings plugin to support latest API and use + GFileMonitor rather than home-rolled inotify code. + + * system-settings/plugins/ifcfg-fedora/Makefile.am + system-settings/plugins/ifcfg-fedora/common.h + system-settings/plugins/ifcfg-fedora/plugin.c + - Update to latest system settings plugin API; use GIO instead of + custom inotify code; use NMIfcfgConnection objects instead of + ConnectionData structures tacked onto NMConnection objects + + * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c + system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h + - Implement an NMExportedConnection subclass mapping ifcfg files to + connections + + * system-settings/plugins/ifcfg-fedora/reader.c + system-settings/plugins/ifcfg-fedora/reader.h + - Move ifcfg parsing bits here from parser.c + + * system-settings/plugins/ifcfg-fedora/parser.c + system-settings/plugins/ifcfg-fedora/parser.h + - Remove; most code moved to reader.c + +2008-05-11 Dan Williams <dcbw@redhat.com> + + * configure.in + Makefile.am + gfilemonitor/* + - Add a private copy of the GIO GFileMonitor code, with a custom GFile + implementation, so that the same change monitoring code can be used + on systems without glib-2.14 (like Fedora 8) + + * system-settings/plugins/keyfile/Makefile.am + system-settings/plugins/keyfile/plugin.c + system-settings/plugins/ifcfg-suse/Makefile.am + system-settings/plugins/ifcfg-suse/plugin.c + - Use private gfilemonitor code if GIO is not present + +2008-05-09 Tambet Ingo <tambet@gmail.com> + + * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement + NMExportedConnection's 'update' and 'delete' and return error with + descriptive message. + +2008-05-08 Dan Williams <dcbw@redhat.com> + + Patch from Markus Becker <mab@comnets.uni-bremen.de> + + * src/nm-gsm-device.c + src/nm-cdma-device.c + - (real_get_best_auto_connection): implement; allow autoconnection + to GSM & CDMA devices + +2008-05-08 Tambet Ingo <tambet@gmail.com> + + Use PolicyKit to authorize the system settings' AddConnection method + and the system settings connections' Update and Delete methods. + + * libnm-glib/nm-settings.c (impl_exported_connection_update) + (impl_exported_connection_delete, nm_exported_connection_update) + (nm_exported_connection_delete): Return boolean and fill GError + to notify the callers of the reasons why it might have failed. + + * libnm-glib/nm-dbus-settings-system.c + (nm_dbus_settings_system_add_connection): Return the error from dbus + call so that the callers can see why it failed. + + * libnm-glib/nm-dbus-connection.c (update, delete): Update the + signatures. + + * system-settings/src/nm-polkit-helpers.[ch]: Implement. + + * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New + abstract base class that checks PolicyKit permissions. + + * system-settings/src/dbus-settings.c: + (impl_settings_add_connection): Check the policy before carring out + the request. + + * system-settings/plugins/keyfile/nm-keyfile-connection.c: + Inherit from NMSysconfigConnection, check the policies before + allowing updating or removing. + + * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: + Inherit from NMSysconfigConnection. + + * introspection/nm-exported-connection.xml: Annotate "Update" and + "Delete" methods with async flag so that the implementations can get + access to DBusGMethodInvocation. + + * system-settings/src/dbus-settings.c + (settings_add_connection_check_privileges): Implement. + (impl_settings_add_connection): Check the privileges before adding a new + connection. Improve error reporting. + + * introspection/nm-settings-system.xml: Make the 'AddConnection' method + async so that the implementation can access DBusGMethodInvocation. + + * configure.in: Check for PolicyKit. + + * policy/org.freedesktop.network-manager-settings.system.policy: + New file. + + * policy/Makefile.am: Install the policy file. + + * configure.in: Add 'policy' subdir. + +2008-05-08 Tambet Ingo <tambet@gmail.com> + + Rewrite the suse system settings plugin. + + * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite. + + * system-settings/plugins/ifcfg-suse/parser.c: Rewrite. + + * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement. + + * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build. + + * system-settings/src/dbus-settings.c: Fix connection reference counting. + + * system-settings/src/main.c (load_plugins): Improve error reporting. + + * system-settings/src/sha1.[ch] Add. + + * system-settings/src/Makefile.am: Add sha1[ch] to build. + +2008-05-07 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/keyfile/reader.c + - (read_one_setting_value): handle IP address items separately + - (read_array_of_uint): read IPv4 DNS option as a string array + - (read_array_of_array_of_uint): read IPv4 address tuples as a string + array + + * system-settings/plugins/keyfile/writer.c + - (write_setting_value): handle IP address items separately + - (write_array_of_uint): handle IPv4 DNS option as a string array, + not an array of uint, so that it's user-editable + - (write_array_of_array_of_uint): handle IPv4 address tuples as string + arrays, so they are user-editable + +2008-05-07 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/keyfile/Makefile.am + - Change location of the keyfile plugin settings to + /etc/NetworkManager/system-connections + +2008-05-05 Tambet Ingo <tambet@gmail.com> + + * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement. + + * system-settings/plugins/keyfile/plugin.c: Work with + NMKeyfileConnections. + + * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection. + Plugins are supposed to return NMExportedConnections now and handle the + updated(), removed(), and GetSecrets(). + Store the internal list of connections in hash table to make it easier + to find duplicates. + +2008-05-07 Tambet Ingo <tambet@gmail.com> + + * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update + for multiple IP addresses. + +2008-05-07 Tambet Ingo <tambet@gmail.com> + + Patch from André Lemos. + + * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory + corruption. + +2008-05-06 Dan Williams <dcbw@redhat.com> + + * src/dhcp-manager/nm-dhcp-manager.c + - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to + NMIP4Config to support multiple IP addresses + + * src/NetworkManagerUtils.c + - (nm_utils_merge_ip4_config): update for multiple IP addresses + + * src/nm-ip4-config.c + src/nm-ip4-config.h + - Store a list of IPv4 address/netmask/gateway tuples + - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway, + nm_ip4_config_get_netmask, nm_ip4_config_set_netmask, + nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast, + nm_ip4_config_set_address): remove + - (nm_ip4_config_take_address, nm_ip4_config_add_address, + nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses): + new functions; handle multiple IPv4 addresses + + * src/nm-device.c + src/ppp-manager/nm-ppp-manager.c + src/vpn-manager/nm-vpn-connection.c + src/NetworkManagerPolicy.c + test/nm-tool.c + libnm-glib/libnm-glib-test.c + - update for changes to NMIP4Config for multiple IPv4 addresses + + * src/NetworkManagerSystem.c + - (nm_system_device_set_ip4_route): don't add the route if any address + is on the same subnet as the destination + - (check_one_address): ignore the exact match, just match family and + interface index + - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to + an interface + - (nm_system_device_set_from_ip4_config): use add_ip4_addresses() + - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses() + + * introspection/nm-ip4-config.xml + - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties + - Add 'addresses' property which is an array of (uuu) tuples of + address/netmask/gateway + + * libnm-util/nm-setting-ip4-config.c + - (set_property): use ip-address <-> GValue converters from nm-utils.c + + * libnm-glib/nm-ip4-config.c + libnm-glib/nm-ip4-config.h + - Handle D-Bus interface changes to support multiple IP addresses + +2008-05-06 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-utils.c + libnm-util/nm-utils.h + - (nm_utils_ip4_addresses_from_gvalue, + nm_utils_ip4_addresses_to_gvalue): new functions + +2008-05-06 Tambet Ingo <tambet@gmail.com> + + * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak + the returned connection paths. + +2008-05-05 Tambet Ingo <tambet@gmail.com> + + * libnm-glib/nm-dbus-settings.c (constructor): Fix the + "PropertiesChanged" signal signature. + + * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType + defined in nm-dbus-glib-types.h. + Don't register the connection on dbus, we're a proxy class to + communicate with an already registered connection over dbus. + +2008-04-30 Tambet Ingo <tambet@gmail.com> + + Implement new subclasses of NMSettings and NMExportedConnection to make + it easier for the applet to access and modify system settings. + + * libnm-glib/nm-dbus-connection.[ch]: + * libnm-glib/nm-dbus-settings.[ch]: + * libnm-glib/nm-dbus-settings-system.[ch]: Implement. + + * libnm-glib/Makefile.am: Add the new files to build, generate some more + bindings and glue. + + * include/NetworkManager.h: Define the system settings DBus interface. + +2008-04-30 Tambet Ingo <tambet@gmail.com> + + Implement additional C API for exported connections to make them identical + with the DBus API. Change the (list_connections) virtual function to be + more usable from C - instead of requiring implementers to return a GPtrArray + of dbus paths, return a list of connections. + + * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo. + (nm_settings_list_connections): + (nm_exported_connection_new): + (nm_exported_connection_update): + (nm_exported_connection_delete): Implement. + + (impl_settings_list_connections): + (impl_exported_connection_update): + (impl_exported_connection_delete): Use the new public functions to make + sure the C and dbus interfaces stay in sync. + + * system-settings/src/dbus-settings.c (list_connections): Return a list of + connections. + +2008-05-02 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/plugin.c + - (dispose): use right unref call on the DBusGConnection + +2008-05-02 Dan Williams <dcbw@redhat.com> + + * src/nm-serial-device.c + - (find_terminator): don't compare the whole line, just the size of the + terminator, since some modems put stuff after the terminator, like + "CONNECT 9600" + +2008-05-01 Dan Williams <dcbw@redhat.com> + + Patch from Michael Biebl <biebl@debian.org> + + * callouts/Makefile.am + callouts/org.freedesktop.nm_dispatcher.service.in + system-settings/src/Makefile.am + system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in + - use the right install location for dbus-activated stuff + +2008-04-30 Dan Williams <dcbw@redhat.com> + + * src/nm-gsm-device.c + - (enter_pin): fix setting name passed to applets when asking for a GSM + PIN or PUK + +2008-04-30 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (nm_manager_error_get_type): remove erroneous NULL enum from table + +2008-04-30 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-3-ethernet.c + src/nm-device-802-11-wireless.c + - (real_is_up): return true instead of chaining up to unimplemented + parent method + +2008-04-30 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerSystem.c + src/NetworkManagerSystem.h + - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new + functions to check device flags for IFF_UP + + * src/nm-serial-device.c + - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't + implement is_up + + * src/nm-device-802-3-ethernet.c + src/nm-device-802-11-wireless.c + - (real_hw_is_up): call nm_system_device_is_up() + + * src/nm-device.c + - (real_hw_is_up): move to nm_system_device_is_up_with_iface() + - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass + does not implement + +2008-04-29 Dan Williams <dcbw@redhat.com> + + Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet. + + * marshallers/nm-marshal.list + - Add marshaller + + * src/NetworkManager.c + - (main): let the NMManager handle the NMHalManager + + * src/nm-hal-manager.c + src/nm-hal-manager.h + - convert to a GObject, and emit singals when stuff changes. Let the + NMManager handle the signals, instead of the NMHalManager calling + into the NMManager. + + * src/nm-manager.c + src/nm-manager.h + - (remove_one_device): consolidate device removals here + - (dispose): use remove_one_device() + - (nm_manager_get_device_by_udi): make static + - (deferred_hal_manager_query_devices): idle handler to query the HAL + manager for devices at startup or wakeup time + - (nm_manager_new): create and monitor the HAL manager + - (hal_manager_udi_added_cb): new function; do what + nm_manager_add_device() used to do when signalled by the hal manager + - (hal_manager_udi_removed_cb): new function; do what + nm_manager_remove_device() used to do when signalled by the hal + manager + - (hal_manager_rfkill_changed_cb): handle rfkill changes from the + hal manager + - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices + in our device list that aren't known to HAL + - (impl_manager_sleep): on wakeup, re-add devices from an idle handler; + see comments on nm-hal-manager.c::nm_manager_state_changed() a few + commits ago + - (nm_manager_get_device_by_path, nm_manager_is_udi_managed, + nm_manager_activation_pending, nm_manager_wireless_enabled, + nm_manager_wireless_hardware_enabled, + nm_manager_set_wireless_hardware_enabled): remove, unused + +2008-04-28 Dan Williams <dcbw@redhat.com> + + Fix the device up/down ambiguities. Up/down state used to be a + conglomeration of hardware state (IFF_UP) and any device-specific things + (supplicant, periodic timers, etc) that the device used to indicate + readiness. Unfortunately, if the hardware was already IFF_UP for some + reason, then the device specific stuff wouldn't get run, and the device + would be stuck. + + * src/nm-device.c + src/nm-device.h + - Create hw_is_up, hw_bring_up, and hw_take_down + - Rename bring_down -> take_down + - (real_hw_is_up): check interface flags for IFF_UP + - (nm_device_hw_is_up): let subclasses figure out their own HW state + - (nm_device_is_up): make static; only used locally + - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even + if the device is already up; if the device isn't up, bring it up + - (nm_device_hw_take_down): just take down hardware + - (nm_device_bring_up): bring up HW first, then device specific stuff + - (nm_device_take_down): always deactivate device when called; always + try to take hardware down too + - (nm_device_state_changed): take device down when entering unmanaged + state from a higher state + + * src/nm-device-802-11-wireless.c + - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just + check IFF_UP really + - (real_take_down, supplicant_iface_state_cb_handler, + supplicant_iface_connection_state_cb_handler, + supplicant_mgr_state_cb_handler): fix some messages + + * src/nm-device-802-3-ethernet.c + - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just + check IFF_UP really + +2008-04-28 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + src/nm-manager.h + - (nm_manager_error_get_type): add new error + - (nm_manager_remove_device): don't bother taking down the device here, + the state change from unmanaging the device will do it + - (impl_manager_sleep): move nm_manager_sleep() here since nothing else + uses it; when going to sleep, just unmanage the device instead of + taking it down, because stuff will cleaned up correctly when the + device gets unmanaged + +2008-04-28 Dan Williams <dcbw@redhat.com> + + * src/nm-hal-manager.c + - (add_initial_devices): convert to a GSourceFunc prototype + - (nm_manager_state_changed): when coming out of sleep, punt the + device re-addition to an idle handler to let D-Bus events go out + first, fixing a potential dbus-glib assert if the old device was + not yet disposed (due to references held while emitting the D-Bus + signals) but the new device was found, because the mainloop didn't + run between signal emission and add_initial_devices() + +2008-04-27 Dan Williams <dcbw@redhat.com> + + Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com> + + * initscript/paldo/NetworkManager.in + initscript/SUSE/networkmanager.in + - Remove last bits of dhcdbd + +2008-04-27 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (link_timeout_cb): don't ask for secrets when disconnected during + association/authentication phase, drivers are still just too crappy + +2008-04-27 Dan Williams <dcbw@redhat.com> + + * Makefile.am + configure.in + dispatcher-daemon/Makefile.am + dispatcher-daemon/NetworkManagerDispatcher.c + initscript/Arch/Makefile.am + initscript/Arch/networkmanager-dispatcher.in + initscript/Gentoo/Makefile.am + initscript/Gentoo/NetworkManagerDispatcher.in + initscript/Mandriva/Makefile.am + initscript/Mandriva/networkmanagerdispatcher.in + initscript/RedHat/Makefile.am + initscript/RedHat/NetworkManagerDispatcher.in + initscript/SUSE/Makefile.am + initscript/SUSE/networkmanager-dispatcher.in + initscript/Slackware/Makefile.am + initscript/Slackware/rc.networkmanager-dispatcher.in + initscript/paldo/Makefile.am + initscript/paldo/NetworkManagerDispatcher.in + man/Makefile.am + man/NetworkManagerDispatcher.8.in + - Remove the dispatcher daemon + +2008-04-27 Dan Williams <dcbw@redhat.com> + + * callouts/Makefile.am + callouts/nm-dispatcher-action.c + callouts/nm-dispatcher-action.h + callouts/nm-dispatcher.conf + callouts/nm-dispatcher.xml + callouts/org.freedesktop.nm_dispatcher.service + - Re-implement the dispatcher as a system-bus activated service that + NM calls on-demand, rather than an always running daemon + + * src/Makefile.am + - Add callouts dir to includes to pick up dispatcher defines + + * src/nm-device.c + - (nm_device_state_changed): call dispatcher on device activated/ + deactivated + + * src/vpn-manager/nm-vpn-connection.c + - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections + go up and down + + * src/NetworkManagerUtils.c + src/NetworkManagerUtils.h + - (nm_utils_call_dispatcher): helper to call dispatcher + +2008-04-27 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerUtils.c + src/NetworkManagerUtils.h + - remove unneeded includes + - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal, + nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed, + nm_timeval_cmp, nm_timeval_add): remove, unused + - clean up formatting + - (nm_spawn_process): de-uglify + + * src/nm-device-802-11-wireless.c + - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal() + +2008-04-26 Saleem Abdulrasool <compnerd@compnerd.org> + + * initscript/Gentoo/NetworkManager.in: + Fix for starting the daemon. + +2008-04-25 Dan Williams <dcbw@redhat.com> + + Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com> + + * src/NetworkManagerSystem.c + - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls + +2008-04-25 Dan Williams <dcbw@redhat.com> + + Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com> + + * src/NetworkManagerSystem.c + - (nm_system_device_replace_default_ip4_route): new function; a libnl + implementation of nm_system_device_replace_default_route() + + * src/NetworkManagerPolicy.c + - (update_default_route): use nm_system_device_replace_default_ip4_route() + + * src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGeneric.h + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerMandriva.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerSuSE.c + - (nm_system_device_replace_default_route): remove + +2008-04-25 Dan Williams <dcbw@redhat.com> + + Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com> + + * src/NetworkManagerSystem.c + - (validate_ip4_route): remove; use nl_addr_parse() instead + - (nm_system_device_add_ip4_route_via_device_with_iface): new function, + replace nm_system_device_add_route_via_device_with_iface() in the + backends + + * src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGeneric.h + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerMandriva.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerSuSE.c + - Remove nm_system_device_add_route_via_device_with_iface() + +2008-04-25 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/parser.c + - (GET_ONE_DNS): fix parsing of DNS2 & DNS3 + +2008-04-24 Dan Williams <dcbw@redhat.com> + + * dispatcher-daemon/NetworkManagerDispatcher.c + - (nmd_execute_scripts): execute scripts in order as sorted by strcmp() + +2008-04-24 Dan Williams <dcbw@redhat.com> + + * initscript/RedHat/NetworkManager.in + initscript/RedHat/NetworkManagerDispatcher.in + - Be active at runlevel 2 + - Adjust priorities earlier + +2008-04-22 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (update_routing_and_dns): when checking for a gateway, look at the + composite IP4 config, not the connection's ip4-config setting, which + doesn't include DHCP-returned information + +2008-04-22 Tambet Ingo <tambet@gmail.com> + + Implement GKeyFile system settings plugin. + Implement writing system settings (currently supported only by GKeyFile plugin). + + * system-settings/src/main.c: + * system-settings/src/dbus-settings.c: Move the communication with plugins + from main.c to dbus-settings.c. Makes it possible to talk to all registered + plugins for adding/updating/removing connections. + + * system-settings/src/nm-system-config-interface.c + (nm_system_config_interface_add_connection): Implement + (nm_system_config_interface_update_connection): Implement. + (nm_system_config_interface_remove_connection): Implement. + + * system-settings/plugins/keyfile/Makefile.am: + * system-settings/plugins/keyfile/plugin.[ch]: + * system-settings/plugins/keyfile/writer.[ch]: + * system-settings/plugins/keyfile/reader.[ch]: Implement. + + * system-settings/plugins/Makefile.am: Add GKeyFile plugin. + + * configure.in: Generate GKeyFile Makefile. + + * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory + corruption, need to duplicate the returned string. + (impl_exported_connection_update): Implement. + (impl_exported_connection_delete): Implement. + + * introspection/nm-settings-system.xml: Add "AddConnection" method. + + * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods. + +2008-04-22 Dan Williams <dcbw@redhat.com> + + Patch from Charles R. Anderson (cra@wpi.edu) + + * src/NetworkManagerPolicy.c + - (update_routing_and_dns): don't select devices without a gateway + as having the default route (rh #437338) + +2008-04-21 Dan Williams <dcbw@redhat.com> + + * src/nm-activation-request.c + src/nm-activation-request.h + - (dispose): ensure to disconnect from the device's state-changed signal + when appropriate so the signal doesn't get handled by an already + disposed NMActRequest + - (device_state_changed): update is_default here too just to make sure + default is only True when the child device is activated + - (nm_act_request_set_default): new function + + * src/NetworkManagerPolicy.c + - (update_routing_and_dns): set 'default' on the active connection which + has the default route and DNS + +2008-04-21 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (device_state_changed): update routing and DNS when a device goes + into unmanaged or unavailable states too (like rfkill or carrier loss) + +2008-04-21 Dan Williams <dcbw@redhat.com> + + * include/NetworkManager.h + - Add NMActiveConnectionState enum + + * introspection/nm-active-connection.xml + introspection/nm-vpn-connection.xml + - Add 'State' property for overall active connection state + - Add 'Default' property, when True means this active connection + has the default route + - Add PropertyChanged signals so changes actually go out over the bus + + * src/nm-active-connection.h + - Add defines for State & Default properties + + * src/nm-activation-request.c + - Add 'state' and 'default' properties, hook up to device 'state-changed' + signal to determine active connection state + + * src/vpn-manager/nm-vpn-connection.c + src/vpn-manager/nm-vpn-connection.h + src/vpn-manager/nm-vpn-manager.c + src/vpn-manager/nm-vpn-service.c + - Rename old 'state' to 'vpn-state' + - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state() + - Add 'state' and 'default' properties, hook up to the vpn connection's + 'vpn-state-changed' signal + + * libnm-glib/nm-active-connection.c + libnm-glib/nm-active-connection.h + - Add new 'state' and 'default' properties and accessors + + * libnm-glib/nm-vpn-connection.c + libnm-glib/nm-vpn-connection.h + - Rename old 'state' property to 'vpn-state' + - Add new 'state' and 'default' properties and accessors + +2008-04-21 Dan Williams <dcbw@redhat.com> + + * src/nm-ip4-config.c + - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's + not specified (rh #443474) + +2008-04-20 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerUtils.c + src/NetworkManagerUtils.h + - (nm_utils_merge_ip4_config): new function; merge settings from an + NMSettingIP4Config to an NMIP4Config object + + * src/nm-device.c + - (merge_ip4_config): move to NetworkManagerUtils.c + + * src/vpn-manager/nm-vpn-connection.c + - (nm_vpn_connection_ip4_config_get): merge in user-specified settings + too + +2008-04-18 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-ppp.c + libnm-util/nm-setting-ppp.h + - Add 'no-vj-comp' option for TCP header compression + - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really + uint32 + +2008-04-18 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-ppp.c + libnm-util/nm-setting-ppp.h + src/ppp-manager/nm-ppp-manager.c + - Add 'refuse-pap' and 'refuse-mschapv2' options + +2008-04-18 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-ppp.c + libnm-util/nm-setting-ppp.h + src/ppp-manager/nm-ppp-manager.c + - Remove the 'usepeerdns' option and always request DNS servers from + the PPP server; the connection chooses to use/override/ignore the + DNS servers returned from the PPP server + +2008-04-18 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-ppp.c + libnm-util/nm-setting-ppp.h + src/ppp-manager/nm-ppp-manager.c + - Remove the 'require-mppc' option, because pppd doesn't support it and + it seems to have been an erroneous addition to the PPTP plugin in + the first place (from which the ppp-manager is derived) + +2008-04-17 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-pppoe.c + - (verify): require a PPP setting too + + * src/ppp-manager/nm-ppp-manager.c + - (nm_ppp_manager_start): fail if no PPP setting is present instead of + segfaulting + +2008-04-17 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + - (nm_device_state_changed): do deactivation and and promotion to + unavailable here, so that the device gets cleaned up before the + manager runs and starts emitting signals; do the + FAILED->DISCONNECTED transition from an idle handler rather than + immediately to guard against recursion + - (nm_device_deactivate_quickly, nm_device_dispose): stop the + FAILED->DISCONNECTED handler if it's scheduled + +2008-04-17 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (state_changed_cb): clear AP list when device transitions to + unavailable or unmanaged + - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap() + since this is already done in device_cleanup() + - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device + isn't available or managed + - (device_cleanup): use remove_all_aps() + - (remove_all_aps): consolidate code removing all APs + +2008-04-17 Dan Williams <dcbw@redhat.com> + + * src/nm-serial-device.c + src/nm-serial-device.h + - (wait_for_reply_got_data): break input into lines, and search each + line for responses _and_ terminator strings; also make sure that + the read loop doesn't continue after the timeout is supposed to fire + - (nm_serial_device_wait_for_reply): take an array of terminators too + + * src/nm-gsm-device.c + src/nm-cdma-device.c + - Send terminators to nm_serial_device_wait_for_reply() + +2008-04-16 Dan Williams <dcbw@redhat.com> + + Patch from 陈鑫 <znscnchen@gmail.com> + + * src/ppp-manager/nm-pppd-plugin.c + - (get_credentials): return correct value for success; handle case where + pppd just does some checking but doesn't want a password + - (plugin_init): make CHAP work too + +2008-04-16 Dan Williams <dcbw@redhat.com> + + Patch from 陈鑫 <znscnchen@gmail.com> + + * src/ppp-manager/nm-ppp-manager.c + - (create_pppd_cmd_line): fix argument generation when spawning pppd + +2008-04-16 Dan Williams <dcbw@redhat.com> + + Patch from 陈鑫 <znscnchen@gmail.com> + + * src/nm-device-802-3-ethernet.c + - (real_deactivate_quickly): clear the IP interface name on + deactivation, otherwise the wrong interface might get used later + for routing and IP management + +2008-04-15 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device.c + - (get_product_and_vendor): handle serial devices correctly + - (nm_device_update_description): pass device to get_product_and_vendor() + +2008-04-15 Dan Williams <dcbw@redhat.com> + + Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com> + + * src/NetworkManagerSystem.h + src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGeneric.h + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerMandriva.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerSuSE.c + src/nm-device.c + - (nm_generic_device_add_ip6_link_address, + nm_system_device_add_ip6_link_address): remove + +2008-04-15 Dan Williams <dcbw@redhat.com> + + Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com> + + * src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGeneric.h + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerMandriva.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerSuSE.c + src/NetworkManagerSystem.h + - flush_routes -> flush_ip4_routes + - flush_addresses -> flush_ip4_addresses + + * src/NetworkManagerSystem.c + src/nm-device.c + src/vpn-manager/nm-vpn-connection.c + - flush only IPv4 addresses; don't touch IPv6 routes and addresses + +2008-04-15 Dan Williams <dcbw@redhat.com> + + Remove exposure of wireless-tools mode types in the API. + + * include/NetworkManager.h + - Define NM80211Mode enum + + * introspection/generic-types.xml + - Describe NM_802_11_MODE enum + - Remove IW_MODE_* enum + + * introspection/nm-access-point.xml + libnm-glib/nm-access-point.c + libnm-glib/nm-access-point.h + - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT + + * introspection/nm-device-802-11-wireless.xml + libnm-glib/nm-device-802-11-wireless.c + libnm-glib/nm-device-802-11-wireless.h + - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT + + * libnm-util/nm-setting-wireless.c + src/NetworkManagerAP.c + src/NetworkManagerAP.h + src/nm-device-802-11-wireless.c + src/nm-device-802-11-wireless.h + test/nm-tool.c + - Use NM80211Mode not IW_MODE_* + +2008-04-15 Dan Williams <dcbw@redhat.com> + + Enhance nm-online based on a patch from Bill Nottingham. + + * test/nm-online.c + - Add a '-q' option + - Add help messages and option summary + - Add long-format options + - Add a '-x' option to exit if NM isn't running or isn't connecting + +2008-04-15 Tambet Ingo <tambet@gmail.com> + + * libnm-util/nm-setting.c (nm_setting_duplicate): Implement. + + * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement. + +2008-04-15 Dan Williams <dcbw@redhat.com> + + * nm-setting-ip4-config.c + - (ip4_addresses_from_gvalue): handle NULL address array + + * nm-setting-8021x.c + - (verify_tls, verify_ttls): warn on failed verification + +2008-04-10 Dan Williams <dcbw@redhat.com> + + * src/nm-gsm-device.c + - (automatic_registration): accept "+CREG: 0,0" + - (automatic_registration_response): fail on "+CREG: 0,0" + +2008-04-10 Tambet Ingo <tambet@gmail.com> + + * libnm-util/nm-setting-wired.c (get_property): Fix a typo. + +2008-04-10 Tambet Ingo <tambet@gmail.com> + + * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): + Make it compile again by commenting out broken code that at first didn't work and + now didn't compile either. + +2008-04-08 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-object-cache.c + libnm-glib/nm-settings.c + src/dhcp-manager/nm-dhcp-manager.c + system-settings/plugins/ifcfg-fedora/plugin.c + system-settings/plugins/ifcfg-suse/plugin.c + system-settings/src/nm-system-config-hal-manager.c + libnm-util/nm-utils.c + - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're + not threadsafe anyway + +2008-04-08 Dan Williams <dcbw@redhat.com> + + * system-settings/src/main.c + - (load_stuff, device_added_cb, device_removed_cb): device added/removed + callbacks take a device type too + +2008-04-08 Dan Williams <dcbw@redhat.com> + + The system settings service will now create a new default DHCP connection + for wired devices that have no existing applicable connection. + + * system-settings/src/nm-system-config-hal-manager.c + system-settings/src/nm-system-config-hal-manager.h + - (nm_system_config_hal_manager_get_type_for_udi): new function + + * system-settings/src/dbus-settings.c + system-settings/src/dbus-settings.h + - (nm_sysconfig_settings_get_connections): new function + - (nm_sysconfig_settings_is_device_managed): new function + + * system-settings/src/main.c + - (load_stuff): check for wired devices that need a default connection + - (get_details_for_udi): get interface and MAC address from HAL + - (add_default_dhcp_connection): add a default connection for a wired + device if needed + - (device_added_cb, device_removed_cb): do the right thing with + wired devices and their default connections on HAL device events + +2008-04-07 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device.c + libnm-glib/nm-device.h + - Proxy the 'managed' property + +2008-04-07 Dan Williams <dcbw@redhat.com> + + * src/nm-gsm-device.c + src/nm-cdma-device.c + - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle + handler to transition to DISCONNECTED + +2008-04-07 Dan Williams <dcbw@redhat.com> + + Patch from Bill Nottingham + + * dispatcher-daemon/NetworkManagerDispatcher.c + - ignore backup/packaging crufy (rh #440143) + +2008-04-07 Dan Williams <dcbw@redhat.com> + + * include/NetworkManager.h + - Remove the DOWN and CANCELLED device states + - Add UNMANAGED and UNAVAILABLE device states + - Document the device states + + * introspection/nm-device.xml + src/nm-device-interface.c + src/nm-device-interface.h + - Add the 'managed' property + + * test/nm-tool.c + - (detail_device): print out device state + + * src/NetworkManagerSystem.h + src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerMandriva.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerSuSE.c + - (nm_system_device_get_system_config, nm_system_device_get_disabled + nm_system_device_free_system_config): remove; they were unused and + their functionality should be re-implemented in each distro's + system settings service plugin + + * src/nm-gsm-device.c + src/nm-gsm-device.h + src/nm-cdma-device.c + src/nm-cdma-device.h + - (*_new): take the 'managed' argument + + * src/nm-device.c + - (nm_device_set_address): remove, fold into nm_device_bring_up() + - (nm_device_init): start in unmanaged state, not disconnected + - (constructor): don't start device until the system settings service + has had a chance to figure out if the device is managed or not + - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down): + don't set device state here, let callers handle that as appropriate + - (nm_device_dispose): don't touch the device if it's not managed + - (set_property, get_property, nm_device_class_init): implement the + 'managed' property + - (nm_device_state_changed): bring the device up if its now managed, + and deactivate it if it used to be active + - (nm_device_get_managed, nm_device_set_managed): do the right thing + with the managed state + + * src/nm-hal-manager.c + - (wired_device_creator, wireless_device_creator, modem_device_creator): + take initial managed state and pass it along to device constructors + - (create_device_and_add_to_list): get managed state and pass to + type creators + + * src/nm-device-802-11-wireless.c + - (real_can_activate): fold in most of + nm_device_802_11_wireless_can_activate() + - (can_scan): can't scan in UNAVAILABLE or UNMANAGED + - (link_timeout_cb): instead of deactivating, change device state and + let the device state handler to it + - (real_update_hw_address): clean up + - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle + handler to transition to DISCONNECTED if the device isn't rfkilled + + * src/nm-device-802-3-ethernet.c + - (set_carrier): move above callers and get rid of prototype + - (device_state_changed): when entering UNAVAILABLE state, schedule an + idle handler to transition to DISCONNECTED if the device has a + carrier + - (real_update_hw_address): clean up + - (link_timeout_cb, ppp_state_changed): change state instead of calling + deactivation directly as deactivation doesn't change state anymore + + * src/NetworkManagerPolicy.c + - (schedule_activate_check): yay, remove wireless_enabled hack since + the NMManager and wireless devices work that out themselves now + - (device_state_changed): change to a switch and update for new device + states + - (device_carrier_changed): remove; device handles this now through + state changes + - (device_added): don't care about carrier any more; the initial + activation check will happen when the device transitions to + DISCONNECTED + + * src/nm-manager.c + - (dispose): clear unmanaged devices + - (handle_unmanaged_devices): update unmanaged device list and toggle + the managed property on each device when needed + - (system_settings_properties_changed_cb): handle signals from the + system settings service + - (system_settings_get_unmanaged_devices_cb): handle callback from + getting the unmanaged device list method call + - (query_unmanaged_devices): ask the system settings service for its + list of unmanaged devices + - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged + devices + - (manager_set_wireless_enabled): push rfkill state down to wireless + devices directly and let them handle the necessary state transitions + - (manager_device_state_changed): update for new device states + - (nm_manager_add_device): set initial rfkill state on wireless devices + - (nm_manager_remove_device): don't touch the device if it's unmanaged + - (nm_manager_activate_connection): return error if the device is + unmanaged + - (nm_manager_sleep): handle new device states correctly; don't change + the state of unavailable/unmanaged devices + + * libnm-glib/nm-device-802-11-wireless.c + - (state_changed_cb): update for new device states + +2008-04-07 Dan Williams <dcbw@redhat.com> + + * marshallers/nm-marshal.list + - Add VOID:STRING,UINT marshaller for system settings HAL manager + +2008-04-07 Dan Williams <dcbw@redhat.com> + + * system-settings/src/main.c + - (unmanaged_devices_changed_cb, register_plugin): proxy changes from + plugins to the dbus settings object + - (load_stuff): start the dbus service after grabbing unmanaged devices + - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events + - (log_handler, logging_setup, logging_shutdown): log output to syslog + - (main): switch default logging to syslog with a 'debug' option to + output to console; start up the HAL manager + +2008-04-07 Dan Williams <dcbw@redhat.com> + + * introspection/nm-settings-system.xml + introspection/Makefile.am + - Define the unmanaged devices interface for the system settings service + + * system-settings/src/nm-system-config-hal-manager.c + system-settings/src/nm-system-config-hal-manager.h + system-settings/src/nm-system-config-hal-manager-private.h + system-settings/src/Makefile.am + - Add a lightweight HAL manager object for tracking network devices for + the purpose of determining unmanaged devices and which devices need + the default DHCP connections + + * system-settings/src/nm-system-config-interface.c + system-settings/src/nm-system-config-interface.h + - (nm_system_config_interface_init): add the HAL manager as an argument + - (nm_system_config_interface_get_unmanaged_devices): implement + - Define 'unmanaged-devices-changed' signal + + * system-settings/src/dbus-settings.c + system-settings/src/dbus-settings.h + - Implement the unmanaged devices interface; some cleanups + + * system-settings/plugins/ifcfg-suse/plugin.c + - Fixup for plugin interface changes + + * system-settings/plugins/ifcfg-fedora/plugin.c + - (get_ether_device_udi): new function; find the device that has + a specified MAC address and return its UDI + - (get_udi_for_connection): new function; try to find the specific + device a connection is locked to, if any + - (device_added_cb, device_removed_cb): update unmanaged device list in + response to HAL events + - (get_unmanaged_devices): new function; return unmanaged device list + - (build_one_connection): set the connection's locked device, if any + - (write_auto_wired_connection): remove + - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found + - (handle_connection_changed): alert listeners that the unmanaged device + list has changed + - (init): fixup for plugin interface changes, implement unmanaged devices + + * system-settings/plugins/ifcfg-fedora/parser.c + system-settings/plugins/ifcfg-fedora/parser.h + - (connection_data_free): clean up connection UDI + +2008-04-07 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/parser.c + - (make_ip4_setting): fix parsing of DNS servers + +2008-04-05 Dan Williams <dcbw@redhat.com> + + * Makefile.am + configure.in + marshallers/Makefile.am + marshallers/nm-marshal-main.c + marshallers/nm-marshal.list + - Consolidate marshallers + + * libnm-glib/nm-marshal-main.c + libnm-glib/nm-marshal.list + src/marshallers/Makefile.am + src/marshallers/nm-marshal-main.c + src/marshallers/nm-marshal.list + - Remove + + * libnm-glib/Makefile.am + src/Makefile.am + src/dhcp-manager/Makefile.am + src/ppp-manager/Makefile.am + src/supplicant-manager/Makefile.am + src/vpn-manager/Makefile.am + - Use consolidated marshallers + +2008-04-04 Dan Williams <dcbw@redhat.com> + + * src/nm-hal-manager.c + src/nm-hal-manager.h + - (hal_init): don't look for hardware here + - (nm_hal_manager_start): new function; look for hardware here instead, + which can be done at a later time than hal_init() + + * src/NetworkManager.c + - (main): start HAL manager after entering the main loop + +2008-04-03 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-settings.c + libnm-glib/nm-settings.h + - (nm_exported_connection_get_id): new function + - (impl_exported_connection_get_id): use nm_exported_connection_get_id() + +2008-04-02 Dan Williams <dcbw@redhat.com> + + * src/nm-device-interface.c + src/nm-device-interface.h + src/nm-device.c + src/nm-device.h + - Rename check_connection_conflicts() to check_connection_compatible() + + * src/nm-device-802-11-wireless.c + - (real_check_connection_conflicts): remove + - (real_check_connection_compatible): implement; match MAC address + + * src/nm-device-802-3-ethernet.c + - (real_check_connection_conflicts): remove + - (real_check_connection_compatible): implement; match MAC address + - (real_get_best_auto_connection): correctly handle PPPoE cases + + * src/nm-manager.c + - (check_connection_allowed): remove; unused until PolicyKit integration + - (internal_activate_device): check whether the connection is compatible + with the device before trying to activate it + +2008-04-02 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/parser.c + - (read_mac_address): new function; read in MAC address and stuff it + into the connection + - (add_one_wep_key): remove debug spew + - (make_wireless_security_setting): validate the default TX key; don't + add the wireless-security setting if the connection doesn't need + security; don't leak the keys shvarFile on error cases + - (make_wireless_setting, make_wired_setting): populate device's MAC + address + +2008-04-02 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-connection.c + libnm-util/nm-setting-connection.h + - (set_property, get_property, nm_setting_connection_class_init): remove + the 'lockdown' property; it's functionality will be replaced by + PolicyKit instead + +2008-04-01 Dan Williams <dcbw@redhat.com> + + Patch from Per Øyvind Karlsen <peroyvind@mandriva.org> + + * configure.in + initscript/Makefile.am + initscript/Mandriva/Makefile.am + initscript/Mandriva/networkmanager.in + initscript/Mandriva/networkmanagerdispatcher.in + src/backends/Makefile.am + src/backends/NetworkManagerMandriva.c + system-settings/plugins/Makefile.am + - Add Mandriva support + +2008-03-31 Dan Williams <dcbw@redhat.com> + + * src/vpn-manager/nm-vpn-service.c + - (nm_vpn_service_daemon_exec): add an error argument so that spawn + errors can be passed back to the caller; also no longer scheduled + as an idle handler, but called directly; and bump up VPN service + spawn timeout, 2s is really short + - (nm_vpn_service_activate): don't schedule the VPN service activation, + but call it directly so that errors are reported on return from + ActivateConnection() and don't get lost. If scheduled as an idle + handler, clients don't have the time to query NM for the new VPN + connection's properties before the VPN connection is torn down again + if the service couldn't be launched, and therefore launch errors + get lost. + +2008-03-31 Dan Williams <dcbw@redhat.com> + + * src/vpn-manager/nm-vpn-connection.c + - (device_state_changed): send correct state on device failure too + - (plugin_state_changed): failed state means unexpected disconnection, + thus if the service goes away while the VPN connection is activated + that's a failure too + +2008-03-31 Dan Williams <dcbw@redhat.com> + + * src/vpn-manager/nm-vpn-manager.c + src/vpn-manager/nm-vpn-manager.h + - Make VPNManager errors more available; add a service-start-failed error + +2008-03-31 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-client.c + libnm-glib/nm-client.h + - (activate_cb): pass the new active connection to callback; fix + message when no callback is specified + +2008-03-30 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-wireless-security.c + - (need_secrets): only require key0 if the transmit key index is also + 0 + - (verify): reject non-NULL but zero-length WEP keys; these are invalid + +2008-03-29 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-8021x.c + libnm-util/nm-setting-ip4-config.c + libnm-util/nm-setting-vpn-properties.c + libnm-util/nm-setting-vpn.c + libnm-util/nm-setting-wireless-security.c + libnm-util/nm-setting-wireless.c + libnm-util/nm-utils.c + src/dhcp-manager/nm-dhcp-manager.c + src/nm-activation-request.c + src/nm-ip4-config.c + src/nm-manager.c + src/nm-properties-changed-signal.c + src/ppp-manager/nm-pppd-plugin.c + src/supplicant-manager/nm-supplicant-interface.c + src/vpn-manager/nm-vpn-connection.c + - consistently use nm-dbus-glib-types.h + +2008-03-29 Dan Williams <dcbw@redhat.com> + + * src/vpn-manager/nm-vpn-connection.c + - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed, + not string + + * src/nm-activation-request.c + - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed, + not string + +2008-03-29 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device-802-11-wireless.c + - (access_point_added_proxy): create new APs if not found + +2008-03-29 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-client.c + - (proxy_name_owner_changed): tell wireless devices about rfkill state + before freeing them + +2008-03-29 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/parser.c + - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than + [0...3]; also handle KEY correctly in combination with DEFAULTKEY + +2008-03-29 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/parser.c + - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too + +2008-03-27 Dan Williams <dcbw@redhat.com> + + * nm-object.c + - (nm_object_queue_notify): don't notify multiple times for the same + property + + * nm-object-private.h + - (handle_ptr_array_return): return NULL if the given array is NULL or + if it has zero elements + + * nm-ip4-config.c + - (finalize): use g_ptr_array_foreach() when freeing domains + - (nm_ip4_config_get_domains): use handle_ptr_array_return() + + * nm-active-connection.c + - (nm_active_connection_get_devices): use handle_ptr_array_return() + + * nm-device-802-11-wireless.c + nm-device-802-11-wireless.h + - (nm_device_802_11_wireless_get_access_points): return const; use + handle_ptr_array_return() + + * nm-types.c + - (nm_object_array_demarshal): always create an array, even of length + zero, to distinguish between "NM returned no items" and "haven't + asked NM yet" + + * nm-client.c + - (dispose): free active connections too + - (proxy_name_owner_changed): free active connections too when NM goes + away + - (nm_client_get_devices): return const; use handle_ptr_array_return() + - (nm_client_get_active_connections): use handle_ptr_array_return() + +2008-03-26 Dan Williams <dcbw@redhat.com> + + Rework VPN connection handling for a more consistent D-Bus API. The + VPNManager object has been removed, and active VPN connections are now the + same as any other active connection. The Manager object's ActivateConnection + and DeactivateConnection methods are used to start and stop a VPN connection, + and the VPNConnection objects are subclasses of the ActiveConnection objects. + When activating a VPN connection, pass the path of the active connection + to which the VPN connection is tied in the 'specific_object' argument. + + Consequently, the libnm-glib API has been reworked to match this arrangement, + with the VPNManager object removed, and the NMVPNConnection objects now + being subclasses of NMActiveConnection. + +2008-03-25 Dan Williams <dcbw@redhat.com> + + Patch from Björn Martensen <bjoern.martensen@gmail.com> + + * initscript/Arch/networkmanager.in + initscript/Arch/networkmanager-dispatcher.in + - Updates for Arch Linux (gnome.org #523701) + +2008-03-25 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-ip4-config.c + libnm-glib/nm-active-connection.c + libnm-glib/nm-access-point.c + - Use nm_object_queue_notify() instead of g_object_notify() + + * libnm-glib/nm-device.c + - (demarshal_ip4_config): distinguish between successful but missing + ip4-config request, and unsuccessful and missing ip4-config request + - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config + path + - Use nm_object_queue_notify() instead of g_object_notify() + + * libnm-glib/nm-device-802-11-wireless.c + - (demarshal_active_ap): distinguish between successfull but missing + active-ap request, and unsuccessful and missing active-ap request + - (dispose, clean_up_aps): consolidate AP list and active AP clearing + code + - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook + for the NMClient to notify the device that wireless is disabled, + and therefore to clear the AP list and active AP + - Use nm_object_queue_notify() instead of g_object_notify() + + * libnm-glib/nm-client.c + - (poke_wireless_devices_with_rf_status): new function + - (update_wireless_status): notify wireless devices of the rfkill status + so they can clean up if needed + - Use nm_object_queue_notify() instead of g_object_notify() + +2008-03-25 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-object.c + libnm-glib/nm-object-private.h + - (nm_object_queue_notify): add helper to batch & postpone GObject notify + signals to an idle handler + - (nm_object_get_property): add a timeout to the D-Bus method call + +2008-03-25 Dan Williams <dcbw@redhat.com> + + * introspection/nm-device-cdma.xml + introspection/nm-device-gsm.xml + introspection/Makefile.am + introspection/all.xml + - Add introspection for CDMA and GSM devices for PropertiesChanged signal + + * src/nm-gsm-device.h + src/nm-gsm-device.c + src/nm-cdma-device.h + src/nm-cdma-device.c + src/Makefile.am + - Implement PropertiesChanged signals + + * libnm-glib/nm-cdma-device.c + libnm-glib/nm-cdma-device.c + - Attach to PropertiesChanged signals + +2008-03-24 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-client.c + - (client_device_added_proxy): add new devices to the internal device + list so they appear to clients + +2008-03-24 Dan Williams <dcbw@redhat.com> + + Massive fixup of libnm-glib to: + a) have all objects (with the exception of VPN) cache their properties and + update them asynchronously on PropertiesChanged signals from NM + b) return internal const data for most attributes/properties instead of + allocated values that the caller must free + c) cache wrapped objects such that a given D-Bus path will always map to the + same GObject returned by libnm-glib + d) remove a few signals and move them to GObject property notifications + e) match recent NM D-Bus API changes for activation/deactivation + f) remove some private functions from libnm-glib headers + +2008-03-20 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (nm_manager_update_state, manager_device_state_changed, + nm_manager_activate_device, connection_added_default_handler, + impl_manager_activate_connection, impl_manager_deactivate_connection): + queue PropertyChanged singals when the active connections change + +2008-03-20 Dan Williams <dcbw@redhat.com> + + * introspection/nm-manager.xml + introspection/nm-manager-client.xml + - (ActivateConnection): return the object path of the active connection + on success + - (GetActiveConnections): remove + - (DeactivateConnection): new function; deactivate a currently active + connection + - Add an ActiveConnections property which returns an array of + active connection object paths + + * introspection/nm-device.xml + - (Deactivate): remove + + * introspection/all.xml + - Add ActiveConnection introspection + + * introspection/nm-active-connection.xml + - Add the ActiveConnection object + + * include/NetworkManager.h + - Add the Connection.Active D-Bus interface + + * src/nm-device-interface.c + - (impl_device_deactivate): remove + + * src/nm-activation-request.c + src/nm-activation-request.c + src/Makefile.am + - Implement the Connection.Active D-Bus interface + + * src/nm-manager.c + - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property + - (nm_manager_activate_device): return the active connection path + - (connection_added_default_handler, impl_manager_activate_connection): + return the active connection to the caller + - (add_one_connection_element, impl_manager_get_active_connections): + remove + - (impl_manager_deactivate_connection): new function; deactivate an + active connection + + * libnm-glib/nm-device.c + libnm-glib/nm-device.h + - Remove Deactivate() function + +2008-03-19 Dan Williams <dcbw@redhat.com> + + * introspection/nm-manager.xml + introspection/nm-manager-client.xml + - Rename the ActivateDevice method to ActivateConnection to better + reflect it's usage; it's arguments get reordered a bit too + - Convert GetActiveConnections method return from a struct to a dict + + * include/NetworkManager.h + - Define the dict keys for return value of GetActiveConnections + + * src/nm-manager.c + - impl_manager_activate_device -> impl_manager_activate_connection + - (add_one_connection_element): return a populated hash table, not + a structure + + * libnm-glib/nm-client.c + libnm-glib/nm-client.h + - nm_client_activate_device -> nm_client_activate_connection + - nm_client_free_active_connection_element -> nm_client_free_active_connections_element + - (nm_client_get_active_connections): return a GSList of GHashTables, + instead of the custom structures. Each element of the returned list + must be freed with nm_client_free_active_connections_element() + +2008-03-18 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/parser.c + system-settings/plugins/ifcfg-fedora/parser.h + system-settings/plugins/ifcfg-fedora/plugin.c + - Read settings from /etc/sysconfig/network-scripts/ instead of using + profiles. DNS servers and searches must now be stored in the ifcfg + files themselves + +2008-03-18 Tambet Ingo <tambet@gmail.com> + + * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't + print out username and password, it's supposed to be a secret. + + * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication + request and set the device state accordingly. + +2008-03-18 Tambet Ingo <tambet@gmail.com> + + * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication. + + * libnm-util/nm-setting-wireless-security.h: Fix a typo. + +2008-03-18 Dan Williams <dcbw@redhat.com> + + * src/vpn-manager/nm-vpn-connection.c + - (get_secrets_cb): handle new GetSecrets return format + +2008-03-18 Dan Williams <dcbw@redhat.com> + + Adapt system settings service for split 802.1x. + + * system-settings/src/nm-system-config-interface.h + - clarify return value of get_secrets() + + * system-settings/src/dbus-settings.c + - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove + - (check_for_secrets): check if there actually secrets returned by a + plugin + - (exported_connection_get_secrets): just return the plugin-returned + hash of settings' secrets if it looks valid + + * system-settings/plugins/ifcfg-fedora/plugin.c + - (get_secrets): add split secrets with correct format to reply hash + + * system-settings/plugins/ifcfg-fedora/parser.c + system-settings/plugins/ifcfg-fedora/parser.h + - (copy_one_cdata_secret, connection_data_copy_secrets, + connection_data_free, connection_data_add): keep secrets for + different settings in different hashes + +2008-03-17 Tambet Ingo <tambet@gmail.com> + + Clean up activating device deactivation. + + * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing + should be done whether the device activation gets cancelled or the device + is just getting deactivated. + (nm_device_activation_cancel): Remove. + (nm_device_deactivate_quickly): Handle the case where device is activating. + + * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove. + It does the exact same thing as real_deactivate_quickly(). + +2008-03-17 Dan Williams <dcbw@redhat.com> + + Split the 802.1x bits out of the wireless-security setting so they are + generalized enough for wired 802.1x to use too. + + * introspection/nm-exported-connection.xml + - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead + of just a hash of the secrets for one setting + + * libnm-util/nm-setting-wireless-security.c + libnm-util/nm-setting-wireless-security.h + - Remove 802.1x-specific stuff + - Added leap-username and leap-password properties for old-school LEAP + + * src/nm-device.c + src/nm-device.h + - (connection_secrets_updated_cb): take a list of updated settings names, + not just one + + * src/supplicant-manager/nm-supplicant-config.c + src/supplicant-manager/nm-supplicant-config.h + - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x + specific stuff; fix for updated LEAP bits; punt 802.1x stuff + to nm_supplicant_config_add_setting_8021x() + - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to + the supplicant config + + * src/nm-device-802-11-wireless.c + - (build_supplicant_config): pass in the 802.1x setting too, if any + - (real_connection_secrets_updated): take a list of updated settings + names, not just one + + * src/nm-device-802-3-ethernet.c + src/nm-cdma-device.c + src/nm-gsm-device.c + - (real_connection_secrets_updated_cb): take a list of updated settings + names, not just one + + * src/nm-activation-request.c + src/nm-activation-request.h + - (nm_act_request_class_init): the 'connection-secrets-updated' signal + now passes a list of updated settings names, not just one + - (update_one_setting): new function; handle one updated setting + - (get_secrets_cb): handle multiple settings returned from the + settings service; have to be careful of ordering here as there are + some dependencies between settings (ex. wireless-security and 802.1x + in some cases) + + * src/marshallers/nm-marshal.list + - new marshaller for connection-secrets-updated signal + + * libnm-util/nm-setting-8021x.c + - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth + methods + - (verify): a valid 'eap' property is now required + + * libnm-util/nm-connection.c + - (register_default_settings): add priorities to settings; there are + some dependencies between settings, and during the need_secrets + calls this priority needs to be respected. For example, only the + wireless-security setting knows whether or not the connection is + going to use 802.1x or now, so it must be asked for secrets before + any existing 802.1x setting is + - (nm_connection_lookup_setting_type): expose + + * libnm-util/nm-setting-wireless.c + - (verify): should verify even if all_settings is NULL; otherwise won't + catch the case where there is missing security + + * libnm-util/nm-setting-wireless-security.c + - Remove everything to do with 802.1x + - Add old-school LEAP specific properties for username and password + - (need_secrets): rework LEAP secrets checking + - (verify): rework for LEAP and 802.1x verification + +2008-03-17 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (auto_activate_device): always remove the current activation check + from the pending activation list, otherwise when the policy gets + destroyed on NM exit it will attempt to free the already freed + activation check + +2008-03-14 Tambet Ingo <tambet@gmail.com> + + * src/backends/NetworkManagerSlackware.c + (nm_system_device_setup_static_ip4_config): Remove, it's unused. + + * src/backends/NetworkManagerSuSE.c: Add missing includes. + +2008-03-14 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (nm_device_interface_get_iface): g_object_get() will return an + allocated value, so this function must not return const + - (nm_device_interface_activate): free returned iface + +2008-03-14 Tambet Ingo <tambet@gmail.com> + + * libnm-util/Makefile.am: Add new files to build. + + * libnm-util/nm-connection.c: Register NMSetting8021x. + + * libnm-util/nm-setting-8021x.c + * libnm-util/nm-setting-8021x.h: Implement. + +2008-03-14 Tambet Ingo <tambet@gmail.com> + + * libnm-util/Makefile.am: Add new files to build. + + * libnm-util/nm-connection.c: Register NMSetting8021x. + + * libnm-util/nm-setting-8021x.c + * libnm-util/nm-setting-8021x.h: Implement. + +2008-03-14 Tambet Ingo <tambet@gmail.com> + + * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and + data. + +2008-03-14 Dan Williams <dcbw@redhat.com> + + * include/wireless-helper.h + include/Makefile.am + - One place for all the junk needed for #including wireless.h + + * test/nm-tool.c + src/NetworkManagerAP.c + src/wpa.c + src/Makefile.am + libnm-util/nm-utils.c + libnm-util/nm-setting-wireless.c + libnm-glib/nm-device-802-11-wireless.c + libnm-glib/nm-access-point.c + libnm-glib/libnm-glib-test.c + - include wireless-helper.h, not iwlib.h + + * configure.in + - Don't need libiw really, just need to check for wireless.h + + * src/kernel-types.h + - Remove; used types moved into wpa.c + + * src/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_update_signal_strength, + real_get_generic_capabilities, nm_device_802_11_wireless_get_mode, + nm_device_802_11_wireless_set_mode, + nm_device_802_11_wireless_get_frequency, + nm_device_802_11_wireless_get_ssid, + nm_device_802_11_wireless_set_ssid, + nm_device_802_11_wireless_get_bitrate, + nm_device_802_11_wireless_get_bssid, + nm_device_802_11_wireless_disable_encryption): use ioctl() directly + instead of iwlib functions + +2008-03-14 Dan Williams <dcbw@redhat.com> + + * src/ppp-manager/nm-ppp-manager.c + - (impl_ppp_manager_need_secrets): since it's asynchronous now, it + should only take the DBusGMethodInvocation argument, not user/pass + too. With dbus-glib, async functions only take 2 C arguments since + the real dbus method arguments get passed back with + dbus_g_method_return() + +2008-03-13 Tambet Ingo <tambet@gmail.com> + + * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): + Adapt the changes of NMSettingIP4Config. + +2008-03-13 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerUtils.c + src/NetworkManagerUtils.h + - (nm_ether_ntop): replacement for iw_ether_ntop() + + * src/NetworkManagerAP.c + src/nm-device-802-11-wireless.c + src/nm-device-802-3-ethernet.c + - s/iw_ether_ntop/nm_ether_ntop/g + +2008-03-13 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (update_routing_and_dns): never set the default route through an + IPv4LL addressed device + +2008-03-13 Dan Williams <dcbw@redhat.com> + + * NetworkManagerUtils.c + NetworkManagerUtils.h + - Remove NMSock stuff + - Remove the completion stuff + + * nm-device.c + nm-device.h + NetworkManager.c + NetworkManagerSystem.c + autoip.c + nm-device-802-11-wireless.c + nm-device-802-3-ethernet.c + - Remove NMSock and completion stuff + - Remove nm_ioctl_info() + +2008-03-12 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + - (merge_ip4_config): avoid duplicates + +2008-03-12 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-ip4-config.c + libnm-util/nm-setting-ip4-config.h + - Remove 'manual' and 'autoip' properties + - Add 'method' property + - (verify): fix verification with 'method' + - (finalize): free 'method' + - (set_property, get_property, nm_setting_ip4_config_class_init): fix + up for 'method' + + * src/nm-device.c + - (real_act_stage3_ip_config_start): check IP4Config method + - (nm_device_new_ip4_autoip_config): add a note about not sucking in + the future + - (merge_ip4_config): IP settings are valid with DHCP too + - (real_act_stage4_get_ip4_config): handle all IP4Config methods + - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout + + * src/nm-device-802-11-wireless.c + - (real_act_stage3_ip_config_start): remove; autoip only on demand + - (real_act_stage4_get_ip4_config): just chain up to parent; autoip + only on demand + + * system-settings/plugins/ifcfg-fedora/parser.c + system-settings/plugins/ifcfg-suse/parser.c + - (make_ip4_setting): fix up for 'method' + +2008-03-12 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/parser.c + system-settings/plugins/ifcfg-fedora/parser.h + - (get_ifcfg_name): ignore more file suffixes + - (is_wireless_device): fix check for ifcfgs that have no TYPE + +2008-03-12 Dan Williams <dcbw@redhat.com> + + * configure.in + - Bring in the bits of gnome-common we actually use (all 15 lines) + +2008-03-12 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/plugin.c + - (write_auto_wired_connection): new function; write out an auto + wired connection file since the applet isn't doing it any more + - (reload_all_connections): write out the auto wired connection file + if there aren't any wired connections already + - (init): don't leak a GError + +2008-03-12 Dan Williams <dcbw@redhat.com> + + * src/nm-device-interface.c + - (nm_device_interface_activate): print the ID of the connection + that's about to be activated + +2008-03-12 Dan Williams <dcbw@redhat.com> + + Harmonize the 802.11 bitrate API + + * introspection/nm-access-point.xml + - 'Rate' -> 'MaxBitrate'; clarify units + + * introspection/nm-device-802-11-wireless.xml + - Clarify units of 'Bitrate' + + * src/NetworkManagerAP.c + src/NetworkManagerAP.h + - (set_property, get_property, nm_ap_class_init): rename 'rate' + property to 'max-bitrate' + - (foreach_property_cb): convert rate to Kb/s + + * src/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s + + * libnm-glib/nm-access-point.c + libnm-glib/nm-access-point.h + - 'rate' -> 'max-bitrate' + + * test/nm-tool.c + libnm-glib/libnm-glib-test.c + - Fix up for these changes + +2008-03-12 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + - (nm_device_set_ip4_config): don't send property notifications when + the ip4 config is set to NULL; it causes a PropertyChanged signal + which dbus-glib can't parse because the value is NULL, which isn't + a legal object path. Setting the IP4 config to NULL is only + valid when deactivating a device anyway, so the device state change + will alert listeners that the ip4 config is invalid. + +2008-03-12 Dan Williams <dcbw@redhat.com> + + * src/nm-properties-changed-signal.c + - (add_to_string): better handling of NULL objects + +2008-03-12 Dan Williams <dcbw@redhat.com> + + Move the 'carrier' property from NMDevice to NMDevice8023Ethernet; + convert the libnm-glib NMDevice8023Ethernet to cached properties + + * introspection/nm-device-802-3-ethernet.xml + - New 'Carrier' property + - New 'PropertiesChanged' signal + + * introspection/nm-device.xml + - Remove 'Carrier' property + - Remove 'CarrierChanged' signal + + * src/nm-device-interface.c + src/nm-device-interface.h + - (nm_device_interface_init): remove 'carrier' property and + 'carrier-changed' signal + + * src/nm-device.c + src/nm-device.h + - (nm_device_get_carrier, nm_device_set_carrier): remove + - (nm_device_activate_stage5_ip_config_commit): don't bother updating + the link here; wired device will handle that + - (handle_dhcp_lease_change): don't bother updating link here + - (get_property, nm_device_class_init): remove carrier property + + * src/nm-device-802-11-wireless.c + - (real_update_link, nm_device_802_11_wireless_class_init): remove + real_update_link(); wireless devices don't use carrier at all + - (link_timeout_cb, supplicant_iface_state_cb_handler, + supplicant_iface_connection_state_cb_handler, + supplicant_mgr_state_cb_handler): remove anything to do with carrier + + * src/nm-device-802-3-ethernet.c + src/nm-device-802-3-ethernet.h + - (nm_device_802_3_ethernet_carrier_on, + nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier() + instead of nm_device_set_carrier() + - (device_state_changed): update link from sysfs on activation; + replaces real_update_link() + - (real_update_link): remove, replaced by device_state_changed() + - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions + - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters + - (real_get_generic_capabilities, real_can_interrupt_activation): use + new get_carrier function + - (get_property): add 'carrier' property + - (nm_device_802_3_ethernet_class_init): add 'carrier' property and + hook into property-changed signal helper + + * src/NetworkManagerPolicy.c + - (device_carrier_changed): will only ever be called with a wired device + - (device_added): only hook up to carrier-changed for wired devices + + * libnm-glib/nm-device.c + libnm-glib/nm-device.h + - (constructor, nm_device_class_init): remove carrier-changed signal + - (device_carrier_changed_proxy): remove; unused + - (nm_device_get_carrier): remove; carrier a property of wired devices + + * libnm-glib/nm-device-802-3-ethernet.c + libnm-glib/nm-device-802-3-ethernet.h + - Convert to cached properties like AP and Wireless objects + - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *' + instead of a 'char *', return value should not be freed + - (nm_device_802_3_ethernet_get_carrier): return current carrier status + - (constructor): hook into properties-changed helper + - (set_property, get_property): new functions + - (nm_device_802_3_ethernet_class_init): export GObject properties + + * test/nm-tool.c + - (detail_device): strdup the wired hardware address too since it's + cached now + + * libnm-glib/libnm-glib-test.c + - (dump_wired): strdup the wired hardware address too since it's + cached now + +2008-03-12 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-ip4-config.c + libnm-util/nm-setting-ip4-config.h + - (set_property, get_property, nm_setting_ip4_config_class_init): add + the 'autoip' property from the spec + +2008-03-11 Dan Williams <dcbw@redhat.com> + + * src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGeneric.h + - (nm_generic_device_get_use_dhcp): remove + +2008-03-11 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + - (nm_device_deactivate): don't need to munge DNS here; that gets done + already in nm_device_set_ip4_config() + - (handle_dhcp_lease_change): fail the device if setting the IP4Config + due to a DHCP rebind fails + - (nm_device_set_ip4_config): send property notifications when the + ip4 config changes + - (get_property): only report IP4Config property during valid states + + * src/NetworkManagerPolicy.c + - (update_routing_and_dns): ignore devices that don't have an ip4 + config; add parameter 'force_update' to allow callers to specify + that changes should be made even if the default device doesn't change + - (device_ip4_config_changed): update DNS and routing when the device's + IP4Config changes, like for DHCP updates + - (device_added): listen for ip4-config property changes + +2008-03-11 Dan Williams <dcbw@redhat.com> + + Fix address handling as a result of DHCP rebind/renew/reboot. + + * src/NetworkManagerSystem.c + - (check_one_address): delete an address if it doesn't match a given + one for the same interface + - (nm_system_device_set_from_ip4_config): don't flush the default route, + be smarter about flushing addresses (only flush ones that don't + match the one we're about to apply) + + * src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerSuSE.c + src/backends/NetworkManagerArch.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerGentoo.c + - (nm_system_delete_default_route): remove + + * src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGeneric.h + - (nm_generic_enable_loopback): fix the loopback device label + - (nm_generic_delete_default_route): remove; no longer used + +2008-03-11 Dan Williams <dcbw@redhat.com> + + * src/nm-device-interface.h + - Delimit property name words with '-', otherwise g_object_notify() + doesn't work the way we expect + +2008-03-11 Tambet Ingo <tambet@gmail.com> + + * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices. + +2008-03-11 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (update_routing_and_dns): don't change anything if the default device + hasn't changed; print something out when switching the default route + and DNS + +2008-03-10 Tambet Ingo <tambet@gmail.com> + + Implement PPPoE. + + * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service + setting. Use "nic-$eth". + + * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether + the device is activating here to fix a race condition. + + * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement. + + * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement. + (ppp_watch_cb): Emit a signal to notify pppd is not running anymore. + (nm_ppp_manager_start): Take activation request instead of connection, we might + need it for asking secrets. + (nm_ppp_manager_update_secrets): Implement. + + * src/nm-serial-device.c (real_act_stage2_config): Send activation request to + ppp manager start. It might be needed for asking secrets. + + * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement. + (ppp_state_changed): Handle pppd daemon disappearing. + (pppoe_stage2_config): Send activation request to ppp manager start. + + * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo. + + * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only + username and password. + +2008-03-10 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + - (handle_dhcp_lease_change): apply an IP4 config to a device in + response to a DHCP lease change + - (dhcp_state_changed): handle DHCP lease changes while activated + - (nm_device_set_ip4_config): remove a previously set named config + when setting an ip4 config + +2008-03-10 Dan Williams <dcbw@redhat.com> + + * src/nm-serial-device.c + - (nm_serial_device_send_command): report errno on error + - (get_reply_got_data): limit the size of the overall buffer + - (wait_for_reply_info_destroy): destroy result string + - (wait_for_reply_got_data): append received data to an overall buffer + until timeout, filled buffer, or error instead of keeping a per-call + buffer. Some devices send data slowly enough that this function + gets called multiple times for the same command stream. + - (nm_serial_device_wait_for_reply): initialize overall buffer for + wait_for_reply_got_data() here + +2008-03-10 Dan Williams <dcbw@redhat.com> + + * src/nm-cdma-device.c + - (do_dial, init_modem): handle errors from + nm_serial_device_send_command_string() + + * src/nm-gsm-device.c + - (do_dial, manual_registration, automatic_registration_get_network, + automatic_registration, enter_pin, check_pin, init_modem): handle + errors from nm_serial_device_send_command_string() + +2008-03-10 Dan Williams <dcbw@redhat.com> + + Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org> + + * src/named-manager/nm-named-manager.c + - (compute_searches): prefer searches before domains + - (compute_domain): new function + - (rewrite_resolv_conf): write out the 'domain' and 'searches' options + - (merge_one_ip4_config): if there are no searches in the source config, + merge domains of the source config into the target config + - (compute_nameservers): make formatting of resolv.conf a bit nicer + +2008-03-10 Dan Williams <dcbw@redhat.com> + + * src/nm-serial-device.c + - (get_reply_got_data): clean up indentation, shrink serial buffer + - (wait_for_reply_got_data): try to handle slower serial devices where + the reply is broken up into multiple reads by concatenating replies + together until either an error is received or the search string is + found + +2008-03-10 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + - (nm_device_bring_down): deactivate the device if it's activating too, + not just if it's already activated. This makes sure that everything + from an association attempt is cleaned up (like DHCP for example) + +2008-03-10 Dan Williams <dcbw@redhat.com> + + * src/nm-serial-device.c + - (config_fd): report error from TCSETA + - (nm_serial_device_open): fail when config_fd() fails + +2008-03-10 Dan Williams <dcbw@redhat.com> + + * src/nm-ip4-config.c + - (nm_ip4_config_init): allocate searches list + - (finalize): free searches list + +2008-03-09 Dan Williams <dcbw@redhat.com> + + Patch from Bas Zoetekouw <bas@debian.org> + + * src/dhcp-manager/nm-dhcp-manager.c + - (nm_dhcp_manager_get_ip4_config): handle domain-search option too + +2008-03-09 Dan Williams <dcbw@redhat.com> + + Patch from Bas Zoetekouw <bas@debian.org> + + * src/nm-ip4-config.c + src/nm-ip4-config.h + - (nm_ip4_config_add_search, nm_ip4_config_get_search, + nm_ip4_config_get_num_searches): add 'searches' as distinct from + domains. 'searches' is the correct way to store multiple search + domains, whereas 'domains' is really just supposed to store one + domain. Some sites abuse the DHCP 'domain-name' option to push + search domains to the client. + - (nm_ip4_config_add_domain): group with related functions (my patch) + +2008-03-09 Dan Williams <dcbw@redhat.com> + + * src/dhcp-manager/nm-dhcp-manager.c + - (dhclient_run): send interface-specific config files to dhclient + +2008-03-07 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/parser.c + - (is_wireless_device): new function; test a device for wireless + extensions + - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag, + test the device for wireless extensions to determine the type + +2008-03-07 Dan Williams <dcbw@redhat.com> + + Change manager's StateChange signal to StateChanged for consistency. + + * introspection/nm-manager.xml + - Add 'StateChanged' signal + - Move 'StateChange' down to the deprecated section + + * src/nm-hal-manager.c + - (nm_hal_manager_new): connect to 'state-changed' instead + + * src/NetworkManagerPolicy.c + - (nm_policy_new): connect to 'state-changed' instead + + * src/nm-manager.c + src/nm-manager.h + - (nm_manager_update_state): emit both 'state-changed' and 'state-change' + - (nm_manager_class_init): add 'state-changed' and not the deprecation + of 'state-change' + + * libnm-glib/nm-client.c + libnm-glib/nm-client.h + - (constructor, nm_client_class_init, client_state_changed_proxy): + track and proxy 'state-changed' instead of 'state-change' + +2008-03-07 Dan Williams <dcbw@redhat.com> + + First pass of multiple active device support. Expect bugs. + + * src/nm-ip4-config.c + src/nm-ip4-config.h + - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove; + there are better ways to do this in the named manager + + * src/nm-device.c + src/nm-device.h + - (nm_device_can_activate): return whether the device can activate a + connection right now; taking into account things like carrier state + and rfkill state + - (nm_device_get_best_auto_connection): renamed from + nm_device_get_best_connection + - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the + device subclasses themselves, so that each device can override the + MTU from it's NMSetting subclass if needed + - (nm_device_set_ip4_config): set MTU when setting up routes and stuff + in NetworkManagerSystem.c, not here + + * src/named-manager/nm-named-manager.c + src/named-manager/nm-named-manager.h + - (nm_named_manager_name_owner_changed, + nm_named_manager_dbus_connection_changed): fix for changes to + rewrite_resolv_conf() + - (compute_nameservers): don't need the NMNamedManager at all, remove + from parameter list + - (merge_one_ip4_config): new function; merge ip4 configs together + - (rewrite_resolv_conf): write out resolv.conf from all the stored + ip4 configs; the VPN config takes precedence, then the best + device config, then the rest of the configs + - (get_domain_for_config): take the NMNamedManager as an argument + to check whether the config is the VPN config + - (add_ip4_config_to_named): fixups for removal of the 'secondary' + attribute from ip4 configs + - (add_all_ip4_configs_to_named): add all the configs in priority order + - (remove_ip4_config_from_named): fix for changes to + get_domain_for_config() + - (nm_named_manager_add_ip4_config): assign the config to the right slot + based on its type; callers must pass in the type now + - (get_last_default_domain): remove, unused + - (nm_named_manager_remove_ip4_config): handle config slots correctly + + * src/nm-device-802-11-wireless.c + - (real_can_activate): new function + - (real_get_best_auto_connection): renamed from real_get_best_connection + - (real_act_stage4_get_ip4_config): handle MTU override + + * src/nm-device-802-3-ethernet.c + - (real_can_activate): new function + - (real_get_best_auto_connection): renamed from real_get_best_connection + - (real_act_stage4_get_ip4_config): new function; handle MTU override + + * src/vpn-manager/nm-vpn-connection.c + - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary' + attribute on the ip4 config + + * src/NetworkManagerPolicy.c + - (nm_policy_auto_get_best_device): remove + - (nm_policy_device_change_check): remove + - (update_default_route): new function; set the default route via + the specified device + - (get_device_priority): new function; return the priority number of + a device type WRT which one should have the default route. Order is + (highest to lowest) wired, wireless, GSM, CDMA. + - (update_routing_and_dns): new function; determine which device should + have the default route, then update the routing table and DNS + - (maybe_auto_activate_device): new function; if a device is now + available for activation, find out what connection it would like to + activate and do it + - (schedule_activate_check): new function; if a device can be activated + now, schedule the activation. Each device may have only one + pending activation at a given time. + - (device_state_changed): if activation was canceled, try again, + possibly with another connection; if the device was activated, + update routing and DNS; if the device was deactivated, try again + with another connection + - (device_carrier_changed): if there is no carrier, deactivate the + device; otherwise schedule an activation check for the device + - (wireless_networks_changed): schedule an activation check for the + device + - (device_added): keep track of the signal handler IDs so they can + be removed when the device goes away + - (device_removed): remove any signal handlers that might be attached + to the device; update routing and DNS + - (schedule_activate_all): new function + - (connections_added, connection_added, connection_updated): when + connections change, schedule all devices for an activation check + - (connection_removed): when a device is deactivated because its + connection was removed, schedule another activation check for it + - (nm_policy_destroy): destroy pending activations and disconnect + all device signal handlers + + * src/nm-manager.c + - (nm_manager_activate_device): if the device was already actived, + deactivate it + - (deactivate_old_device): remove + - (connection_added_default_handler, impl_manager_activate_device): + don't deactivate other devices when activating this one + + * src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerArch.c + src/backends/NetworkManagerSuSE.c + src/backends/NetworkManagerDebian.c + - (nm_system_get_mtu): remove; MTU should be provided through the + distro's system settings service plugin instead + - (nm_system_device_add_default_route_via_device): remove + - (nm_system_device_add_default_route_via_device_with_iface): remove + - (nm_system_device_replace_default_route): new function; call + generic implementation + + * src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGeneric.h + - (nm_generic_device_add_default_route_via_device, + nm_generic_device_add_default_route_via_device_with_iface): remove + - (nm_generic_device_replace_default_route): replace the default route + with the given route via some gateway + + * src/NetworkManagerSystem.c + src/NetworkManagerSystem.h + - (nm_system_device_set_from_ip4_config): let the policy handle updates + to routing and DNS; but set the MTU here + - (nm_system_vpn_device_set_from_ip4_config): set the route with the + ip_iface of the active device; use the standard MTU setting function + - (nm_system_set_mtu): remove + - (nm_system_device_set_mtu): consolidate MTU setting code in one place + +2008-03-07 Tambet Ingo <tambet@gmail.com> + + Rework the interaction between ppp manager and pppd plugin. Register a well + known DBUS service in manager and let the plugin call it's methods instead + of listening plugin's signals. + + * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead + of emitting signals. + + * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here. + + * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h. + + * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to + nm_ppp_manager_start(). + + * introspection/nm-ppp-manager.xml: New file. + + * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle + the case correctly where driver is trying to send -1 for the speed, which gets + casted to u16 and thus is always > 0. + +2008-03-07 Dan Williams <dcbw@redhat.com> + + * src/nm-hal-manager.c + - (nm_get_device_driver_name): use net.originating_device first, fall + back to physical device. HAL has deprecated physical_device. + + * libnm-glib/nm-device.c + - (get_product_and_vendor): use net.originating_device first, fall + back to physical device. HAL has deprecated physical_device. + - (nm_device_update_description): s/physical_device_udi/orig_dev_udi + +2008-03-07 Dan Williams <dcbw@redhat.com> + + * src/nm-netlink.c + - (nm_netlink_get_default_handle): mistakenly removed too much code in + last commit; fix that + - (get_link_cache): print error string + +2008-03-07 Dan Williams <dcbw@redhat.com> + + * src/nm-netlink.c + - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl, + don't need this hack any more (Benoit Boissinot) + +2008-03-06 Dan Williams <dcbw@redhat.com> + + * autogen.sh + - Die gnome-common, die + +2008-03-04 Dan Williams <dcbw@redhat.com> + + Patch from Michael Biebl <biebl@debian.org> + + * NetworkManager.pc.in + - doesn't actually depend on dbus-1 + + * libnm-util/nm-utils.h + - remove unused #include <dbus/dbus.h> + + * libnm-glib/libnm_glib.pc.in + - depends on glib and dbus-glib + +2008-03-02 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - s/device_state_changed_idle_id/update_state_id/ + +2008-03-02 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + src/nm-device.h + src/nm-device-802-11-wireless.c + src/nm-device-802-3-ethernet.c + src/NetworkManagerPolicy.c + - s/link_active/carrier + - nm_device_set_active_link() -> nm_device_set_carrier() + - nm_device_has_active_link() -> nm_device_get_carrier() + +2008-03-02 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/parser.c + - (make_wireless_setting): fail connection creation on missing SSID + +2008-02-29 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (nm_policy_device_change_check): ensure that a previously active + device with a system connection has a link before denying a switch + to a user connection + +2008-02-29 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (link_timeout_cb): try again if scanning; deactivate the device when + activated if the link dies + - (supplicant_iface_connection_state_cb_handler): bump link timeout to + 15 seconds + +2008-02-29 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + src/nm-device-802-11-wireless.h + - (nm_device_802_11_wireless_reset_scan_interval): remove, unused + elsewhere; fold into the sole user in nm-device-802-11-wireless.c + - (device_cleanup): reset the scan interval lower when the device + deactivates + - (can_scan): base decision mostly off device state, not supplicant + interface state since the supplicant interface state isn't a + great indicator of whether the device is active or not + - (request_wireless_scan): clean up; schedule the next scan here + - (schedule_scan): only back the scan interval off if a new scan + actually gets scheduled; and make scan intervals tighter when the + device is disconnected + - (supplicant_iface_state_cb_handler): fold in the bits of + nm_device_802_11_wireless_reset_scan_interval() by resetting scan + interval to minimum + - (activation_success_handler): reset scan interval to something + reasonable + +2008-02-28 Saleem Abdulrasool <compnerd@compnerd.org> + + reviewed by: Steev <steev@steev.net> + + * configure.in: + * src/backends/NetworkManagerGentoo.c: + (nm_system_restart_mdns_responder): + Howl is no longer a supported mDNS provider + +2008-02-28 Tambet Ingo <tambet@gmail.com> + + Get rid of a bunch of unused distro specific functions. + +2008-02-28 Tambet Ingo <tambet@gmail.com> + + Implement suse plugin for system settings daemon. + + * system-settings/plugins/ifcfg-suse/*: Implement. + + * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting + suse. + + * configure.in: Check (without failing) for gio. + Create ifcfg-suse plugin's Makefile. + +2008-02-20 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-connection.c + libnm-util/nm-connection.h + - (nm_connection_compare): accept compare flags and pass them to the + setting compare function + + * libnm-util/nm-setting.c + libnm-util/nm-setting.h + - (nm_setting_compare): accept compare flags; ignore properties that are + marked fuzzy + + * libnm-util/nm-setting-connection.c + libnm-util/nm-setting-wireless.c + libnm-util/nm-setting-ppp.c + libnm-util/nm-setting-wired.c + - Mark some setting properties as ignorable when doing a fuzzy compare + + * src/nm-device.c + - (device_activation_precheck): use exact compare + +2008-02-20 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (nm_policy_device_change_check): get scope off the connection, not + using the manager helper + + * src/nm-manager.c + src/nm-manager.h + - (get_scope_for_proxy): rename from get_type_for_proxy() + - (connection_get_settings_cb): set scope and path on connection, not + using GObject data items + - (get_connection_for_proxy): don't need to return path, since that + can be gotten from the connection + - (get_connection_for_proxy): get path off the connection, not from + parameters + - (connection_removed_cb, connection_updated_cb): don't need to get + path from get_connection_for_proxy(); get scope off the connection + instead of using GObject data items + - (connection_added_default_handler, add_one_connection_element): use + nm_connection_get_path() not nm_manager_get_connection_dbus_path() + - (nm_manager_get_connection_dbus_path): remove + - (nm_manager_get_connection_scope): remove + +2008-02-20 Dan Williams <dcbw@redhat.com> + + * Global rename of NMConnectionSettings -> NMExportedConnection to cut down + on confusing names + + * Add 'path' and 'scope' properties to NMConnection since both NM and the + applet were having to hack this in anyway. Remove the 'path' stuff from + NMExportedConnection + + * Internally rename NMConnectionType -> NMConnectionScope + + * Provide default implementations of the 'get_id' and 'get_settings' methods + of NMExportedConnection + +2008-02-15 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (device_cleanup): release the AP list here too so that the AP list + doesn't survive across suspend/resume and up/down. There is some + room for optimization, for example blow the list away when the card + brought back up, but only if the device has only been down for a + minute or more. + +2008-02-15 Dan Williams <dcbw@redhat.com> + + * src/nm-hal-manager.c + - (modem_device_creator): recognize new HAL modem capabilities + +2008-02-12 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/plugin.c + - (watch_path): handle IN_DELETE_SELF too + - (handle_connection_changed): notify when removing a connection + - (stuff_changed): don't warn on unknown inotify watches; handle the + case of a file moving out of the profile directory + +2008-02-12 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/parser.c + - (make_ip4_setting): bring IPv4 setting handling more up to spec + +2008-02-12 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-utils.c + - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's + just any empty array + +2008-02-12 Dan Williams <dcbw@redhat.com> + + * system-settings/src/nm-system-config-interface.c + system-settings/src/nm-system-config-interface.h + - (load_connections): get_connections() should now return an allocated + GSList that the system settings service will free + + * system-settings/plugins/ifcfg-fedora/plugin.c + system-settings/plugins/ifcfg-fedora/parser.h + system-settings/plugins/ifcfg-fedora/parser.c + - Fix up inotify issues; handle keys-* files, handle new files appearing + in the profile directory, handle resolv.conf file changes + +2008-02-10 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-3-ethernet.c + - (real_bring_up): save the supplicant interface state signal id + - (real_bring_down): disconnect from the supplicant interface state + signal + +2008-02-07 Dan Williams <dcbw@redhat.com> + + * initscript/RedHat/NetworkManager.in + initscript/RedHat/NetworkManagerDispatcher.in + - Add new-style LSB init headers + +2008-02-07 Dan Williams <dcbw@redhat.com> + + * system-settings/src/dbus-settings.c + system-settings/src/dbus-settings.h + - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash + table of secrets + - (connection_settings_get_secrets): consolidate error returns into + one place; use the new get_secrets() plugin interface function to + get secrets from the plugin itself rather than using GObject data + magic + + * system-settings/src/main.c + - (connection_added_cb, connection_removed_cb, free_plugin_connections, + load_connections): keep a private list of the plugin-returned + connections, don't use the plugin's GSList + + * system-settings/plugins/ifcfg-fedora/plugin.c + - (watch_path): watch the path, not the filename (duh) + - (reload_all_connections): use the direct hash/equal functions; the + ones for int aren't appropriate here + - (get_secrets, system_config_interface_init): implement the + get_secrets() function + - (build_one_connection, find_connection_by_path): ifcfg file path is + now in the connection's ConnectionData instead of being a GObject + data property + - (handle_profile_item_changed): ifcfg file path is now in the + connection's ConnectionData instead of being a GObject data property; + be sure to copy secrets over from the new connection to the existing + connection when updating the connection's settings + - (init): sc_plugin_inotify_init() returns success/fail, not the inotify + file descriptor + + * system-settings/plugins/ifcfg-fedora/parser.c + system-settings/plugins/ifcfg-fedora/parser.h + - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret, + connection_data_copy_secrets, connection_data_free, + connection_data_add): new functions; connection data manipulation + - (make_wireless_security_setting): stuff secrets into the + connection data, not as GObject data items; make sure to close + the keys ifcfg file + - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add + connection data to the connection + +2008-02-07 Dan Williams <dcbw@redhat.com> + + * system-settings/src/nm-system-config-interface.c + system-settings/src/nm-system-config-interface.h + - Add a get_secrets() interface function to retrieve secrets for a + specific setting of a specific connection. Document the interface + a bit more too. + +2008-02-07 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (handle_auth_or_fail): new function; consolidate device activation + failure check after a certain number of failures getting secrets + - (supplicant_connection_timeout_cb, real_act_stage2_config, + real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail + the connection if secrets were requested more than a few times + - (real_act_stage3_ip_config_start): don't clear the wireless secrets + tries here; otherwise they are cleared before the IP configure + timeout, which happens with open system WEP when key is wrong + - (activation_success_handler): clear wireless secrets tries here too + +2008-02-07 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (connection_updated): clear invalid tag when connection gets updated + to allow that connection to be tried again + - (nm_policy_new): save signal ids so they can be disconnected when + the policy is destroyed + - (nm_policy_destroy): stop any in-progress state change idle handler, + and disconnect all signals from the manager object so that none + of the policy functions gets called after the policy is destroyed + +2008-02-06 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (finalize): remove devices a bit earlier; clean up system settings + poke + - (nm_manager_name_owner_changed): clean up system settings poke when + the service appears, and try to restart it if it fails + - (poke_system_settings_daemon_cb): try to get the system settings + service started through D-Bus service activation + - (initial_get_connections): start the system settings daemon if it's + not already running + +2008-02-05 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for + broadcast networks too + +2008-02-04 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/parser.c + - (make_wireless_security_setting): fix spelling; unencrypted networks + need key_mgmt set too + - (parser_parse_file): validate ifcfg file name and don't try to parse + .bak files; ensure that an error is set whenever NULL gets returned + +2008-02-04 Dan Williams <dcbw@redhat.com> + + * system-settings/src/Makefile.am + - Install D-Bus service activation file for the system settings + service + + * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service + - D-Bus service activation file for system settings service + +2008-02-04 Dan Williams <dcbw@redhat.com> + + * system-settings/src/main.c + - (parse_config_file): parse a config file + - (main): accept --config option and read plugins from config file + +2008-02-04 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/plugin.c + - Change reported name to 'ifcfg-fedora' + - Use IFCFG_PLUGIN_NAME + + * system-settings/plugins/ifcfg-fedora/plugin.c + - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead + +2008-02-04 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg-fedora/parser.c + - (get_ifcfg_name): new function; factor out ifcfg name finding code + - (make_connection_setting): use get_ifcfg_name() + - (make_wireless_security_setting): handle shadow key files + - (get_one_wep_key): treat empty string as NULL + +2008-02-04 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-manager.c + - (poke_supplicant_cb): reschedule the poke as a timeout, don't let + glib automatically reschedule + - (nm_supplicant_manager_init): immediately try to start the supplicant + - (nm_supplicant_manager_name_owner_changed): immediately try to restart + the supplicant + +2008-02-01 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (device_state_changed): schedule a change check when a device gets + deactivated so something happens if you disconnect GSM/CDMA + +2008-01-31 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.h + src/nm-device-802-11-wireless.c + - (ap_list_get_ap_by_ssid, is_associated, + nm_device_802_11_wireless_ap_list_get_ap_by_ssid, + nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove + - (nm_device_802_11_wireless_get_activation_ap): collapse + nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this + function + +2008-01-30 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg + * system-settings/plugins/ifcfg-fedora + - Move the ifcfg plugin to ifcfg-fedora + +2008-01-24 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device-802-11-wireless.c + - (get_access_point): move the "/" check here; check for invalid path + too + - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up + to get_access_point() + - (access_point_added_proxy, access_point_removed_proxy): don't try + to send signals for non-existent access points + +2008-01-24 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP + +2008-01-23 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * test/libnm_glib_test.c + - (signal_handler, setup_signals): trap SIGINT and SIGTERM + - (main): set up signal handlers; call libnm_glib_shutdown + +2008-01-21 Dan Williams <dcbw@redhat.com> + + * include/NetworkManager.h + - Add CDMA mobile broadband card device type + + * src/nm-hal-manager.c + - (modem_device_creator): handle both CDMA and GSM modems; the device + must now be tagged with 'cdma' or 'gsm' capability + + * src/nm-cdma-device.c + src/nm-cdma-device.h + src/Makefile.am + - Add the CDMA mobile broadband card device class + + * libnm-util/nm-connection.c + - (register_default_settings): add NMSettingCdma + + * libnm-util/nm-setting-cdma.c + libnm-util/nm-setting-cdma.h + libnm-util/Makefile.am + - Add the CDMA mobile broadband card setting class + + * libnm-glib/nm-cdma-device.c + libnm-glib/nm-cdma-device.h + libnm-glib/Makefile.am + - Add the CDMA mobile broadband card GLib proxy class + + * libnm-glib/nm-client.c + - (get_device): handle CDMA devices too + +2008-01-21 Dan Williams <dcbw@redhat.com> + + * src/ppp-manager/nm-ppp-manager.c + - (ip4_config_get): set peer address too + + * src/ppp-manager/nm-pppd-plugin.c + - (nm_ip_up): try harder to get the peer's address + + * src/NetworkManagerSystem.c + - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer + address, use that too. Otherwise, some PPP connections won't work. + +2008-01-19 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (nm_policy_device_change_check): system connections override user + connections; don't activate a user connection if there's a currently + active system connection, and new, better system connections always + interrupt user connections + +2008-01-19 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.h + - (nm_manager_get_connection_type): new function + +2008-01-19 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (real_get_best_connection): collapse find_best_connection() into this + function + +2008-01-19 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-3-ethernet.c + - (real_get_best_connection): collapse find_best_connection() into this + function + +2008-01-18 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-3-ethernet.c + - (find_best_connection): check MAC address too + - (real_get_best_connection): let autoconnect=True connections activate + for devices that don't have carrier detection + + * src/nm-device-802-11-wireless.c + - (find_best_connection): check MAC address too + +2008-01-18 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg/parser.c + - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True' + +2008-01-17 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-3-ethernet.c + - (nm_device_802_3_ethernet_carrier_on, + nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink + carrier events that might come in for devices that don't support + carrier detect + +2008-01-17 Dan Williams <dcbw@redhat.com> + + * src/nm-device-interface.c + - (nm_device_interface_check_connection_conflicts): need to actually + get the interface, not cast to the object + + * src/nm-device.c + - (nm_device_check_connection_conflicts): need to get the device class, + not cast the device to the device class + +2008-01-17 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (real_check_connection_conflicts): ignore connections that aren't + wireless connections + +2008-01-17 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (nm_policy_device_change_check): clear change check idle here + - (device_change_check_done): remove + - (schedule_change_check): simplify + +2008-01-17 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (check_connection_allowed): take an NMDeviceInterface instead of + an NMDevice object as an argument + - (nm_manager_activate_device): pass an NMDeviceInterface to + check_connection_allowed() + +2008-01-13 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_get_access_points): fix memory leak + +2008-01-12 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (activation_success_handler): if a match was found in the scan list + and that match is a hidden AP, update that AP's SSID + +2008-01-11 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + - (nm_ap_new_fake_from_connection): mark fake APs as fake + + * src/nm-device-802-11-wireless.c + - (get_active_ap): do two passes over the scan list if the caller + requests that hidden APs get matched too; during the second pass + when matching hidden APs, ignore the SSID since hidden APs in the + scan list don't have an SSID yet + - (periodic_update): move some checks to + nm_device_802_11_periodic_update() because not all callers need them + - (nm_device_802_11_periodic_update): move some checks here from + perodic_update() + - (merge_scanned_ap): if the current AP is fake, then don't do strict + matching on incoming scan results, because the fake AP's flags + might be slightly different (yet still compatible) with the incoming + scan result's flags and they might actually be the same AP; update + the rate on merged APs too + - (activation_success_handler): update the frequency of the fake AP + on successful connection; match hidden APs too since if the + current AP is fake, there might already be a scan result in the + scan list for the desired AP, just without it's SSID filled in yet + +2008-01-10 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + - (foreach_property_cb): catch more hidden SSID formats + +2008-01-10 Dan Williams <dcbw@redhat.com> + + 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/supplicant-manager/nm-supplicant-config.h + src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_add_setting_wireless): new parameter to indicate + whether the driver supports SSID scans or not. If it does, and if + the AP is hidden, use ap_scan=1 instead of ap_scan=2 + + * src/nm-device-802-11-wireless.c + - (constructor): check whether or not the driver supports SSID scans + - (build_supplicant_config): pass driver SSID scan capability when + building the wireless bits of the supplicant config + +2008-01-09 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + src/nm-device.h + - (device_activation_precheck, check_connection_complete): remove this + virtual function; incomplete connections should be invalid by + definition, complete-ness should be checked in the setting's + verify function + + * src/nm-serial-device.c + src/nm-gsm-device.c + - (real_check_connection_complete): remove + + * libnm-util/nm-setting-serial.c + - (verify): new function; ensure there is a PPP setting too + + * libnm-util/nm-setting-gsm.c + - (verify): ensure there is a serial setting too + +2008-01-06 Dan Williams <dcbw@redhat.com> + + * src/dhcp-manager/nm-dhcp-manager.c + - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU + (gnome.org #332953) + +2008-01-04 Dan Williams <dcbw@redhat.com> + + * 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-02 Tambet Ingo <tambet@gmail.com> + + * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties + with G_PARAM_CONSTRUCT so that they get the default values. + + * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors + the monitoring device and prints out the output for now. Or more precicely, doesn't + do absolutely anything right now since the montoring device argument is never set. + + * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus + requires it's own knob to turn it on. + (config_fd): Add NMSettingSerial to the arguments list. + (nm_serial_device_open): Ditto. + (get_reply_got_data): Ignore the terminators at the beginning of the output. + (nm_serial_device_get_io_channel): Implement. + + * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking + a new reference every time (and forgetting to release it sometimes) is a pain and + it's not like NMManager could work without dbus. + (nm_manager_add_device): Register the added device on dbus here. + + * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring + device. + + * src/nm-device.c (constructor): Don't export the device here, instead export + it when it's added to the NMManager's device list. + +2007-12-31 Dan Williams <dcbw@redhat.com> + + * src/nm-device-interface.c + src/nm-device-interface.h + - (nm_device_interface_check_connection_conflicts): new function + + * src/nm-device.c + src/nm-device.h + - (nm_device_check_connection_conflicts): new function + - (device_activation_precheck): don't require subclasses to implement + check_connection_complete() + - check_connection() -> check_connection_complete() + + * src/nm-device-802-11-wireless.c + - (real_check_connection): remove; unused + - (real_check_connection_conflicts): implement, handle lockdown for + system connections + + * src/nm-device-802-3-ethernet.c + - (real_check_connection): remove; unused + + * src/nm-manager.c + - (check_connection_allowed): new function + - (nm_manager_activate_device): ensure the connection being requested + is allowed to be activated + + * src/nm-serial-device.c + src/nm-gsm-device.c + - real_check_connection() -> real_check_connection_complete() + +2007-12-27 Dan Williams <dcbw@redhat.com> + + * src/nm-device-interface.c + src/nm-device-interface.h + - (nm_device_interface_error_quark, nm_device_interface_error_get_type): + normalize and expand errors + - (nm_device_interface_init): register errors so they can be marshalled + through dbus-glib + - (nm_device_interface_activate): ensure that failure of activation + returns an error + + * src/nm-device.c + src/nm-device.h + - (device_activation_precheck): implementations of check_connection() + now take a GError and must fill it in if the check fails. Return + more descriptive error if the requested connection is already + activating + - (nm_device_activate): actually try to return descriptive errors on + failures + + * src/nm-device-802-11-wireless.c + src/nm-device-802-3-ethernet.c + src/nm-serial-device.c + src/nm-gsm-device.c + - (real_check_connection): return more descriptive errors on failure + + * src/NetworkManagerPolicy.c + - (nm_policy_device_change_check): print activation errors in the logs + + * src/nm-manager.c + - (nm_manager_error_quark, nm_manager_error_get_type, + nm_manager_class_init): new errors + - (nm_manager_activate_device): handle errors + - (nm_manager_error_new): removed + - (wait_for_connection_expired, connection_added_default_handler, + impl_manager_activate_device): better error handling + +2007-12-27 Dan Williams <dcbw@redhat.com> + + Fixes gnome.org #466954 + + * src/supplicant-manager/nm-supplicant-settings-verify.c + - Allow 'frequency' network property + + * src/supplicant-manager/nm-supplicant-config.c + src/supplicant-manager/nm-supplicant-config.h + - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument + for callers to specify the frequency an Ad-Hoc network should operate + on. Some drivers require this to successfully create an Ad-Hoc + network. + + * src/nm-device-802-11-wireless.c + - (iw_freq_to_uint32): new function; convert a struct iw_freq into a + guint32 value in MHz + - (constructor, nm_device_802_11_wireless_get_frequency): use + iw_freq_to_uint32() + - (find_supported_frequency): new function; find a free supported + frequency for a user-created Ad-Hoc network + - (build_supplicant_config): if no frequency was specified for a user- + created Ad-Hoc network, find a free one to use + - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have + a specific object as user-created + +2007-12-27 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-utils.c + libnm-util/nm-utils.h + - (nm_utils_security_valid): add 'adhoc' argument and handle security + for adhoc networks + +2007-12-24 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-wireless.c + - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184, + 185, 187, 188, 192, and 196 + +2007-12-24 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_get_frequency): handle drivers that return + a channel # instead of a frequency + +2007-12-24 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + src/NetworkManagerAP.h + - (nm_ap_new_fake_from_connection): pass band to channel_to_freq() + - (freq_to_channel): handle split band tables + - (channel_to_freq): handle split band tables, take a band argument + +2007-12-24 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-connection.h + libnm-util/nm-setting-connection.c + - Add 'lockdown' member + +2007-12-22 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-wireless.c + - (nm_setting_wireless_class_init): add missing 'rate' property + specification + +2007-12-18 Dan Williams <dcbw@redhat.com> + + Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink. + + * src/nm-netlink-monitor.c + src/nm-netlink-monitor.h + - Remove handrolled netlink, use libnl instead + + * src/nm-device-802-3-ethernet.c + - (constructor, nm_device_802_3_ethernet_carrier_off, + nm_device_802_3_ethernet_carrier_on): use new names + +2007-12-17 Dan Williams <dcbw@redhat.com> + + * configure.in + - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels + and fixes memory leaks) + + * src/nm-netlink.c + - (nm_netlink_get_default_handle): handle new versions of libnl that + automatically handle the netlink PID + +2007-12-17 Dan Williams <dcbw@redhat.com> + + Patch from Michael Biebl <biebl@debian.org> + + * configure.in + src/ppp-manager/Makefile.am + - fix up install dir of pppd plugin + - clean up configure.in a bit + +2007-12-12 Dan Williams <dcbw@redhat.com> + + * system-settings/src/nm-system-settings.conf + - Allow non-root clients (like the applet) to read settings + +2007-12-10 Tambet Ingo <tambet@gmail.com> + + * Replace all occurences of 'UMTS' with 'GSM'. + +2007-12-07 Dan Williams <dcbw@redhat.com> + + * src/nm-serial-device.c + - (real_is_up): serial devices are always "up" + +2007-12-07 Dan Williams <dcbw@redhat.com> + + * src/nm-netlink.c + src/NetworkManagerSystem.c + - (new_nl_handle): ensure that the same netlink pid is never chosen + twice (gnome.org #491047) + - Make more robust against allocation-related failures should they occur + +2007-12-07 Dan Williams <dcbw@redhat.com> + + Noticed by Christian Persch <chpe@gnome.org> + + Always chain up to parent object in dispose and finalize handlers. + (gnome.org #433112) + +2007-12-07 Dan Williams <dcbw@redhat.com> + + * 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-06 Tambet Ingo <tambet@gmail.com> + + * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR) + before doing anything else. + (init_modem): Move modem initialization here. + + * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes. + (nm_serial_device_flash): Implement. + + * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state + changes signal is "StateChanged" and not "Status". + (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now. + +2007-12-06 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit + to only send some options when they make sense; also send phase2 + option to the supplicant (possible fix for rh #399631) + +2007-12-06 Tambet Ingo <tambet@gmail.com> + + * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the + arguments: This whole file shouldn't really know anything about NMDevices, it + should deal only with device interfaces. Devices might have different ifaces for + different stuff and this place shouldn't know anything about it. + + * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy. + (global_state_changed): Implement. In the current NM it's not really important, + but will be required in the case of multiple active devices. (Or even better, + if stuff like that gets moved out from NM). + + * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call + nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() + instead. + + * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface' + devices like serial devices (ttyS0 and ppp0 for example). + (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not + set. + (nm_device_set_ip_iface): Implement. + (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen + after setting ip4_config from here ... + (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code + than this function should call nm_system_device_set_from_ip4_config() because no + other code has enough information on which arguments to use. So instead, other code + could just set the new ip4 config using this function and everyone is happy. + + * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions + if we happen to get deactivated while something is pending. + (automatic_registration): Handle the response that indicates pending network + registration and wait until the pending registration is done. + (real_deactivate_quickly): If there's a pending operation, cancel it. + + * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ... + (real_deactivate_quickly): ... and remove it when it's down. + (nm_serial_device_get_reply): Return the timeout id so that the callers can remove + it if needed. + (nm_serial_device_wait_for_reply): Ditto. + +2007-12-05 Tambet Ingo <tambet@gmail.com> + + * src/nm-umts-device.c (dial_done): Fix the typoes in warnings. + (get_network_done): Remove newline, nm_info() does it already. + (real_act_stage1_prepare): Turn the modem echo off. + + * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial + device, set the route to the device interface. This is a hack. + + * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage + return, no need for a new-line. + (ppp_ip4_config): Store the ip4 config to be set in the next stage. + Change the device iface here (ugh). + (real_act_stage4_get_ip4_config): Implement. + (real_deactivate_quickly): Free the pending ip4 config if it's still pending. + Restore the device iface. + + * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active + device is not wired or wireless (eg, automatically upped) device. + + * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary, + it isn't. + (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it. + + * src/nm-hal-manager.c (get_creator): Make sure the device has required capability + before calling it's is_device_fn(). + +2007-12-05 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-utils.c + - (nm_utils_register_value_transformations, + nm_utils_convert_gvalue_hash_to_string): better debug output of + GHashTables of GValues too + +2007-12-04 Dan Williams <dcbw@redhat.com> + + * initscript/RedHat/NetworkManager.in + - No longer start named; it's D-Bus interface is going away + +2007-12-04 Dan Williams <dcbw@redhat.com> + + Patch from Michael Biebl <biebl@debian.org> + + * system-settings/plugins/ifcfg/Makefile.am + system-settings/src/main.c + system-settings/src/Makefile.am + - Put system settings plugins in NM plugins dir + + * src/ppp-manager/Makefile.am + src/ppp-manager/nm-ppp-manager.c + - Move pppd plugin to NM plugins dir + +2007-12-04 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-vpn-properties.h + - Clarify usage of the 'data' member of the setting + + * libnm-util/nm-setting-vpn-properties.c + - (nm_setting_vpn_properties_init): initialize the 'data' hash table + - (set_property): just remove all the settings; don't recreate the has + - (update_one_secret): don't need to create the hash table here since + it should always be present + +2007-12-03 Tambet Ingo <tambet@gmail.com> + + Implement PIN and PUK requesting. + + * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed. + (enter_pin): Handle PIN and PUK requests. + (real_act_stage1_prepare): Clear the secret type. + (real_connection_secrets_updated): Implement this class method to get + notified when new secrets arrive. + (nm_umts_device_class_init): Add private data back to the umts device class + to store the required secret type. + +2007-12-01 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg/parser.c + - (parser_parse_file): don't try to verify NULL connections + +2007-12-01 Dan Williams <dcbw@redhat.com> + + * system-settings/src/main.c + - (load_connections, add_connection_to_settings): actually export + plugin-provided connections over D-Bus so NM can get them + +2007-12-01 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg/parser.c + system-settings/plugins/ifcfg/parser.h + system-settings/plugins/ifcfg/plugin.c + - Hook up more inotify bits (untested) + +2007-11-29 Dan Williams <dcbw@redhat.com> + + * system-settings/src/nm-system-config-interface.h + system-settings/src/nm-system-config-interface.c + - (nm_system_config_interface_init, + nm_system_config_interface_get_connections): add + + * system-settings/src/main.c + - (load_plugins, load_connections, main): use a GSList for plugins + to ensure priority ordering + + * system-settings/plugins/ifcfg/parser.c + - (ifcfg_error_quark): move to plugin.c, and rename + + * system-settings/plugins/ifcfg/plugin.h + system-settings/plugins/ifcfg/plugin.c + - (ifcfg_plugin_error_quark): move here from parser.c + - rework connection loading and initialization + - Add preliminary inotify support for network profile config file + +2007-11-28 Tambet Ingo <tambet@gmail.com> + + Merge the beginnings of the new GSM card support. + + * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the + ppp watch source before killing pppd - If this happens from g_object_unref() + then the ppp manager is already destroyed by the time the watch callback runs. + + * src/nm-hal-manager.c: Add a device_type_name string to the device + creators, so that we can print a nice human readable string when a + device is added. + + * src/nm-umts-device.c (automatic_registration_get_network): Query + for the activated network, not much is done with the result thought. + + * src/nm-serial-device.c (nm_serial_device_get_reply): Implement. + (ppp_ip4_config): Change the device state to activated here for now. + (real_check_connection): Make sure the connection includes ppp setting. + + * libnm-glib/nm-client.c (get_device): Handle umts devices. + + * libnm-glib/Makefile.am: Add the new files to build. + + * libnm-glib/nm-umts-device.c: + * libnm-glib/nm-umts-device.h: Implement. + +2007-11-26 Tambet Ingo <tambet@gmail.com> + + * src/nm-umts-device.c (automatic_registration_get_network): For now, dial + immediately, nm_serial_device_get_reply() isn't implemented correctly yet. + + * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove + the timeout source - this function is only called when the timeout source has + been removed. + (nm_serial_device_wait_for_reply): Allocate the duplicate responses array + to be big enough to contain the terminating zero element as well. + The timeout argument is meant to be in seconds now. + (real_deactivate_quickly): Implement. + + * src/NetworkManager.conf: Allow root to own + "org.freedesktop.NetworkManager.PPP", deny it for everybody else. + + * libnm-util/nm-setting-umts.c: Network type and band properties are ints, + (not unsigned ints). + + * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a + small issue with parity bounds - capital letters have lower ascii codes + than lower case letters. + + * libnm-util/nm-connection.c (register_default_settings): Register serial + and umts settings. + +2007-11-22 Tambet Ingo <tambet@gmail.com> + + Remove the "index" property from devices as not all device types have this. + + * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove. + + * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove. + (wired_device_creator): Get the device interface from hal to create the device. + (wireless_device_creator): Ditto. + + * src/nm-device.c (nm_device_init): Remove the index member. + (constructor): Remove the checks for index property, make interface property + a require constructor property. + Use the HAL udi for DBus path for devices. + (nm_device_get_index): Remove. + (set_property): Remove index handling. + (get_property): Ditto. + (nm_device_get_dbus_path): Remove. + + * src/nm-device-interface.c (nm_device_interface_init): Remove the index + property. + + * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated): + Access the device index through it's interface. + (nm_device_802_3_ethernet_link_deactivated): Ditto. + (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove + index argument. Add interface argument. + + * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove + the useless test_dev argument. Remove index argument. Add interface arugment. + + * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the + device index through interface. + (nm_system_set_mtu): Ditto. + + * introspection/nm-device.xml: Remove the "Index" property. + +2007-11-21 Tambet Ingo <tambet@gmail.com> + + * src/nm-serial-device.c: + * src/nm-serial-device.c: + * src/nm-umts-device.c: + * src/nm-umts-device.h: Implement. + + * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string + allocated by libhal. + (modem_device_creator): Implement. + (register_built_in_creators): Register the modem creator. + + * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): + Remove the unused test_dev argument. + + * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto. + + * src/Makefile.am: Add new files to build. + Link in ppp-manager. + + * libnm-util/nm-setting-umts.c: + * libnm-util/nm-setting-umts.h: + * libnm-util/nm-setting-serial.c: + * libnm-util/nm-setting-serial.h: Implement. + + * libnm-util/Makefile.am: Add new files to build. + +2007-11-28 Dan Williams <dcbw@redhat.com> + + Patch from Zdeněk Jurka <zdenek.jurka@jware.cz> + + Support DHCP-provided static routes. + + * src/nm-ip4-config.h + src/nm-ip4-config.c + - Add get/set functions for static routes + + * src/dhcp-manager/nm-dhcp-manager.c + - (nm_dhcp_manager_get_ip4_config): extract static routes from the + DHCP response + + * src/NetworkManagerSystem.c + - (nm_system_device_set_from_ip4_config): set any static routes on the + interface when applying the IP4Config + +2007-11-28 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (real_act_stage1_prepare): mark APs created for hidden networks + as non-broadcasting + +2007-11-27 Dan Williams <dcbw@redhat.com> + + * system-settings/src/nm-system-config-interface.h + - Note how to store secrets on NMSetting objects + + * system-settings/src/dbus-settings.c + - (connection_settings_get_secrets): implement + +2007-11-27 Dan Williams <dcbw@redhat.com> + + * system-settings/plugins/ifcfg/Makefile.am + system-settings/plugins/ifcfg/parser.c + system-settings/plugins/ifcfg/parser.h + system-settings/plugins/ifcfg/plugin.c + - Parse wireless connections too + + * system-settings/src/dbus-settings.c + system-settings/src/dbus-settings.h + system-settings/src/main.c + - Handle connection update/removal if the plugin supports it + +2007-11-27 Dan Williams <dcbw@redhat.com> + + * src/nm-dbus-manager.h + src/nm-hal-manager.c + - Include the correct headers now that NetworkManagerDbusUtils.h doesn't + do it for them + + * src/Makefile.am + src/NetworkManagerDbusUtils.c + src/NetworkManagerDbusUtils.h + - Remove these two source files; they are unused + +2007-11-27 Dan Williams <dcbw@redhat.com> + + * src/vpn-manager/nm-vpn-manager.c + - (impl_vpn_manager_connect): fix system settings check (found by + James M. Leddy) + +2007-11-26 Dan Williams <dcbw@redhat.com> + + * Fix warnings so everything compiles with --enable-more-warnings + +2007-11-25 Dan Williams <dcbw@redhat.com> + + * system-settings/* + - Rework structure and code to use GModule-loaded plugins and a plugin + interface that plugins export to the system settings service + +2007-11-21 Dan Williams <dcbw@redhat.com> + + * system-settings/* + - Add Soren's system settings service. Needs work for distros other + than Fedora; the backends from NM should mostly migrate to here + and be converted to GObjects + +2007-11-21 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-vpn-properties.c + - (set_property): must deep-copy the given settings hash, otherwise + double-free errors occur when the setting is disposed of + +2007-11-21 Dan Williams <dcbw@redhat.com> + + * src/vpn-manager/nm-vpn-act-request.h + src/vpn-manager/nm-vpn-act-request.c + - Remove; unused + +2007-11-20 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-utils.c + - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string, + nm_utils_convert_ip4_addr_struct_array_to_string, + nm_utils_register_value_transformations): print out the readable + values of more types of properties of NMSettings subclasses + +2007-11-20 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-ip4-config.c + - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue, + nm_setting_ip4_config_class_init): apparently dbus-glib can't + marshal GValueArrays inside collections, so switch to types that it + can actually marshal/demarshal + +2007-11-16 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-wireless-security.c + - (verify_tls, verify_ttls, verify_identity, verify_nai): do some + minimal verification of EAP methods too + - (verify): verify phase1 eap methods too + +2007-11-15 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device.h + libnm-glib/nm-device.c + - (nm_device_get_product, nm_device_get_vendor): should be returning + const char * + +2007-11-15 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device.c + - (get_product_and_vendor): don't try to free things that should be + freed + +2007-11-15 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerUtils.c + - (nm_ethernet_address_is_valid): unbreak previous fix + +2007-11-15 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_add_setting_wireless_security): handle PEAP + options + +2007-11-15 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerUtils.c + - (nm_ethernet_address_is_valid): fix style, clarify + - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs + + * src/nm-device-802-11-wireless.c + - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid() + - (nm_device_802_11_wireless_get_ssid, + nm_device_802_11_wireless_get_bssid, + nm_device_802_11_wireless_get_bitrate): zero the wreq structure + before calling the ioctl; fixes valgrind-reported jump depends on + uninitialized value errors + +2007-11-15 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (nm_setting_to_hash, one_property_cb): revert previous commit, it's + unecessary to serialize 'name' + + * src/nm-activation-request.c + - (get_secrets_cb): fix cases where a full NMSetting is returned from + the GetSecrets call + +2007-11-15 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-connection.h + libnm-util/nm-setting-connection.c + - Rename the 'name' property to 'id', because it conflicted with the + NMSetting superclass' 'name' property. + + * libnm-util/nm-setting.c + - (nm_setting_to_hash): serialize the 'name' property + - (one_property_cb): ignore 'name' on deserialization of a connection + + * src/nm-device-802-11-wireless.c + src/vpn-manager/nm-vpn-connection.c + src/NetworkManagerPolicy.c + - Fix up for NMSettingConnection 'name'->'id' changes + +2007-11-13 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device-802-11-wireless.h + libnm-glib/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_get_hw_address): return should be const + + * test/nm-tool.c + libnm-glib/libnm-glib-test.c + - Fixes for above change + +2007-11-12 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-settings-verify.c + - Allow fragment_size option + + * src/supplicant-manager/nm-supplicant-settings-verify.c + - (nm_supplicant_config_add_setting_wireless_security): use a lower + EAP fragment size than the default to help some TLS connections + +2007-11-12 Dan Williams <dcbw@redhat.com> + + Make certs actually work. The private key is now a secret, and should be + decrypted when requested by NM. The private key and phase2 private key + passwords are no longer interesting to NM because they should be used by + the settings service to decrypt the private key itself before passing it + to NM, and hence have been removed as fields. + + * libnm-util/nm-setting-wireless-security.h + libnm-util/nm-setting-wireless-security.c + - Remove private-key-passwd and phase2-private-key-passwd from + properties + - (need_secrets_password, need_secrets_eappsk, need_secrets_sim, + need_secrets): use property #defines instead strings to keep things + consistent + - (need_secrets_tls): if a client certificate is present but no + private key, request the private key + - (set_property, get_property, nm_setting_wireless_security_class_init): + remove private key password stuff, mark private keys as secret + + * src/supplicant-manager/nm-supplicant-settings-verify.c + - Remove private_key_passwd and private_key2_passwd from opt_table + +2007-11-09 Dan Williams <dcbw@redhat.com> + + Fix vpn-properties setting update_secrets call for new NMSetting stuff. + Since the vpn-properties are managed and known by the VPN daemons themselves, + libnm-util doesn't know what's secret and what's in the setting's 'data' + member. + + * libnm-util/nm-setting.h + libnm-util/nm-setting.c + - Add the ability for subclasses to override update_one_secret + + * libnm-util/nm-setting-vpn-properties.c + - Override update_one_secret and just copy the values into the + internal table + +2007-11-09 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-settings.h + libnm-glib/nm-settings.c + - (nm_settings_new_error): remove + - (nm_settings_error_quark): add; instead of nm_settings_new_error, + clients should use g_set_error() with NM_SETTINGS_ERROR + +2007-11-09 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_add_setting_wireless_security): private key + passwords are never sent to wpa_supplicant, because the supplicant + should never be reading random files from the disk. Clients like + the applet are required to decrypt the private keys and send NM + the decrypted blobs. + +2007-11-08 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting-wireless-security.h + libnm-util/nm-setting-wireless-security.c + - Add 'private-key-decrypted' and 'phase2-private-key-decrypted' + members to 802-11-wireless-security structure. This should be used + to indicate that the values in private-key and phase2-private-key + are already decrypted by the user agent, and that no + private-key-passwd or phase2-private-key-passwd should be expected. + It is not meant to be a stored configuration value, but meant to + be set when the conneciton is sent to NM over dbus. + +2007-11-08 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-connection.h + libnm-util/nm-connection.c + - (nm_connection_need_secrets): add argument to return hints + + * src/nm-device-802-11-wireless.c + - (link_timeout_cb, supplicant_connection_timeout_cb, + real_act_stage2_config, real_act_stage4_ip_config_timeout): handle + nm_connection_need_secrets() change + +2007-11-07 Tambet Ingo <tambet@gmail.com> + + Rework NMSetting structures: Move each setting to it's own file. + Convert to GObject. Remove home grown setting types and use GTypes. + Use GObject property introspection for hash conversion, enumerating + properties, etc. + + * libnm-util/nm-setting-connection.[ch] + * libnm-util/nm-setting-ip4-config.[ch] + * libnm-util/nm-setting-ppp.[ch] + * libnm-util/nm-setting-vpn.[ch] + * libnm-util/nm-setting-vpn-properties.[ch] + * libnm-util/nm-setting-wired.[ch] + * libnm-util/nm-setting-wireless.[ch] + * libnm-util/nm-setting-wireless-security.[ch] + + New files, each containing a setting. + + * libnm-util/nm-setting-template.[ch]: A template for creating new + settings. To use it, just replace 'template' with the new setting + name, and you're half-way done. + + * libnm-util/nm-setting.c: Convert to GObject and use GObject + introspection instead of internal types and tables. + + * libnm-util/nm-connection.c: Adapt the new NMSetting work. + + * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles + GValue types defined by dbus-glib for composed types like collections, + structures and maps. + + * src/*: The API of NMSetting and NMConnection changed a bit: Getting + a setting from connection takes the setting type now. Also, since + the settings are in multiple files, include relevant settings. + +2007-10-31 Saleem Abdulrasool <compnerd@compnerd.org> + + * configure.in: + * src/backends/NetworkManagerGentoo.c: + (nm_system_restart_mdns_responder): Implement restarts for other mdns + providers in Gentoo. + +2007-10-31 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-connection.c + - (gvalue_to_string): handle UINT32 arrays + +2007-10-31 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device.h + libnm-glib/nm-device.c + - (nm_device_get_description): remove + - (nm_device_get_product, nm_device_get_vendor): add + - (nm_device_update_description): new function (private); walk HAL + devices to get product and vendor IDs for a specific device + +2007-10-31 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors + +2007-10-29 Dan Williams <dcbw@redhat.com> + + * src/nm-hal-manager.c + - (device_added, device_new_capability): ignore device additions while + asleep. Fixes crash caused when NM goes to sleep, a network device + kernel module is unloaded and reloaded and recognized by NM again. + +2007-10-26 Dan Williams <dcbw@redhat.com> + + Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me) + + * src/NetworkManagerAP.c + src/NetworkManagerAP.h + libnm-glib/nm-access-point.c + libnm-glib/nm-access-point.h + - Make 'rate' property a guint32 to better match with WEXT and + wpa_supplicant and to allow representation of higher bitrates + + * src/nm-device-802-11-wireless.c + introspection/nm-device-802-11-wireless.xml + libnm-glib/nm-device-802-11-wireless.c + libnm-glib/nm-device-802-11-wireless.h + - Make 'bitrate' property a guint32 to match AP 'rate' property type + + * src/nm-device-802-3-ethernet.c + src/nm-device-802-3-ethernet.h + introspection/nm-device-802-3-ethernet.xml + libnm-glib/nm-device-802-3-ethernet.c + libnm-glib/nm-device-802-3-ethernet.h + - Make 'speed' property a guint32 to match other speed/rate types + - Make nm_device_802_3_ethernet_get_speed() static + + * test/nm-tool.c + - Update for the changes above + +2007-10-26 Dan Williams <dcbw@redhat.com> + + * src/named-manager/nm-named-manager.c + - (rewrite_resolv_conf): clean up error handling to avoid double-free by + not calling fclose() twice on some error conditions + +2007-10-26 Dan Williams <dcbw@redhat.com> + + * src/nm-activation-request.c + - (dispose): clean up indentation; get the right DBusGProxy object to + cancel the GetSecrets pending call on. Need to use the Secrets + proxy, not the regular connection proxy. Otherwise the GetSecrets + pending call doesn't get canceled, and pressing Cancel in the + applet's password dialog could cause get_secrets_cb() to be called + after the activation request has already been destroyed + +2007-10-24 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_add_blob): pass blob data and length for + verification + - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow + +2007-10-24 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-settings-verify.c + - (opt_table): max length for certificates should be 65536 + +2007-10-24 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-interface.c + - (blob_free): correctly free blob data after use + - (call_set_blobs): use the right D-Bus interfaace for setBlobs + +2007-10-24 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (setting_wireless_security_need_secrets): Fix lookup table logic for + EAP method need secrets + +2007-10-24 Dan Williams <dcbw@redhat.com> + + * src/backends/NetworkManagerRedHat.c + - (nm_system_update_dns): be a lot smarter about telling nscd to restart + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + libnm-util/nm-setting.c + - (nm_setting_compare): implement + - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash, + compare_one_hash_gvalue): compare the contents of a setting + + * libnm-util/nm-connection.c + - (nm_connection_compare): implement + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * src/nm-activation-request.c + - (get_secrets_cb): handle getting a setting back that is more than + just secrets (ie, user changed auth or EAP method or something) + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + libnm-util/nm-setting.h + - (nm_setting_verify): new function; verify one setting + - (nm_settings_verify_all): rename from nm_settings_verify() + - (setting_connection_verify, setting_wireless_verify): allow NULL + all_settings + + * libnm-util/nm-connection.c + - (nm_connection_replace_settings, nm_connection_verify, + nm_connection_new_from_hash): handle nm_settings_verify() rename + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (real_act_stage2_config): use pre-increment on 'tries' to get the + desired behavior + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-settings-verify.c + - eap_allowed, phase2_allowed: harmonize with allowed values from + nm-settings.c + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (real_act_stage2_config): after the first association failure, + if the connection still needs secrets ask the user for them + explicitly. After the fourth association failure due to bad + secrets, fail the connection entirely. Handles the GetSecrets + loop that NM gets into when the provided secrets don't match up + with the connection details. + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_add_setting_wireless_security): only add + WPA-specific options when WPA is in use + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_add_setting_wireless_security): 'password' + secret doesn't need to be unhexified + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL + before trying to do something with it + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid() + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (merge_scanned_ap): use libnm-util empty SSID check to catch more + non-SSID-broadcasting APs + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + - (match_cipher, security_compatible): remove + - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from + libnm-util instead + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-utils.c + libnm-util/nm-utils.h + - (nm_utils_ap_security_compatible): common function for checking + whether a specific AP is compatible with an NMConnection + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (setting_wireless_security_need_secrets, need_secrets_phase2, + need_secrets_tls, need_secrets_sim, need_secrets_eappsk, + need_secrets_password, setting_wireless_security_verify): fix + need_secrets for IEEE 802.1x and WPA-EAP by implementing need + secrets logic for each supported EAP method + +2007-10-23 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant + config option name, should be "private_key2_passwd" + +2007-10-22 Tambet Ingo <tambet@gmail.com> + + Implement support for static IP addresses, additional/overridden DNS and + DNS domain search lists. + + * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement. + (ip4_addresses_to_gvalue): Implement. + (convert_array_to_byte_array): Implement. + (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and + NM_S_TYPE_IP4_ADDRESSES. + (nm_setting_hash): Ditto. + (default_setting_clear_secrets): Add a default case for the switch: IP address + shouldn't be secret, ever. + (setting_ip4_config_verify): Update, requires addresses in case of manual + configurations. + (setting_ip4_config_destroy): Free stuff. + + * src/nm-device.c (merge_ip4_config): Implement. + (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection. + +2007-10-22 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as + pairwise cipher options for Dynamic WEP + +2007-10-21 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + src/NetworkManagerAP.h + - Rename 'articifical' -> 'fake' since that's what they are until + noticed in scans + - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP + from the attributes in an NMConnection object + - (security_compatible): better handle Dynamic WEP and LEAP; handle + WPA Enterprise + - (nm_ap_match_in_list): find a matching AP in a scan list + + * src/nm-device-802-11-wireless.c + - (get_active_ap): add an 'ignore_ap' argument to ignore a specific + AP when searching the scan list; match on frequency and mode too + - (nm_device_802_11_wireless_get_frequency): implement + - (merge_scanned_ap): replace duplicate matching logic with + nm_ap_match_in_list() + - (real_act_stage1_prepare): handle a NULL specific object; ie where + the user is trying to connect to a hidden network that is not yet + known from the scan list + - (activation_success_handler): now that the card knows the AP's BSSID, + there may already be a scanned AP in the scan list that is what + we really wanted to connect to, but didn't know at the time. Use + that instead of the 'fake' AP created at activation start and get + rid of the 'fake' AP + - (cull_scan_list): don't remove fake APs + +2007-10-21 Dan Williams <dcbw@redhat.com> + + * src/nm-activation-request.h + src/nm-activation-request.c + - (nm_act_request_set_specific_object): new function; allow setting the + specific object if one isn't set yet + +2007-10-20 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-config.h + src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash + table to store blobs + - (nm_supplicant_config_add_blob): new function; add blob to internal + blob hash table + - (nm_supplicant_config_get_blobs): new function; get stored blobs + - (nm_supplicant_config_add_setting_wireless_security): handle + options that use certificates (ie, blobs) + + * src/nm-device-802-11-wireless.c + - (build_supplicant_config): pass a UID (just use the connection path) + to the supplicant config as now required + + * src/supplicant-manager/nm-supplicant-interface.c + - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if + there are any blobs to send to wpa_supplicant, send those first + before sending the network configuration + +2007-10-19 Dan Williams <dcbw@redhat.com> + + Split the GetSecrets() call off to a separate D-Bus interface so that it + can be more easily locked down with D-Bus policy. Only 'root' (ie, NM) + should be able to call GetSecrets(). + + * include/NetworkManager.h + - Define the connection secrets D-Bus interface + + * src/vpn-manager/nm-vpn-connection.c + - (clear_need_auth): get the right proxy object for the connection + secrets interface + - (get_connection_secrets): use the connection secrets proxy; send + empty hints in get secrets request + + * src/nm-activation-request.c + - (nm_act_request_request_connection_secrets): use the connection + secrets proxy; send empty hints in get secrets request + + * src/nm-manager.c + src/nm-manager.h + - (connection_get_settings_cb): set the connection secrets proxy on + the connection object too + - (internal_new_connection_cb): create the connection secrets proxy + + * introspection/nm-settings-connection.xml + - Define Connection.Secrets interface and move GetSecrets there + - Add a 'hints' argument to GetSecrets + + * libnm-glib/nm-settings.c + libnm-glib/nm-settings.h + - (impl_connection_settings_get_secrets): add 'hints' argument + +2007-10-19 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + - (constructor): add message about what path a device is exported as + to help in debugging rh #339011 + +2007-10-17 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-utils.h + libnm-util/nm-utils.c + - (nm_utils_security_valid): common function to help find the intersection + of capabilities of devices and (optionally) access points + +2007-10-17 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (get_wireless_capabilities): add missing braces so that WPA capabilities + don't get erroneously cleared + +2007-10-17 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.h + src/nm-manager.c + src/nm-hal-manager.c + - (device_removed, finalize, nm_manager_remove_device, + nm_manager_sleep): add a 'deactivate' argument to + nm_manager_remove_device() to fully deactivate devices when necessary + (ie, always except when waking up) + +2007-10-16 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (setting_wireless_security_verify): fix phase2_auth methods; 'sim' + also isn't valid phase2 autheap method + +2007-10-16 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-client.c + - (update_wireless_status): consolidate updates of wireless status + - (constructor): use update_wireless_status() + - (manager_running): set wireless status off when NM goes away; requery + the wireless status when NM comes back + +2007-10-16 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-client.c + - (nm_client_activate_device): actually use the fixed-up specific + object path + +2007-10-16 Dan Williams <dcbw@redhat.com> + + * src/nm-hal-manager.c + - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out + killswitch error messages once + +2007-10-16 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (manager_set_wireless_enabled): don't allow wireless to be enabled + if it's disabled in hardware; don't touch network devices while + NM is asleep + +2007-10-16 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-client.c + - (nm_client_activate_device): convert NULL specific_object to "/", + which is used in place of NULL + + * src/nm-manager.c + - (impl_manager_activate_device): convert "/" specific_object back into + NULL + +2007-10-16 Tambet Ingo <tambet@gmail.com> + + Implement a generic NMSetting creator from setting name. + While at it, get rid of all nm_setting_foo_new_from_hash() functions and + add a virtual function 'populate_fn'. + + * libnm-util/nm-connection.c (nm_connection_create_setting): Implement. + (register_default_creators): Register setting creators instead of functions + that create and then populate. + (parse_one_setting): Use the common setting creator and then setting specific + poplulation function. + + * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions, + they all looked exactly the same. + Add a 'populate_fn' virtual function to NMSetting. + Use default virtual functions in case they are not overriden. + (nm_setting_populate_from_hash): Implement. + + * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting + name, use a defined string. + (real_act_stage4_get_ip4_config): Ditto. + +2007-10-16 Tambet Ingo <tambet@gmail.com> + + * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from + HAL is int, not uint. + +2007-10-15 Tambet Ingo <tambet@gmail.com> + + Implement killswitch polling through HAL. + + * src/nm-manager.c: Add wireless hardware status property. Add + 'properties-changed' signal for changes in wireless and wireless hardware + state changes. + + * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds + and update NMManager's wireless hardware state when it has changed. + (nm_hal_manager_new): Don't try to add initial devices here - (hal_init) + already does that. + + * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the + values of wireless state and wireless hardware state. Listen for the + 'properties-changed' signals, update the cached values and emit notify. + + * include/NetworkManager.h: Fix a typo in a comment. + +2007-10-14 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (setting_wireless_security_need_secrets): handle LEAP secrets + +2007-10-13 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.h + libnm-util/nm-setting.c + src/supplicant-manager/nm-supplicant-config.c + - Make the 'proto' field of the 802-11-wireless-security field a + string list + +2007-10-12 Tambet Ingo <tambet@gmail.com> + + Rework the "properties-changed" signal listening implementation. + Add a generic implementation to NMObject class that listens for + the signal and calls property setters of the target NMObject. + + * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement. + + * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction + code to the end of file so that all the static functions are available + without extra declarations. + Remove the "properties-changed" signal handling and use the framework from + NMObject. + Implement property setters for properties that change with + "properties-changed" signal. + + * libnm-glib/nm-access-point.c: Ditto. + +2007-10-12 Tambet Ingo <tambet@gmail.com> + + Rework the "properties-changed" signal implementation. + In classes that need to use it, just emit "GObject::notify" and the new + framework takes care of the rest to make the signal available on dbus. + The framework queues the notifications and tries to send as many together + in one signal as possible. + + * src/nm-properties-changed-signal.c: + * src/nm-properties-changed-signal.h: Implement. + + * src/Makefile.am: Add new files to build. + + * src/NetworkManagerAP.c: Use the general framework for properties-changed + signal. + + * src/nm-device-802-11-wireless.c: Ditto. + +2007-10-10 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (wait_for_connection_expired): ensure info is valid + - (connection_added_default_handler): Should only remove pending + connection info when the manager has the connection that it's + waiting for. Fixes segfault in wait_for_connection_info(). + +2007-10-10 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + libnm-util/nm-setting.h + - Add a default 'user_name' field to the VPN setting, which VPN plugins + can use if they choose. Should be filled in by the settings service + on-the-fly with the currently logged in user's username + +2007-10-10 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked + as such, because even if the manager fills in the SSID, NM still + has to indicate to wpa_supplicant that the AP isn't broadcasting + its SSID + +2007-10-10 Tambet Ingo <tambet@gmail.com> + + Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of + code that used NM's own version of dbus signal handling and custom dictionary + marshalling/unmarshalling. With this change, all that obsolete code can disappear + and we get to maintain over 2000 lines less code. + + * libnm-util/dbus-dict-helpers.c: + * libnm-util/dbus-dict-helpers.h: Remove. + + * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib. + + * src/ppp-manager/nm-pppd-plugin.xml: Implement. + + * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal + handlers. + + * src/nm-dbus-manager.c: Remove all the manual dbus signal handling. + + * configure.in: Remove test/libnm-util/Makefile creation. + + * test/Makefile.am: Remove libnm-util from SUBDIRS. + + * test/libnm-util/: Remove the whole directory. + +2007-10-10 Tambet Ingo <tambet@gmail.com> + + * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the + device_state_changed_idle_id variable or it would contain some random value and the + schedule_change_check calls would not do anything. + +2007-10-09 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere + - (merge_scanned_ap): only have the manager fill the SSID if the AP + isn't broadcasting its SSID; set the non-broadcast flag here; fix + merging of non-SSID-broadcasting APs + +2007-10-09 Tambet Ingo <tambet@gmail.com> + + * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to + "guint8 *" since it's usually used with GByteArray->data. + (nm_utils_ssid_to_utf8): Add it back, the applet needs it. + +2007-10-09 Tambet Ingo <tambet@gmail.com> + + * src/NetworkManagerUtils.c + (nm_utils_is_empty_ssid): + (nm_utils_escape_ssid): + (nm_utils_same_ssid): Remove. These functions are copied and pasted in a + lot of places, so they belong to libnm-utils instead. + + Now with 100% less compiler warnings: + + * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused. + (nm_dbus_unescape_object_path): Ditto. + (nm_utils_ssid_to_utf8): Ditto. + (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c + (nm_utils_escape_ssid): Ditto. + (nm_utils_same_ssid): Ditto. + + * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r. + (add_one_connection_element): Remove an unused variable. + (impl_manager_get_active_connections): Ditto. + + * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused + variable. + + * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover + from the previous commit. + + * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable. + (real_act_stage1_prepare): Ditto. + (activation_success_handler): Ditto. + (get_property): Ditto. + + * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused + variable. + + * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname', + it's always set. + + * src/supplicant-manager/nm-supplicant-config.c + (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *' + to expected "char *". + (nm_supplicant_config_add_setting_wireless): Ditto. + (nm_supplicant_config_remove_option): Remove, not used. + + * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32, + not double. + (test_wireless_enabled): Ifdef out unused function. + (device_deactivate): Ditto. + (device_state_changed): Ditto. + (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils. + (nm_utils_escape_ssid): Ditto. + + * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils. + (nm_utils_is_empty_ssid): Ditto. + + * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove + unused variable. + + * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable. + (setting_vpn_properties_update_secrets): Ditto. + (int_to_gvalue): Ifdef out for now, not used. + (byte_to_gvalue): Ditto. + + * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): + Unused, remove. + +2007-10-08 Tambet Ingo <tambet@gmail.com> + + * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain + about dbus manager, not named manager. + Make sure hal_manager and dbus_mgr are created before trying to unreference. + + * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal + handler for it's 'destroy' signal - we use it to catch disconnects from dbus. + However, the same signal is emitted when we destroy it and there's + nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle. + + (nm_dbus_manager_cleanup): Let go of the DBusGProxy before + releasing the DBusGConnection, since proxy needs a conneciton. + (destroy_cb): Set the private proxy to NULL before cleaning up the manager. + +2007-10-08 Dan Williams <dcbw@redhat.com> + + * src/NetworkManager.c + - (main): error on unknown command-line options + +2007-10-08 Dan Williams <dcbw@redhat.com> + + Reimplement the invalid connection list. Don't try to re-activate a + connection that just failed or was canceled. + + * src/nm-device.c + - (connection_secrets_failed_cb): fail device activation, don't just + deactivate the device. Listeners have to know about the failure. + + * src/NetworkManagerPolicy.c + - (nm_policy_auto_get_best_device): exclude invalid connections from + the connection list given to a device's get_best_connection() + method + - (device_state_changed): tag failed connections as invalid; clear the + tag from successful connections + +2007-10-08 Dan Williams <dcbw@redhat.com> + + Fix problems with interrupted activation. Previously, choosing an AP + from the menu, then choosing another one before the first connection was + successful wouldn't deactivate the device before starting the new connection + on that same device. + + * src/NetworkManagerPolicy.c + - (deactivate_old_device, device_state_changed, state_changed, + nm_policy_new): wrong place to deactivate old devices + + * src/nm-manager.c + - (pending_connection_info_destroy, finalize, + wait_for_connection_expired): decouple destruction of the pending + connection info from the manager device + - (connection_added_default_handler): deactivate any active or + activating device before starting a new activation + - (impl_manager_activate_device): deactivate any active or activating + device before starting a new activation; be sure not to leak + pending connection info if a new activation request arrives but + there's already a pending one in-process + +2007-10-08 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.h + src/NetworkManagerAP.c + - (nm_ap_has_manufacturer_default_ssid): remove, unused. User clients + should handle default SSIDs and whether or not to autoconnect + to them + +2007-10-08 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (nm_policy_device_change_check): print out connection name where + possible + +2007-10-08 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + src/nm-device-802-11-wireless.h + - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new + 'hidden-ap-found' signal (for internal use only) that allows the + NMManager to fill in the AP's SSID if a connection has that AP's + BSSID in its seen-bssids list + + * src/nm-manager.c + - (manager_hidden_ap_found, nm_manager_add_device): attach to a + wireless device's hidden-ap-found signal and fill in the APs SSID + if possible + +2007-10-07 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + src/nm-manager.h + - Add a 'connections-added' signal to batch together updates of large + numbers of connections, like when reading from a settings service + the first time. Otherwise, the policy would just activate the first + suitable connection it saw rather than waiting for the full list + to arrive. + - (nm_manager_class_init): register new signal + - (get_type_for_proxy, connection_get_settings_cb, + get_connection_for_proxy): centralize places where a proxy's setting + service is determined + - (free_get_settings_info): if the call being freed is the last call + in a pending call group, fire off the connections-added signal + - (internal_new_connection_cb): add call to a pending call group if + requested + - (list_connections_cb): always create a call group here, because this + call results in a batch of new connections + - (initial_get_connections): start getting system connections first + - (nm_manager_connections_destroy, emit_removed): actually emit the + removed signal when destroying connections + + * src/NetworkManagerPolicy.c + - (nm_policy_new, connections_added): handle connections-added signal + from the manager + +2007-10-06 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (constructor): fix leaked socket + +2007-10-06 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (nm_policy_auto_get_best_device): fix connection list reffing. Each + connection in the list returned by nm_manager_get_connections() is + reffed, but they weren't getting unreffed before returning + +2007-10-06 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (connections_to_slist): sort connections first on autoconnect, then + on timestamp + +2007-10-06 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-connection.c + - (gvalue_to_string): handle UINT64 + +2007-10-06 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (connection_updated, nm_policy_new): recheck state when a connection + gets updated + +2007-10-06 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + src/nm-manager.h + - (nm_manager_get_connection_dbus_path): make static + - (nm_manager_update_connections): remove; unused + - Add a connection-updated signal + - (new_connection_cb, connection_updated_cb, nm_manager_class_init): + handle connection object updates + +2007-10-06 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (connection_removed): deactivate removed connections + +2007-10-06 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-connection.c + libnm-util/nm-connection.h + - (nm_connection_replace_settings): new function + +2007-10-06 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_get_active_access_point): don't segfault + on error when getting the active access point over D-Bus from NM + +2007-10-05 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids + to the NMSettingWireless table; it's now a string array not an array + of byte arrays + +2007-10-05 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device-802-11-wireless.c + - Cache properties and update cached properties on D-Bus signals from NM + +2007-10-05 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (set_current_ap): consolidate current_ap handling code into one place + to ensure that PropertiesChanged signals are emitted in all cases + - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare, + nm_device_802_11_wireless_dispose): use set_current_ap() + +2007-10-05 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-access-point.c + libnm-glib/nm-access-point.h + - (nm_access_point_get_hw_address): return 'const char *', not 'char *' + because the value is cached internally now. Callers should not + free the internal value. + - Make signal name defines private + + * test/nm-tool.c + libnm-glib/libnm-glib-test.c + - Don't free value returned from nm_access_point_get_hw_address() + +2007-10-04 Dan Williams <dcbw@redhat.com> + + * introspection/nm-device-802-11-wireless.xml + src/nm-device-802-11-wireless.h + src/nm-device-802-11-wireless.c + - Add a PropertiesChanged signal for wireless device + - Store currently associated access point + - (periodic_update): generalize; update rate here too and emit the + correct PropertiesChanged signal when stuff changes + - (real_deactivate_quickly, nm_device_802_11_wireless_dispose, + real_activation_cancel_handler): clear current_ap when device is + deactivated + - (link_to_specific_ap, get_ap_blacklisted, + nm_device_802_11_wireless_get_best_ap): remove obsolete and unused + code + - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere + outside this file + - (real_set_hw_address): emit property changed signal if the card's + MAC address changes + - (real_act_stage1_prepare): set the initial current_ap to the AP + the card is supposed to be connecting to + - (activation_success_handler): send out property updates on successful + activation + - (get_property): pull bitrate from cached value; use OBJECT_PATH type + for ACTIVE_ACCESS_POINT property because sometimes there won't be + one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs + - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property + is now boxed; add PropertiesChanged signal + +2007-10-04 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-connection.c + libnm-util/nm-connection.h + - (nm_connection_verify): new function + +2007-10-04 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (nm_settings_verify): use #defines when possible rather than strings + - (setting_connection_verify): ensure that 'name' and 'type' are valid + - (setting_vpn_verify): tighter validity check on 'service_type' + +2007-10-04 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-settings.c + - (nm_connection_settings_class_init): provide correct type for argument + to the Updated signal so that dbus-glib knows how to marshal it + +2007-10-03 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-3-ethernet.c + - (real_get_best_connection): don't create automatic connections + internally; clients should provide a setting that applies to + the device with 'autoconnect: True'. Problem was that these + internally auto-created connections don't have a proxy or service + name becuase they weren't created by a settings daemon, and therefore + clients have no idea what to do with them. + +2007-10-03 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + src/nm-device-802-11-wireless.h + introspection/nm-device-802-11-wireless.xml + - GetActiveNetworks -> GetAccessPoints + - ActiveNetwork -> ActiveAccessPoint + - NetworkAdded -> AccessPointAdded + - NetowrkRemoved -> AccessPointRemoved + + * libnm-glib/nm-device-802-11-wireless.c + libnm-glib/nm-device-802-11-wireless.h + - network-added signal -> access-point-added + - network-removed signal -> access-point-removed + - nm_device_802_11_wireless_get_active_network() -> + nm_device_802_11_wireless_get_active_access_point() + - nm_device_802_11_wireless_get_network_by_path() -> + nm_device_802_11_wireless_get_access_point_by_path() + - nm_device_802_11_wireless_get_networks() -> + nm_device_802_11_wireless_get_access_points() + + * libnm-glib/libnm-glib-test.c + test/nm-tool.c + src/NetworkManagerPolicy.c + - Fixups for Network -> AccessPoint + +2007-10-03 Dan Williams <dcbw@redhat.com> + + Add a GetActiveConnections() method on the Manager object. + + * src/nm-manager.c + src/nm-manager.h + introspection/nm-manager.xml + - (connection_get_settings_cb): keep connection type around too + - (impl_manager_get_active_connections, add_one_connection_element): + implement; returns all active connections and what devices they + apply to + + * libnm-glib/nm-client.c + libnm-glib/nm-client.h + introspection/nm-manager-client.xml + - (nm_client_get_devices): GPtrArray elements are allocated and owned + by the caller; free here to avoid memory leak + - (nm_client_get_active_connections): implement; return the list of + active connections + - (nm_client_free_active_connection_element): implement; free an element + of the GSList returned by nm_client_get_active_connections() + +2007-10-03 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_update_bssid): remove + - (get_active_ap): new function; find the AP in the scan list which + matches the current BSSID and SSID of the wireless device + - (nm_device_802_11_periodic_update): get current AP using + get_active_ap() and print AP roam messages + +2007-10-01 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.h + - Add a 'timestamp' option to NMSettingConnection + - Add a UINT64 type + + * libnm-util/nm-setting.c + - (uint64_to_gvalue): new function + - (nm_setting_populate_from_hash, nm_setting_hash, + default_setting_clear_secrets): handle UINT64 type + - con_table: add 'timestamp' member + +2007-10-01 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (impl_manager_activate_device): ensure the D-Bus method sends a return + value when the connection can be activated immediately + +2007-10-01 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device.c + - (nm_device_class_init): actually tell glib about the carrier-changed + signal + +2007-10-01 Dan Williams <dcbw@redhat.com> + + * configure.in + src/marshallers/Makefile.am + src/marshallers/nm-marshal.list + src/marshallers/nm-marshal-main.c + - Consolidate glib marshallers into one place + + * src/dhcp-manager/Makefile.am + src/dhcp-manager/nm-dhcp-manager.c + src/supplicant-manager/Makefile.am + src/supplicant-manager/nm-supplicant-manager.c + src/supplicant-manager/nm-supplicant-interface.c + src/ppp-manager/Makefile.am + src/ppp-manager/nm-ppp-manager.c + src/vpn-manager/Makefile.am + src/vpn-manager/nm-vpn-connection.c + src/Makefile.am + - Use consolidated marshallers + + * src/dhcp-manager/nm-dhcp-marshal.list + src/dhcp-manager/nm-dhcp-marshal-main.c + src/supplicant-manager/nm-supplicant-marshal-main.c + src/supplicant-manager/nm-supplicant-marshal.list + src/nm-marshal-main.c + src/nm-marshal.list + src/ppp-manager/nm-ppp-marshal-main.c + src/ppp-manager/nm-ppp-marshal.list + src/vpn-manager/nm-vpn-marshal-main.c + src/vpn-manager/nm-vpn-marshal.list + - Remove + +2007-10-01 Dan Williams <dcbw@redhat.com> + + * include/NetworkManagerVPN.h + - define VPN connection state change reason codes + + * src/vpn-manager/Makefile.am + src/vpn-manager/nm-vpn-marshal.list + src/vpn-manager/nm-vpn-marshal-main.c + - Add marshallers for StateChanged signal + + * introspection/nm-vpn-connection.xml + - New Banner property + - StateChanged signal now includes a 'reason' argument + + * src/vpn-manager/nm-vpn-connection.c + src/vpn-manager/nm-vpn-connection.h + - Add a "Banner" property that contains the returned VPN server login + banner (if any); valid only in the ACTIVATED state + - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes + a 'reason' argument and emits that reason along with the + state-changed signal + - Fix up calls to nm_vpn_connection_set_state() to include a reason + - (nm_vpn_connection_ip4_config_get): save banner for later + - (nm_vpn_connection_get_banner, get_property, + nm_vpn_connection_class_init): implement Banner property + + * src/vpn-manager/nm-vpn-service.c + - (nm_vpn_service_connections_stop): take a reason argument; copy the + connection list because elements may get added/removed from it + while iterating over the list + - (connection_state_changed): signal now includes the 'reason' argument + + * libnm-glib/nm-vpn-connection.c + libnm-glib/nm-vpn-connection.h + - (nm_vpn_connection_get_banner): new function + - (state_changed_proxy): handle reason argument + +2007-09-28 Tambet Ingo <tambet@gmail.com> + + * src/nm-manager.c: + * src/nm-manager.h: + Implement device activation through NMManager. + Implement "pending device activation" here - If the connection isn't found, + we try to wait for up to 5 seconds for the connection to be provided. + Add NMConnectionType argument to "connection-added" and "connection-removed" + signals. + (nm_manager_get): Remove. Finally. + + * src/nm-activation-request.c: + * src/nm-activation-request.h: + Remove all the deferred activation code. + + * src/nm-device.c: Remove all the deferred activation code. Once the device + activation is started, it's started. Update the activation virtual function + signature. + + * src/nm-device-interface.c: + * src/nm-device-interface.h: + Device activation now takes only NMActRequest argument. + Don't expose device activation directly on dbus, it's supposed to go through + NMManager now. + + * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code + a bit more compact. + Use the new device activation methods through NMManager. + + * introspection/nm-manager-client.xml: + * introspection/nm-manager.xml: + * libnm-glib/nm-client.c: + * libnm-glib/nm-client.h: + Add device activation method. + + * libnm-glib/nm-device.c: + * libnm-glib/nm-device.h: + * introspection/nm-device.xml: + Remove device activation method. It's done through NMManager now. + + * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny + new (nm_manager_get_device_by_path) function, get rid of our own )find_device). + +2007-09-28 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-vpn-connection.c + - (nm_vpn_connection_get_state): try to update state if the current + state is UNKNOWN + +2007-09-27 Dan Williams <dcbw@redhat.com> + + Patch from Bill Nottingham + + * src/supplicant-manager/nm-supplicant-config.c + - (ADD_STRING_VAL): use correct length for binary blobs when sending + data to the supplicant + +2007-09-27 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerSystem.c + - (nm_system_vpn_device_set_from_ip4_config): clean up indentation; + and all address manipulation here should be happening on the + _VPN_ device, not the active device + +2007-09-26 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + src/nm-manager.h + src/nm-activation-request.c + src/nm-activation-request.h + - Move the GetSecrets stuff out of the NMManager instance because it + doesn't really need to be there and complicates things + + * src/nm-device.c + - (connection_secrets_failed_cb, device_activation_go): connect to the + connection-secrets-failed signal and deactivate the device if + the GetSecrets call fails + + * src/nm-device-802-11-wireless.c + - (link_timeout_cb, supplicant_connection_timeout_cb, + real_act_stage2_config, real_act_stage4_ip_config_timeout): request + secrets and give correct hints about whether new secrets should be + asked for by the client or not + +2007-09-26 Dan Williams <dcbw@redhat.com> + + * src/vpn-manager/nm-vpn-connection.c + - (nm_vpn_connection_set_state, clear_need_auth, finalize, + connection_secrets_updated_cb, get_secrets_cb): don't need to attach + to the secrets-updated signal of the NMConnection since updating + the secrets is done within the scope of the NMVPNConnection object + already + - (get_connection_secrets): fix an uninialized variable usage error + +2007-09-26 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (setting_vpn_properties_update_secrets): implement so VPN secrets + actually get updated when the user enters them + +2007-09-26 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-vpn-plugin.c + - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed + +2007-09-26 Dan Williams <dcbw@redhat.com> + + * include/NetworkManagerVPN.h + - Add a NEED_AUTH state + + * src/vpn-manager/nm-vpn-connection.c + - Implement the NEED_AUTH state. First ask the VPN service plugin if + the connection needs secrets, and if so, then ask the settings + service to fill in the secrets. Then start the connection. + +2007-09-26 Dan Williams <dcbw@redhat.com> + + * src/vpn-manager/nm-vpn-manager.c + - (new_vpn_error, impl_vpn_manager_connect): set errors + +2007-09-26 Dan Williams <dcbw@redhat.com> + + * introspection/nm-vpn-plugin.xml + libnm-glib/nm-vpn-plugin.c + libnm-glib/nm-vpn-plugin.h + - (impl_vpn_plugin_need_secrets): implement a call that should return + the name of the NMSetting in an NMConnection that may require + secrets specific to that VPN plugin + +2007-09-26 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + src/nm-manager.h + - (nm_manager_get_connection_secrets): make static, unused outside + the file + - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users + +2007-09-26 Tambet Ingo <tambet@gmail.com> + + * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation + method. + (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and + unreference the connection. + + * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of + passing properties hash and routes string list, pass NMConnection (in hashed form). + + * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes + as GSList, no need to copy stuff around anymore. + (nm_vpn_connection_activate): Update the plugin activation method. + + * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert + routes argument to GSList. + +2007-09-26 Tambet Ingo <tambet@gmail.com> + + * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH + state and try to get the secrets. + + * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of + connections from NMManager and let the device to choose the best from the list. + Since the connection list is sorted by system ones first and user ones later, + the devices still prefer system connections like they did before. + (deactivate_old_device): Implement. When a device starts activation, we have a + policy (for now at least) to deactivate any other device that might be either + active or still activating. + + * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure. + It's set on construction, there will be no other way to access it. + + * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to + device events and drive the device, not the other way around. + + * src/nm-device-802-3-ethernet.c: Ditto. + + * src/nm-device.c (nm_device_get_best_connection): The connections list is now + sent along, pass it on to virtual functions. + + * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static + for now, but should really be public instead of nm_device_get_iface() since iface + is a property of the DeviceInterface, not Device. + (impl_device_activate): Don't touch NMManager! + +2007-09-26 Jürg Billeter <j@bitron.ch> + + * initscript/paldo/NetworkManager.in: + * initscript/paldo/NetworkManagerDispatcher.in: + * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback), + (nm_system_flush_loopback_routes): update paldo backend + +2007-09-26 Tambet Ingo <tambet@gmail.com> + + * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager. + The problem with leaking NMManager is that on shutdown, it doesn't get destroyed, + which means none of the devices get brought down properly, which in turn leaves + DHCP client running. + + * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto. + (supplicant_connection_timeout_cb): Ditto. + +2007-09-25 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + - (device_activation_go): small hack to work around race when + activating deferred connections; should solve this in a better way + +2007-09-25 Dan Williams <dcbw@redhat.com> + + * introspection/nm-device.xml + libnm-glib/nm-device.c + libnm-glib/nm-device.h + - Add 'Carrier' property to exported NMDevice objects + + * src/nm-device-interface.h + src/nm-device-interface.c + src/nm-device.c + - Add a 'carrier' property to internal NMDevice objects + +2007-09-25 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (ap_auth_enforced): also return the encryption status of the AP so + that callers can differentiate easily between unencrypted APs + and encrypted ones, in addition to whether the AP has an + authenticator + - (link_timeout_cb, supplicant_connection_timeout_cb, + real_act_stage4_ip_config_timeout): handle unencrypted APs better, + previously would request secrets from unencrypted APs at times + +2007-09-25 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (nm_manager_update_state): new function; updates state and emits + appropriate signals ensuring a state-change signal for the same state + never gets emitted twice in a row. + - (manager_device_state_changed): handle more device state to get a + better picture of the overall NM state + +2007-09-25 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-settings.c + libnm-glib/nm-settings.h + - (new_error -> nm_settings_new_error): make public so that subclasses + can use the same error domain. Also pass a valid error code to + g_error_new_literal() so that libdbus doesn't assert when converting + the GError into a DBusError + - (impl_settings_list_connections, impl_connection_settings_get_id, + impl_connection_settings_get_settings, + impl_connection_settings_get_secrets): use new error creator + function + +2007-09-25 Dan Williams <dcbw@redhat.com> + + * src/NetworkManager.c + - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup + +2007-09-25 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-manager.c + - (poke_supplicant_cb, nm_supplicant_manager_init, + nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed, + nm_supplicant_manager_startup): when the supplicant isn't running, + try to start it periodically via system bus activation. Fixes + a problem where if wpa_supplicant goes away, NM gets stuck waiting + for the supplicant to come back + +2007-09-25 Dan Williams <dcbw@redhat.com> + + Ensure that old activation requests are forgotten about; previously + hitting Cancel in the password dialog would deactivate whatever device + that password was requested for, even if that wasn't the currently + activating connection. + + * src/nm-manager.c + src/nm-manager.h + - (nm_manager_get_connection_secrets): track the pending call + object so it can be canceled later if needed + - (nm_manager_cancel_get_connection_secrets): cancel a pending + GetSecrets call for a particular connection + + * src/nm-activation-request.c + - (dispose): cancel any outstanding GetSecrets calls on the + connection + +2007-09-25 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (nm_policy_device_change_check): handle devices that have a + deferred activation. These devices are not really active _yet_, + but need to be treated as such here. Don't interrupt them + automatically. + + * src/nm-device-interface.c + - (impl_device_activate): handle devices that have a deferred activation + like activating or active devices. When multiple active devices + get committed, the device shouldn't be deactivated until the + connection details are available to avoid DoS and such. Currently, + any active, activating, or deferred activation device is deactivated + here before starting the new activation request. + +2007-09-25 Dan Williams <dcbw@redhat.com> + + Properly re-query secrets from the settings daemon when stuff fails. + + * src/nm-device-802-11-wireless.c + - (ap_auth_enforced): handle static WEP correctly here by differentiating + between Shared Key and Open System auth modes + - (link_timeout_cb, supplicant_connection_timeout_cb, + real_act_stage4_ip_config_timeout): clear existing secrets and + request new ones when something fails due to a suspected wrong key + - (real_act_stage2_config): fix for new request_new argument to + nm_manager_get_connection_secrets() + + * src/nm-manager.c + src/nm-manager.h + - (nm_manager_get_connection_secrets): return error status; pass + new request_new argument on to the settings daemon + + * introspection/nm-settings-connection.xml + - New 'request_new' argument to the GetSecrets call that hints to the + settings daemon to ask the user for completely new secrets + + * libnm-glib/nm-settings.c + libnm-glib/nm-settings.h + - (impl_connection_settings_get_secrets): handle new 'request_new' + argument + +2007-09-25 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-connection.c + libnm-util/nm-connection.h + - (nm_connection_clear_secrets): new function; clear secrets out of + each NMSetting in an NMConnection + + * libnm-util/nm-setting.h + libnm-util/nm-setting.c + - (nm_setting_clear_secrets, default_setting_clear_secrets): clear + secrets out of an NMSetting + - (nm_setting_connection_new, nm_setting_ip4_config_new, + nm_setting_wired_new, nm_setting_wireless_new, + nm_setting_wireless_security_new, nm_setting_ppp_new, + nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets + to default handler default_setting_clear_secrets() + +2007-09-25 Dan Williams <dcbw@redhat.com> + + * src/nm-activation-request.c + src/nm-activation-request.h + - (nm_act_request_is_deferred): new function + +2007-09-24 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (activation_success_handler): update signal strength immediately + after activation + +2007-09-24 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13 + +2007-09-24 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (nm_policy_auto_get_best_device): don't interrupt activation of a + device by deactivating it because it doesn't have a "best connection". + Since autoconnect=False connections aren't automatically chosen, + NM would interrupt activation of such a connection because it + would never be "best" due to autoconnect=False. + +2007-09-24 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (nm_manager_get_connection_secrets): Add a long timeout so the user + actually has some time to enter a key before the GetSecrets call + times out + +2007-09-24 Dan Williams <dcbw@redhat.com> + + * introspection/nm-manager.xml + src/nm-manager.c + - (impl_manager_legacy_state): fix 'state' method call return value + +2007-09-24 Matthias Clasen <mclasen@redhat.com> + + * test/Makefile.am: Install nm-tool + +2007-09-24 Dan Williams <dcbw@redhat.com> + + Patch from Ross Burton <ross@burtonini.com> + + * test/nm-tool.c + callouts/nm-dhcp-client-action.c + src/nm-netlink.c + src/vpn-manager/nm-vpn-connection.c + libnm-glib/libnm-glib-test.c + - warning fixes + +2007-09-24 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-utils.h + libnm-util/nm-utils.c + - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback): + remove, unused + +2007-09-23 Dan Williams <dcbw@redhat.com> + + * vpn-daemons/vpnc/properties/nm-vpnc.c + - Update for new VPN properties API bits; instead of passing around + a lot of random things, everything goes into the NMConnection + object. + +2007-09-23 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - Correctly dispose of settings objects if creating them from a hash + table fails + +2007-09-23 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (property_value_destroy, nm_setting_vpn_properties_new): initialize + the hash table in a standard manner. Clients of libnm-util should + only call g_hash_table_remove_all(), never destroy the hash table + and recreate it. + +2007-09-22 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (real_bring_up): update signal strength every 6 seconds, not 2. No + real reason to do it so often, and reduces wakeups for clients. + +2007-09-21 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (build_supplicant_config): wpa_supplicant requires the option + key_mgmt=NONE for unencrypted networks + - (real_act_stage2_config): clarify log message on activation + +2007-09-21 Dan Williams <dcbw@redhat.com> + + * test/nm-supplicant-test.c + test/Makefile.am + - Remove supplicant test binary; no longer applicable + +2007-09-21 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-manager.c + - (nm_supplicant_manager_init): poke the supplicant at startup to + activate it on the system bus + +2007-09-20 Dan Williams <dcbw@redhat.com> + + * initscript/RedHat/NetworkManager.in + - dhcdbd is no longer used, so don't try to start it from the initscripts + +2007-09-20 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + - (nm_device_is_activating): work around a race between auto-activation + and the user activating the same device that is being auto-activated + +2007-09-20 Dan Williams <dcbw@redhat.com> + + * src/nm-device-interface.c + - (impl_device_activate): until multiple active device support lands, + ensure only one device can be active at a time + +2007-09-20 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-config.c + src/supplicant-manager/nm-supplicant-config.h + - (nm_supplicant_config_add_option): hide secrets from system logs + +2007-09-20 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (nm_policy_device_change_check): re-enable the wireless device change + checking code; insted of checking for SSIDs, check for the same + connection instead + +2007-09-20 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (supplicant_iface_connection_state_cb_handler): don't use the card's + composite link state when determining when to start the disconnection + timer; that link state is already based on the supplicant interface's + status which is exactly what's already being examined, plus the link + state is a conglomeration of various things that we don't want here + +2007-09-20 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-access-point.c + - (handle_property_changed): strength is a UCHAR + +2007-09-20 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_add_setting_wireless_security): uppercase + string list keywords too since that's what wpa_supplicant wants + +2007-09-20 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (convert_strv_to_slist): dupe the values in the list because since + the list is a boxed value, it'll get destroyed when it's container + (like a hash table or whatever) gets destroyed + +2007-09-20 Tambet Ingo <tambet@gmail.com> + + * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to + GSList. + + * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too. + + * src/nm-manager.c (connection_get_settings_cb): No need to use weakref, + just use (g_object_set_data_full). + + * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now + that NMSettingVPN->routes is a GSList, convert it to char **. + (nm_vpn_connection_ip4_config_get): Free routes when done. + (nm_vpn_connection_activate): Ditto. + + * src/nm-device-802-11-wireless.c (real_connection_secrets_updated) + (real_act_stage2_config): Use defined setting names. + +2007-09-20 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + src/nm-manager.c + src/nm-manager.h + - Pass an NMDeviceInterface into nm_manager_get_connection_secrets() + so that the device can be deactivated if secrets are wrong + +2007-09-20 Dan Williams <dcbw@redhat.com> + + * introspection/nm-settings-connection.xml + libnm-glib/nm-settings.c + libnm-glib/nm-settings.h + - Make GetSecrets asynchronous on the server side + +2007-09-20 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.h + src/nm-device.c + - (nm_device_activate): actually check if a given connection + exists before assuming it doesn't + +2007-09-20 Tambet Ingo <tambet@gmail.com> + + * libnm-util/nm-connection.c (register_default_creators): Use defined + setting names. Register NMSettingVPN and NMSettingVPNProperties. + + * libnm-util/nm-setting.c: Define property name strings, use them. + Implement NMSettingVPN and NMSettingVPNProperties settings. + Implement NM_S_TYPE_GVALUE_HASH. + (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH. + (setting_connection_verify): Rename 'devtype' property to 'type'. + + * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service + properties. + + * src/vpn-manager/nm-vpn-service.c: Ditto. + + * src/vpn-manager/nm-vpn-connection.c: Ditto. + + * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto. + (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get. + + * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting + names. NMSettingConnection->devtype got renamed to 'type'. + + * src/nm-device-802-3-ethernet.c (find_best_connection): + (real_get_best_connection): Ditto. + + * src/NetworkManager.c (main): Update the vpn manager creation arguments. + + * libnm-glib/nm-vpn-manager.[ch]: Update. + +2007-09-19 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + src/NetworkManagerAP.h + introspection/nm-access-point.xml + - Change strength-changed signal into a properties-changed signal + for all properties, not just strength. Export that signal over dbus + so listeners don't have to poll NM for changes. + - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should + get exported over D-Bus, so break up the logic and let other bits + decided when to export the AP + - (nm_ap_new_from_ap): remove, unused + + * src/nm-device-802-11-wireless.c + - (merge_scanned_ap): only export APs that are actually on the device + list, not every AP created internally + + * libnm-glib/nm-access-point.c + libnm-glib/nm-access-point.h + - Cache properties internally and only hit DBus when needed. Get + property updates from NM signals + +2007-09-16 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-connection.c + libnm-util/nm-connection.h + - (nm_connection_for_each_setting_value): new function; iterate over + each setting's value and call a user-provided function with details + about that value + + * libnm-util/nm-setting.c + libnm-util/nm-setting.h + - (nm_setting_enumerate_values): new function; enumerate the values + of a specific NMSetting subclass for a user-provided function with + details about that value + - Change wep_tx_keyidx to a uint32 + - Create settings value tables for each setting defining their type, + key name, offset into the NMSetting subclass' structure, and whether + they are required and/or a secret + - (nm_setting_populate_from_hash): generic function to populate an + NMSetting from a GHash table, make all settings use it + - (nm_setting_hash): generic function to derive a GHashTable from + an NMSetting object, make all settings use it + +2007-09-14 Dan Williams <dcbw@redhat.com> + + Remove unused stuff in libnm-util + + * configure.in + libnm-util/Makefile.am + libnm-util/cipher-private.h + libnm-util/cipher-wep-ascii.c + libnm-util/cipher-wep-ascii.h + libnm-util/cipher-wep-hex.c + libnm-util/cipher-wep-hex.h + libnm-util/cipher-wep-passphrase.c + libnm-util/cipher-wep-passphrase.h + libnm-util/cipher-wpa-psk-hex.c + libnm-util/cipher-wpa-psk-hex.h + libnm-util/cipher-wpa-psk-passphrase.c + libnm-util/cipher-wpa-psk-passphrase.h + libnm-util/cipher.c + libnm-util/cipher.h + libnm-util/dbus-helpers.c + libnm-util/dbus-helpers.h + libnm-util/gnome-keyring-md5.c + libnm-util/gnome-keyring-md5.h + libnm-util/sha1.c + libnm-util/sha1.h + src/nm-device-802-11-wireless.c + test/libnm-util/Makefile.am + test/libnm-util/test-ciphers.c + test/libnm-util/test-dbus-helpers.c + test/libnm-util/test-inputs.h + - Removed + +2007-09-14 Dan Williams <dcbw@redhat.com> + + * libnm-util/dbus-method-dispatcher.c + libnm-util/dbus-method-dispatcher.h + - Remove, unused + +2007-09-14 Dan Williams <dcbw@redhat.com> + + Implement deferred activation support in the device class. + + * src/nm-device-interface.c + src/nm-device-interface.h + - (nm_device_interface_activate): take more arguments to support + deferred activation; callers must pass one of (connection) OR + (service_name, connection_path) + - (impl_device_activate): connection validation is punted to the device + to be able to handle deferred activation. Yes, this means errors + don't get returned from the Activate() dbus call, and yes, that + should be fixed somehow later. + + * src/nm-device.c + src/nm-device.h + - (clear_act_request): clear additional deferred activation stuff too + - (deferred_activation_timeout_cb): new function; clean up when + deferred activation times out. + - (deferred_activation_start_cb): new function; when the connection + finally becomes available, start device activation + - (nm_device_activate): attach to the right signals of the activation + request if we need to defer activation until the connection is valid + + * src/NetworkManagerPolicy.c + - (nm_policy_device_change_check): update for additional arguments + required for nm_device_interface_activate(). Pass NULL for these + though because this function already knows exactly which + NMConnection to use + +2007-09-14 Dan Williams <dcbw@redhat.com> + + Implement deferred activation handling in the NMActRequest class. When a + client wants to activate a device but must create the NMConnection details + on the fly, there likely hasn't been enough time yet for NM to receive the + new connection signal and grab all the connection details. So the + activation is deferred (and bounded by a timer) for a while, and if the + connection appears within the window, it is activated. + + * src/nm-activation-request.c + src/nm-activation-request.h + - (nm_act_request_class_init): two new signals to support deferred + activation, to allow the listener to handle both timeout and success + - (nm_act_request_new_deferred): new function, starts the deferred + activation timeout handler and listens to the NMManager for + new-connection signals to notice when the connection comes in + +2007-09-14 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.h + src/nm-manager.c + - (nm_manager_get_connection_service_name, + nm_manager_get_connection_dbus_path): get details about a connection + known internally by the NMManager + - (nm_manager_class_init): fix connection add/remove signal marshalers + because NMConnection is now a GObject subclass + - Use constant for the gobject data tag used on NMConnection objects for + storing the associated DBusGProxy + +2007-09-14 Dan Williams <dcbw@redhat.com> + + * utils/Makefile.am + utils/nm-utils.c + utils/nm-utils.h + src/supplicant-manager/Makefile.am + src/dhcp-manager/Makefile.am + src/backends/Makefile.am + src/named-manager/Makefile.am + src/ppp-manager/Makefile.am + src/vpn-manager/Makefile.am + test/libnm-util/Makefile.am + test/test-common/Makefile.am + - Remove utils/; it was unused + +2007-09-13 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-vpn-manager.h + libnm-glib/nm-vpn-manager.c + - (nm_vpn_manager_connect): take routes as a GSList, not a char ** + +2007-09-13 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-3-ethernet.c + - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from + netlink monitor carrier signals on dispose, not bring down. The + carrier signals should be handled over the entire lifetime of the + device anyway, not created/destroyed on up or down. + +2007-09-13 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-device.c + libnm-glib/nm-device.h + - (nm_device_activate): take a connection object path rather than an + NMConnection because NMConnection isn't exported over D-Bus and + therefore it dbus-glib can't automatically get an object path from it + +2007-09-13 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (nm_setting_wired_new): set autonegotiate to TRUE by default + +2007-09-13 Tambet Ingo <tambet@gmail.com> + + * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c. + +2007-09-12 Tambet Ingo <tambet@gmail.com> + + * src/vpn-manager/nm-vpn-connection.[ch]: + * src/vpn-manager/nm-vpn-manager.[ch]: + * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using + dbus-glib, GObjects, signals etc. + + * libnm-glib/nm-vpn-manager.[ch]: + * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed + so much, rewrite these too. + + * libnm-glib/Makefile.am: Add new files to build, build new binding files for + the new introspection files. + + * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here. + + * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing + the header with the same name from libnm-utils. + + * libnm-glib/nm-vpn-plugin.[ch]: Implement. + + * libnm-util/Makefile.am: Add nm-utils.[ch] to build. + + * introspection/nm-vpn-plugin.xml: Implement. + + * introspection/nm-vpn-connection.xml: Implement. + + * introspection/nm-vpn-manager.xml: Implement. + + * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove + the named manager argument, it can just as easily get it as the caller. + (nm_system_vpn_device_unset_from_ip4_config): Ditto. + + * src/vpn-manager/nm-dbus-vpn.[ch]: Remove. + + * src/nm-dbus-manager.h: Fix up the name_owner signal signature. + + * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from + libnm-utils. + + * libnm-util/nm-connection.c: Ditto. + + * src/NetworkManagerMain.h: Remove, it's finally empty. + + * configure.in: Remove utils/ from build. + + * include/NetworkManagerVPN.h: Add some more defines to reduce the amount + of hard-coded strings. + + * utils/: Move it over to libnm-util. + + * test/Makefile.am: Link against libnm-util now that util/ is gone. + + * dispatcher-daemon/Makefile.am: Ditto. + + * src/Makefile.am: Ditto. + +2007-09-12 Dan Williams <dcbw@redhat.com> + + Wireless connections can be made with config data from the applet now. + + Yay. + + * src/supplicant-manager/nm-supplicant-config.h + src/supplicant-manager/nm-supplicant-config.c + - (nm_supplicant_config_new): kill unused init parameter 'iface' + - (nm_supplicant_config_add_setting_wireless, + nm_supplicant_config_add_setting_wireless_security): new functions; + add key/value pairs from the settings objects to the supplicant + config + + * src/nm-device-802-11-wireless.c + - (cull_scan_list): fix check to not prune currently associated AP + - (build_supplicant_config, real_act_stage2_config): call the functions + of the NMSupplicantConfig that parse settings objects rather than + doing it manually here + +2007-09-12 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-interface.c + src/supplicant-manager/nm-supplicant-marshal.list + - (nm_supplicant_interface_class_init): fix stupid mistake, the + "connection-error" signal arguments should be STRING not CHAR + +2007-09-12 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerUtils.c + src/NetworkManagerUtils.h + - (nm_utils_hexstr2bin): new function + +2007-09-11 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (connection_get_settings_cb): emit connection-added signal + - (connection_removed_cb): uncomment bits for system settings service, + send connection-removed when appropriate + - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber + the stack by trying to g_object_set_data() on something that's + not a GObject; handle case where settings service returns + empty settings hash table + +2007-09-11 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (connection_added, connection_removed): trigger device change checks + on connection changes + +2007-09-11 Dan Williams <dcbw@redhat.com> + + * src/nm-activation-request.c + - (connection_secrets_updated_cb): fix c&p error in signal emission + +2007-09-11 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (real_connection_secrets_updated): fix erroneous check + +2007-09-11 Dan Williams <dcbw@redhat.com> + + * introspection/nm-device.xml + libnm-glib/nm-device.c + libnm-glib/nm-device.c + - Fix Activate call argument borkage; Activate takes 3 arguments + +2007-09-11 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-access-point.c + libnm-glib/nm-access-point.c + - (nm_access_point_get_frequency): now returns guint32 to match + property change on 2007-09-10 + +2007-09-11 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_new): s/index/idx, stupid system header + somewhere defines 'index' and I missed this one when I fixed the + shadow declaration errors earlier + +2007-09-11 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-connection.c + - (nm_connection_update_secrets, need_secrets_check): move + 802-11-wireless-security need_secrets checks to the setting object + itself, where it belongs + + * libnm-util/nm-setting.c + libnm-util/nm-setting.h + - (nm_setting_need_secrets): new function + - (setting_wireless_security_verify, + nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required + - (setting_wireless_security_need_secrets): mostly copy code over + from nm-connection.c + +2007-09-11 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + libnm-util/nm-setting.h + - (nm_setting_update_secrets): new function; add a virtual function that + subclasses can implement to update their secrets + - (setting_wireless_security_update_secrets): implement that function + for the 802-11-wireless-security subclass + + * libnm-util/nm-connection.c + libnm-util/nm-connection.h + - (nm_connection_update_secrets): update secrets for a Setting and + emit a signal on success + + * src/nm-manager.c + src/nm-manager.h + src/nm-marshal.list + - (connection_get_settings_cb): enable system settings bits + - (nm_manager_get_connection_secrets, get_secrets_cb): add function + to request secrets from the settings dbus service and to + push those secrets to the NMConnection itself + + * src/nm-activation-request.c + src/nm-activation-request.h + - Attach to the 'secrets-updated' signal of the NMConnection that's + currently being activated, and proxy that signal to other listeners. + Goes through the activation request because the activation request + is the thing that manages the lifetime of the NMConnection that's + being activated. + + * src/nm-device-802-11-wireless.c + - (real_connection_secrets_updated): implement the connection secrets + updated notification and restart activation when secrets are + received + - (real_act_stage2_config): request secrets from the settings dbus + service if secrets are needed + + * src/nm-device.c + src/nm-device.h + - (clear_act_request, nm_device_activation_cancel, + nm_device_deactivate_quickly, nm_device_dispose): consolidate places + where the activation request is cleared + - (nm_device_activate, connection_secrets_updated_cb): attach to the + updated secrets signal of activation request and add a function + that subclasses can override to handle it easily + +2007-09-11 Tambet Ingo <tambet@gmail.com> + + * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the + removal of NetworkManagerAPList. + +2007-09-10 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + src/NetworkManagerAP.h + introspection/nm-access-point.xml + - Change 'freq' property to a guint32 instead of a double since we + weren't using the floating point bits anyway + +2007-09-10 Dan Williams <dcbw@redhat.com> + + * NetworkManagerAP.c + NetworkManagerAP.h + NetworkManagerPolicy.c + NetworkManagerSystem.c + NetworkManagerUtils.c + NetworkManagerUtils.h + nm-device-802-11-wireless.c + nm-device-802-3-ethernet.c + nm-hal-manager.c + nm-manager.c + vpn-manager/nm-dbus-vpn.c + - Warning fixes; casts and removal of unused variables + +2007-09-10 Dan Williams <dcbw@redhat.com> + + * include/NetworkManager.h + - Kill NMNetworkType; AP types don't matter any more + + * src/NetworkManagerAPList.c + src/NetworkManagerAPList.h + src/Makefile.am + - Kill; NMAccessPointList has outlived it's usefulness + + * src/NetworkManagerAP.c + src/NetworkManagerAP.h + - (match_cipher, security_compatible, nm_ap_check_compatible): new + functions; check if an NMConnection object is compatible with the + settings of this AP + - (freq_to_channel, channel_to_freq): utility functions for + channel <-> frequency conversion + + * src/nm-device.c + src/nm-device.h + - (nm_device_get_best_connection): pass the specific object around + (which might be the object path of a specific AP to connect to). + The get_best_connection() call should populate this on return + if needed (wireless does). + + * src/nm-device-802-3-ethernet.c + - (real_get_best_connection): handle specific_object argument + + * src/NetworkManager.c + src/NetworkManagerMain.h + - Remove unused includes + + * src/nm-device-802-11-wireless.c + src/nm-device-802-11-wireless.h + - Convert the ap_list into a GSList from an NMAccessPointList + - No need for caching the 'activation_ap' since this is now determined + from the specific_object of the activation request, which is + populated from the get_best_connection() call or from a user request + - (nm_device_802_11_wireless_update_bssid): fix warning + - (get_wireless_capabilities): fix error message format arguments + - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused + - (find_best_connection, real_get_best_connection): implement + - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print): + move here from NetworkManagerAPList + - (ap_need_secrets): remove; moved to nm-connection.c where it belongs + - (real_act_stage1_prepare): just ensure an AP exists, connection is + already verified earlier + - (real_act_stage2_config): use nm_connection_need_secrets() + + * src/NetworkManagerPolicy.c + - (nm_policy_auto_get_best_device): handle specific objects + - (create_connection): remove; automatic connection creation functionality + is handled by the Connection objects + - (nm_policy_device_change_check): handle specific_object + + * libnm-util/nm-connection.c + - (wireless_sec_need_secrets, nm_connection_need_secrets): implement + +2007-09-10 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (query_connections): fix uninitialized variable problem that caused + segfault + - (nm_manager_add_device): take devices down on startup so that we can + be assured that nm_device_is_up() won't short-circuit the init + process. Hack until the is_up check gets split into two pieces + that aren't behaviorally confusing. + +2007-09-09 Dan Williams <dcbw@redhat.com> + + * introspection/nm-device.xml + - The 'Activate' method now takes 3 arguments, a service name for the + settings service (user or system), the object path of the connection + to activate, and the specific object to activate, if any + + * src/nm-device-interface.c + - (nm_device_interface_error_quark, nm_device_interface_error_get_type): + Add error bits + - (impl_device_activate): adapt to new Activate arguments; validate + the service name and get the Connection object from the NMManager + before starting to activate the device with the specified connection + + * src/nm-device-802-3-ethernet.c + - (real_get_best_connection): find the best connection, or create a + default one if no existing connections can be used + + * src/NetworkManagerPolicy.c + - (nm_policy_auto_get_best_device): Get the device's best connection + and only pick the device if it has one + - (nm_policy_device_change_check): disable wireless bits for now until + wireless get_best_connection() can be implemented (replacing "best_ap"); + don't create a default connection here as the device subclass will do + that if needed + + * src/nm-manager.h + src/nm-manager.c + - (nm_manager_get): make NMManager a singleton and expose the getter + internally + - Rework internal NMManager connection handling to use the same + routines for both the system and user settings services. Most calls + take a new NMConnectionType argument specifying either system or user + connections + - (nm_manager_get_connection_by_object_path): new function; get a + connection keyed on its object path + + * src/NetworkManager.c + - (main): use nm_manager_get() + +2007-09-09 Dan Williams <dcbw@redhat.com> + + * src/nm-device.h + src/nm-device.c + - (nm_device_get_best_connection): new function; get best connection + for the device at that time + +2007-09-09 Dan Williams <dcbw@redhat.com> + + * src/nm-device-interface.h + - Add NMDeviceInterfaceError with an UnknownConnection error + +2007-09-09 Dan Williams <dcbw@redhat.com> + + Stupid mistake on my part; object path and interface for settings service + and connection objects can be the same, only the service name must be + different for the system and user settings services. + + * include/NetworkManager.h + src/nm-manager.c + introspection/nm-settings-connection.xml + introspection/nm-settings.xml + libnm-glib/nm-settings.c + - (nm_connection_settings_init, query_user_connections, + new_connection_cb): Unify NetworkManagerSettings and Connection + interface name and object path + +2007-09-06 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-object.c + - (nm_object_get_string_property, nm_object_get_object_path_property, + nm_object_get_int_property, nm_object_get_uint_property, + nm_object_get_boolean_property, nm_object_get_byte_property, + nm_object_get_double_property, nm_object_get_byte_array_property): + clear GValues after copying their contents, fixes memory leaks + after every property access because dbus-glib copies the values + from the DBusMessage into the GValue already. + +2007-09-06 Dan Williams <dcbw@redhat.com> + + * introspection/nm-access-point.xml + - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects + them to be. There's some magic property name parsing going on in + dbus-glib that breaks up property names based on studly-caps and + puts - between words. + + * libnm-glib/nm-access-point.c + - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags): + Fix property names + +2007-09-06 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (nm_manager_user_connections_destroy): clear the user connections hash + table, don't destroy it + - (finalize): only destroy the hash table on NMManager finalization + +2007-09-02 Dan Williams <dcbw@redhat.com> + + * include/NetworkManager.h + libnm-glib/nm-settings.c + - defines for the user settings daemon D-Bus bits + + * src/NetworkManager.c + - Remove stuff that referred to the old NetworkManagerInfo service + + * src/vpn-manager/nm-dbus-vpn.h + - Move old NMI defines to the only place they are used still + + * libnm-util/nm-connection.c + libnm-util/nm-connection.h + src/nm-activation-request.c + - Make NMConnection a GObject subclass so we can do spiffy stuff with it + + * src/nm-manager.c + src/nm-manager.h + - Get connections and their settings from the user settings daemon + at the appropriate times + +2007-09-02 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.c + - (nm_settings_verify): correct setting name is 'connection', not 'info' + - (setting_wireless_hash): set the right value on the item + +2007-09-02 Dan Williams <dcbw@redhat.com> + + * test/Makefile.am + test/nminfotest.c + - Remove, no longer useful + +2007-08-30 Dan Williams <dcbw@redhat.com> + + * src/Makefile.am + src/NetworkManagerDbus.c + src/NetworkManagerDbus.h + src/vpn-manager/nm-dbus-vpn.c + - Remove, no longer necessary. Move last bits to the only place its + used, in nm-dbus-vpn.c + + * src/NetworkManagerAPList.c + src/nm-device.c + src/NetworkManager.c + src/nm-device-802-11-wireless.c + src/vpn-manager/nm-vpn-manager.c + src/vpn-manager/nm-vpn-service.c + src/NetworkManagerPolicy.c + src/nm-manager.c + - Remove usage of NetworkManagerDbus.h, and kill the obfuscation + that was message_is_error() + +2007-08-30 Dan Williams <dcbw@redhat.com> + + * libnm-util/sha1.c + - Include config.h to get defines for endiannes (gnome.org #420216) + +2007-08-30 Dan Williams <dcbw@redhat.com> + + Patch from Philip Withnall <bugzilla@tecnocode.co.uk> + + * src/ppp-manager/Makefile.am + - use -fPIC (gnome.org #471825) + +2007-08-29 Dan Williams <dcbw@redhat.com> + + * include/NetworkManager.h + - Keep NMConnection object path in sync + + * libnm-glib/nm-settings.c + libnm-glib/nm-settings.h + - Break D-Bus object registration out of the init function, because + every object that's exported over D-Bus needs to use the _same_ + DBusConnection. Otherwise, each object would get a different object + path tree and wouldn't be callable. + +2007-08-29 Dan Williams <dcbw@redhat.com> + + * libnm-util/nm-setting.h + libnm-util/nm-setting.c + libnm-util/nm-connection.c + src/NetworkManagerPolicy.c + - 'info' settings object should be 'connection' says the spec + at NetworkManagerConfigurationSpecification + +2007-08-29 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-settings.c + libnm-glib/nm-settings.h + - make the dbus path a property of the object, and autogenerate it. + It can't be composed of the 'id' field becuase that's not available + yet during the GObject creation in nm_connection_settings_init() + +2007-08-29 Dan Williams <dcbw@redhat.com> + + * introspection/nm-settings-connection.xml + introspection/nm-settings.xml + - Service name -> NetworkManagerUserSettings because two services + can't share part of the same path. I'm not really sure how we'll use + the same code with the system-settings daemon... + +2007-08-28 Dan Williams <dcbw@redhat.com> + + * src/nm-device-interface.c + src/nm-device-interface.h + - Kill one more bit of NMData + +2007-08-28 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerSystem.h + src/nm-device.c + src/nm-device.h + src/nm-hal-manager.c + src/NetworkManager.c + src/nm-device-802-11-wireless.c + src/nm-hal-manager.h + src/nm-device-802-3-ethernet.c + src/vpn-manager/nm-vpn-service.h + src/vpn-manager/nm-vpn-manager.c + src/vpn-manager/nm-vpn-manager.h + src/vpn-manager/nm-vpn-service.c + src/nm-device-802-11-wireless.h + src/NetworkManagerMain.h + src/nm-device-802-3-ethernet.h + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerFrugalware.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerArch.c + src/backends/NetworkManagerSuSE.c + src/backends/NetworkManagerGeneric.h + src/backends/NetworkManagerDebian.c + - Kill NMData + +2007-08-28 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerMain.h + src/nm-device-802-11-wireless.c + src/NetworkManager.c + - Remove invalid AP list from NMData; need to rework this somewhat, but + for now we should set the 'invalid' property on individual APs, and when + we need to invalidate a whole ESS, set the 'invalid' on every member of + that ESS + +2007-08-28 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + src/NetworkManagerAP.h + - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings + 'autoconnect' property instead + + * src/NetworkManager.c + src/NetworkManagerMain.h + src/NetworkManagerPolicy.c + src/NetworkManagerPolicy.h + - Remove the 'allowed_ap_list', which should be replaced by + NMConnection/NMSettings instead, since _those_ are the allowed + things that NM can connect to + + * src/nm-device-802-11-wireless.c + - Remove both allowed_ap_list usage and 'fallback' checking + +2007-08-28 Dan Williams <dcbw@redhat.com> + + * src/nm-device.c + src/named-manager/nm-named-manager.c + src/named-manager/nm-named-manager.h + src/NetworkManager.c + src/vpn-manager/nm-vpn-manager.c + src/NetworkManagerMain.h + src/NetworkManagerSystem.c + - Remove the named-manager object from NMData structure in preparation + for NMData's timely death. Make the NMNamedManager the singleton that + it really is + +2007-08-28 Dan Williams <dcbw@redhat.com> + + Remove NMAPSecurity objects, they are replaced with flags on the APs for + each AP's capabilities, and by NMConnection/NMSettings objects for user + defined connections. + + * include/NetworkManager.h + - Redefine 802.11 security properties. There are now device capabilities + and AP flags and AP security flags. It was way to unclear before. + + * src/Makefile.am + src/nm-ap-security-leap.h + src/nm-ap-security-leap.c + src/nm-ap-security-wpa-eap.c + src/nm-ap-security-wpa-eap.h + src/nm-ap-security-private.h + src/nm-ap-security-wpa-psk.c + src/nm-ap-security-wpa-psk.h + src/nm-ap-security-wep.c + src/nm-ap-security-wep.h + src/nm-ap-security.c + src/nm-ap-security.h + - Removed, to be replaced with NMConnection/NMSettings objects + + * src/nm-dbus-nmi.c + src/nm-dbus-nmi.h + - Removed, to be replaced by code that talks to the new info daemon + interface and gets NMConnection/NMSettings objects + + * src/backends/NetworkManagerSuSE.c + - Remove usage of NMAPSecurity; should be replaced by a system-level + info-daemon that does the same thing but talks the new info-daemon + D-Bus interface + + * src/NetworkManagerAP.h + src/NetworkManagerAP.c + src/NetworkManagerAPList.c + libnm-glib/libnm-glib-test.c + - Remove usage of NMAPSecurity objects and adjust to new flags for + WPA/RSN + + * libnm-glib/nm-access-point.c + libnm-glib/nm-access-point.h + introspection/nm-access-point.xml + test/nm-tool.c + - Adjust to new flags for AP security + + * utils/nm-utils.c + utils/nm-utils.h + src/vpn-manager/nm-dbus-vpn.c + - Remove D-Bus pending call stuff from nm-utils and put it in the VPN + stuff which is the only place it's used + + * src/nm-device-interface.c + src/nm-device-interface.h + introspection/nm-device.xml + src/nm-activation-request.c + src/nm-activation-request.h + src/nm-device.c + - Add a new 'specific_object' argument that hints to NM what actual + AP or other device-specific thing the connection should apply to. + NMConnection objects can apply to more than one actual device/AP. + + * libnm-util/nm-connection.c + * libnm-util/nm-connection.h + - Add 'have_secrets" call stubs + + * libnm-util/cipher.h + - Move NM_AUTH_TYPE_* defines here for now + + * src/nm-device-802-11-wireless.c + - Remove usage of NMAPSecurity, to be replaced with NMConnection/ + NMSettings objects + + * src/NetworkManagerDbus.c + * src/NetworkManagerPolicy.c + - Remove usage of update_allowed_networks, should be pushing data in + a different manner + +2007-08-27 Tambet Ingo <tambet@gmail.com> + + * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, + dbus-glib frees it when the call is done. + +2007-08-26 Dan Williams <dcbw@redhat.com> + + * introspection/nm-device.xml + - Add 'Index' property on NMDevice objects (forgot to do this earlier) + +2007-08-26 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-3-ethernet.c + - (constructor): move connection of interface-connected/disconnected + signals here from real_bring_up(). Should be listening to netlink + for carrier events no matter what the initial state of the device + is. + +2007-08-26 Dan Williams <dcbw@redhat.com> + + * src/nm-netlink-monitor.c + - (nm_netlink_monitor_class_init): fix marshalling types for + interface-connected/interface-disconnected + - (nm_netlink_monitor_event_handler): clean up carrier on/off + check + +2007-08-26 Dan Williams <dcbw@redhat.com> + + Convert to using interface indexes as the primary method of identifying + devices inside NetworkManager. Indexes are (?) stable, but devices can + be renamed at any time. Device object paths now refer to the device + index rather than the name, and you can map those two manually if you like + by looking in the /sys/class/net/<name>/ifindex file. Also moves most + netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c + to use interface indexes rather than names. + +2007-08-26 Dan Williams <dcbw@redhat.com> + + * src/nm-netlink-monitor.h + - Remove one last bit of wireless-event signal + +2007-08-26 Dan Williams <dcbw@redhat.com> + + * src/nm-netlink-monitor.c + - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler): + don't need the 'wireless-event' signal anymore since that's all + handled by wpa_supplicant + +2007-08-25 Dan Williams <dcbw@redhat.com> + + It's 2007. Remove support for drivers that don't support wireless scanning. + + * test/nm-tool.c + include/NetworkManager.h + src/NetworkManagerUtils.c + src/NetworkManagerPolicy.c + src/nm-device-802-11-wireless.c + - Remove special handling for non-scanning devices and mark them + as unsupported/unhandled + +2007-08-20 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + src/nm-device-802-3-ethernet.c + - (real_is_up): move device-specific tests before generic IFF_UP test, + because when the card is pulled or the module removed, the device + is already !IFF_UP and then device-specific cleanup (removing + the supplicant interface, periodic checks, etc) never gets done + +2007-08-20 Dan Williams <dcbw@redhat.com> + + * src/nm-manager.c + - (nm_manager_remove_device): bring device down before disconnecting + signal handlers, so that the 'state' signal will get broadcast when + the device enters the DOWN state + - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list + of states that cause the NMManager to recheck its state + +2007-08-20 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-interface.c + - (interface_disconnect_done): don't try to dispose of the net proxy + when it may already have been disposed of + +2007-08-20 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_get_ssid): don't traceback and die when + the SSID isn't available; this can happen when the card is pulled + or the module unloaded, during the post-removal deactivation + paths, when the ioctl returns ENODEV + +2007-08-20 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID, + frequency, and mode match. Applets are now responsible for grouping + access points + +2007-08-20 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + * src/NetworkManagerAP.h + - (nm_ap_print_self): new function + + * src/NetworkManagerAPList.c + - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying + to do it all here + +2007-08-17 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-3-ethernet.c + - (real_bring_down): don't try to dispose of stuff that might not + exist + +2007-08-17 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the + applet. This ensures that the case between the seen-bssids and + the bssids reported by the driver match. + +2007-08-17 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (device_cleanup): disconnect the interface in wpa_supplicant before + we dispose of the interface proxy in NM + +2007-08-16 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-client.c + - (nm_client_init): create VPN connections hash table with key free + function + - (proxy_vpn_connection_added): VPN connections hash table key should + be a duplicated value, not the same memory address as the VPN + connection name. This is because the VPN connection name could + potentially be freed and set to something else during the lifetime + of the NMVPNConnection object. + +2007-08-16 Tambet Ingo <tambet@gmail.com> + + * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement. + (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything + with the file descriptors. Send a child setup function to change the pppd + progress group. + +2007-08-15 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-interface.c + - (try_remove_iface): new function, ask wpa_supplicant to remove + an interface + - (nm_supplicant_interface_dispose): call try_remove_iface() when + disposing of the NMSupplicantInterface. Otherwise weird stuff + happens on hotplug if wpa_supplicant doesn't tear down and readd + the interface internally + +2007-08-15 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (real_bring_down): move most of this function into device_cleanup() + so that it can be called from elsewhere + - (nm_device_802_11_wireless_dispose): clean up device periodic timers + and stuff on dispose. These would normally get cleaned up when + the device is marked down and deactivated, but when the device is + hot-unplugged, it's already down and real_down() never gets run + +2007-08-15 Dan Williams <dcbw@redhat.com> + + * src/nm-dbus-nmi.c + - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that + caused a reference leak on device for which NM requested a key + +2007-08-15 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-client.c + - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list + +2007-08-15 Tambet Ingo <tambet@gmail.com> + + * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since + nothing is using it at the moment, but it'll be all useful and stuff later on. + + * libnm-util/nm-setting.h: Define NMSettingPPP. + + * libnm-util/nm-setting.c: Implement NMSettingPPP. + + * libnm-util/nm-connection.c (register_default_creators): Register ppp setting. + + * src/Makefile.am: Add ppp-manager to SUBDIRS. + + * configure.in: Require ppp headers. Build Makefile for ppp-manager. + + * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST. + +2007-08-14 Tambet Ingo <tambet@gmail.com> + + * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings. + + * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around + an issue with dbus-glib bindings generator. The issue is, the generated C caller + functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function + name and different arguments and it won't compile anymore. To fix this, we now have + two copies of nm-manager.xml file. nm-manager.xml contains the actual interface, + that is new API + compatibility API and used by the daemon. The other, + nm-manager-client.xml is only the new API without compatibility bits and is used + by libnm-glib to make it compile. + + * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state). + + * src/nm-manager.c (impl_manager_legacy_sleep) + (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility + interface functions for 0.6 branch. + +2007-08-14 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + - (nm_ap_new_from_properties): fix mistaken check of return value + from memcmp (should expect 0) + +2007-08-14 Dan Williams <dcbw@redhat.com> + + (force-commit to fix wrong comment and partial commit of r2685; this + commit actually applies to r2685) + + * src/NetworkManagerUtils.c + - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which + ignores trailing nulls in the SSID to work around mismatches in + expectations between WEXT and what the info-daemon passes back. The + info-daemon would pass back the correct length, but due to the + ESSID length issues with WEXT 22 and greater and wpa_supplicant, + the device would always have an SSID + 1 depending on what versions + of wpa_supplicant, the kernel, and NM you have. This was most often + visible by just quitting the applet and relaunching, which caused + NM to reassociated to the same network over again when reloading + the save networks. + + * src/NetworkManagerPolicy.c + src/NetworkManagerUtils.h + src/nm-device-802-11-wireless.c + - Update for new parameter to nm_utils_same_ssid() + +2007-08-14 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs. Today + I encountered a BSS that wasn't just hiding it's ESSID, it was + setting the BSSID to all 0s. That confused the heck out of NM, + plus it's useless and probably out-of-spec. + +2007-08-14 Dan Williams <dcbw@redhat.com> + + * callouts/Makefile.am + src/dhcp-manager/nm-dhcp-manager.c + src/dhcp-manager/nm-dhcp-manager.h + src/dhcp-manager/Makefile.am + - Change install location of nm-dhcp-client.action to ${prefix}/libexec + +2007-08-14 Dan Williams <dcbw@redhat.com> + + * src/dhcp-manager/nm-dhcp-manager.c + - (dhclient_run): don't pass -x to dhclient until we figure out if + it's really needed, get rid of unused xtra_args parameter + +2007-08-14 Dan Williams <dcbw@redhat.com> + + * include/NetworkManagerVPN.h + src/vpn-manager/nm-dbus-vpn.c + src/vpn-manager/nm-dbus-vpn.h + src/vpn-manager/nm-vpn-act-request.c + src/vpn-manager/nm-vpn-act-request.h + src/vpn-manager/nm-vpn-service.c + src/vpn-manager/nm-vpn-service.h + libnm-glib/nm-vpn-connection.c + libnm-glib/nm-vpn-connection.h + libnm-glib/nm-client.h + - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> + NMVPNServiceState to clarify what they apply to + - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and + NMVPNActStage -> NMVPNConnectionState for the same reason + + * libnm-glib/nm-client.c + - Constant + type renames from above + - Properly handle NameOwnerChanged/manager_running signals + for NM service; only emit when state really changes + - Use hash tables correctly so that the key (which was previously owned + by the D-Bus message) now has the same lifetime as the value, since + the key is now taken from the the NMVPNConnection itself. This + really fixes the double-VPN names in the applet + +2007-08-13 Dan Williams <dcbw@redhat.com> + + Patch from Michael Biebl <biebl@debian.org> + + * po/POTFILES.in + po/POTFILES.skip + - Update for vpn-properties move + +2007-08-13 Dan Williams <dcbw@redhat.com> + + * libnm-glib/nm-client.c + - Convert internal VPN connection tracking from a list to a hash table + to easily avoid duplicates + - (nm_client_get_vpn_connections): now returns an allocated GSList that + must be freed by the caller, like nm_client_get_devices() + - (nm_client_remove_vpn_connection): don't let the removal signal + leak through for NMVPNConnection objects that aren't actually + tracked. + - (manager_running): throw away VPN connection list when NM goes away, + like with the device list + +2007-08-13 Dan Williams <dcbw@redhat.com> + + * src/dhcp-manager/nm-dhcp-manager.c + - Stop any dhclient instance that might be already running for a + particular interface before starting an NM spawned dhclient. Fixes + dhclient processes left over if NM crashes, stuff like that. + +2007-08-13 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAP.c + - (finalize): don't try to g_array_free (NULL, ...), which happened + when the AP wasn't broadcasting it's SSID + +2007-08-13 Rodrigo Moya <rodrigo@gnome-db.org> + + * include/NetworkManager.h: added DBus path for connection settings. + + * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection, + nm_connection_settings_signal_updated, + nm_connection_settings_signal_removed): new functions to wrap the + objects' signals. + (nm_connection_settings_init): register GObject with DBus. + (nm_connection_settings_get_dbus_object_path): new function. + + * libnm-glib/Makefile.am: added libnmutil to link flags. + +2007-08-13 Tambet Ingo <tambet@gmail.com> + + * configure.in: Remove checks for dhcdbd as it's killed! killed! killed! + + * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet, + libnm_glib directory got merged with libnm-glib/. + + * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in. + + * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build. + Rename the library from libnm-glib to libnm_glib to maintain the library API + compatibility with 0.6 branch. + + * Makefile.am: Remove gnome/ SUBDIR. + + * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/. + + * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define. + + * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib. + + * configure.in: Remove GNOME checks, NetworkManager does not need any of these + anymore. + Remove checks for wpa_supplicant binary, it's used over dbus. + Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved. + + * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN. + Link the binaries with libnm_glib.la. + +2007-08-12 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (nm_policy_device_change_check): fix policy to deactivate old device + before activating new one, at least until the multiple active + device support lands + +2007-08-12 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (nm_policy_new): hook up to connection-added / connection-removed + signals instead of connections-changed + +2007-08-12 Dan Williams <dcbw@redhat.com> + + Kill dhcdbd until it's dead, dead, dead. Based on a patch from + Robert Frank <rfrank@redhat.com> + + * src/dhcp-manager/nm-dhcp-manager.c + src/dhcp-manager/nm-dhcp-manager.c + src/nm-device.c + - Spawn and communicate with dhclient directly, through means of a + custom dhclient callout script. Process callout D-Bus signals + with dbus-glib instead of hand-rolled dbus. DHCP timeouts are now + sent via gobject signals rather than being driven by the dhcp manager + directly. + +2007-08-12 Dan Williams <dcbw@redhat.com> + + * callouts/nm-dhcp-client-action.c + - (build_message): ignore non-DHCP-related environment variables + +2007-08-12 Dan Williams <dcbw@redhat.com> + + * Makefile.am + configure.in + callouts/Makefile.am + callouts/nm-dhcp-client-action.c + callouts/nm-dhcp-client.conf + - Add dhclient-executed callout that takes the place of dhclient-script + and dhcdbd, pushing DHCP options out to the system bus as a signal that + NM then listens for + +2007-08-09 Tambet Ingo <tambet@gmail.com> + + [Based on patch by Helmut Schaa <hschaa@suse.de>] + + * libnm-glib/nm-client.h: + * libnm-glib/nm-object.h: + * libnm-glib/nm-vpn-connection.h: + * libnm-glib/nm-settings.h: + * libnm-glib/nm-device.h: + * libnm-glib/nm-ip4-config.h: + * libnm-glib/nm-access-point.h: + * libnm-glib/nm-device-802-3-ethernet.h: + * libnm-util/nm-setting.h: + * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++. + + * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement. + + * libnm-glib/nm-access-point.c: Strength has type char. + + * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now + to fix build. GnomeDruid is deprecated in recent libgnomeui. + + * introspection/nm-access-point.xml: Strength property is char, not int. + + * src/NetworkManagerAP.c (set_property): Set strength from char. + (get_property): Handle hidden APs (with empty SSID). + Get strength value from char. + (nm_ap_class_init): Strength property has char type. + +2007-08-03 Rodrigo Moya <rodrigo@gnome-db.org> + + * introspection/Makefile.am: + * introspection/nm-settings.xml: + * introspection/nm-settings-connection.xml: added Settings interfaces. + + * libnm-glib/nm-settings.[ch]: + * libnm-glib/Makefile.am: added abstract class for Settings interfaces + containing the DBus implementation. + +2007-07-26 Dan Williams <dcbw@redhat.com> + + Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at> + + * 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 <dcbw@redhat.com> + + Patch from Kelemen Gábor <kelemeng@gnome.hu> + + * gnome/vpn-properties/nm-vpn-properties.c + - Fix translatable strings (#445865) + +2007-07-26 Dan Williams <dcbw@redhat.com> + + Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de> + + * configure.in + - Remove useless junk (#412530) + +2007-07-10 Christopher Aillon <caillon@redhat.com> + + Patch from Robert Buchholz <rbu@gentoo.org>: + + * configure.in: + * Makefile.am: + * introspection/Makefile.am: + Make make distcheck work again. + +2007-06-27 Dan Williams <dcbw@redhat.com> + + * Make SSIDs GByteArrays everywhere + * Rename "essid" -> "ssid" everywhere that's appropriate + * Refcount activation_ap member of the 802.11 wireless device class + +2007-06-27 Tambet Ingo <tambet@ximian.com> + + * libnm-glib/nm-object.[ch]: Add these to the SVN, oops. + +2007-06-22 Tambet Ingo <tambet@ximian.com> + + * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly + that we got a new AP when we just update existing AP properties. + +2007-06-21 Tambet Ingo <tambet@ximian.com> + + * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch]. + + * nm-utils.[ch]: Remove. + + * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware + objects for easy property access and dbus connection handling. + + * libnm-glib/nm-client.c: Derive from NMObject. + + * libnm-glib/nm-device.c: Ditto. + + * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject. + + * libnm-glib/nm-device-802-11-wireless.c: Ditto. + + * libnm-glib/nm-ip4-config.c: Ditto. + + * libnm-glib/nm-access-point.c: Ditto. + + * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection + comparision. Currently used by the device activation code to determine if the new + activation is the same as the old one. + + * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and + wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't + able to ask password for the AP. + + * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving + up if the device is already connected, tear down it's connection (if it isn't the + same as new one) and start the activation. + + * src/nm-manager.c: Add the beginnings of NMConnection storage and signals. + + * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes + the issue where all APs are always listed as encrypted. + + * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have + their own registered paths. + + * test/nm-tool.c (detail_device): Don't try to get active network from wireless + device if it's not connected - dbus-glib will happily crash trying to marshal NULL. + +2007-06-13 Tambet Ingo <tambet@ximian.com> + + * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too! + (0 & 0 == 0, doh) + + * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it + because the handling code will cause the next state change and signal listeners + get the signals in wrong order. + + * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev" + correctly in case of pending activation. + + * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap): + Convert the essid byte array to string correctly, including the terminating NULL. + + * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and + mode with correct types. + + * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the + constructed info to dbus call instead of the activation request. + +2007-06-11 Christopher Aillon <caillon@redhat.com> + + Patch from Christian Persch <chpe@gnome.org> + + * libnm-glib/Makefile.am: + * dispatcher-daemon/Makefile.am: + Use the correct variables, the correct paths, and correct ordering. (446315) + +2007-06-11 Tambet Ingo <tambet@ximian.com> + + * src/nm-device.c: Make the activation stage virtual functions take NMDevice + argument. The activation request is easy to retrieve. + + * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers + just to be a convenient location for devices to store random stuff. + +2007-06-11 Christopher Aillon <caillon@redhat.com> + + Patch from Alex Smith <alex@alex-smith.me.uk> + + * src/backends/NetworkManagerFrugalware.c: + Update the FrugalWare backend to fix a few segfaults. (#392642) + +2007-06-08 Tambet Ingo <tambet@ximian.com> + + * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity. + + * libnm-util/nm-connection.c (register_default_creators): Register wireless security + setting. + (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList. + +2007-06-06 Tambet Ingo <tambet@ximian.com> + + * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen + automagically. + Implement NMSettingIP4Config. + Finish NMSettingWired by adding all known members. + (setting_wired_verify): Implement. + Finish NMSettingWireless by adding all known members. + (setting_wireless_verify): Implement. + + * libnm-util/nm-connection.c: Register "ipv4" setting. + (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement + dump function, we can introspect the GHashTable which is used for sending connections + over dbus. + + * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap): + Take GByteArray for essid, it's really not a string. + + * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings. + Start DHCP request if setting is not passed or if it states that DHCP should be used. + (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it + means overriding the values we got from DHCP. + (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh. + (nm_device_deactivate_quickly): Ditto. + + * src/nm-device-interface.c (impl_device_activate): Dump the connection structure + for debugging. + +2007-05-07 Tambet Ingo <tambet@ximian.com> + + * libnm-glib/Makefile.am: Link with libnm-util to gain access to + NMConnection. + + * libnm-glib/nm-device-802-11-wireless.c: + (nm_device_802_3_ethernet_activate): Remove. + + * libnm-glib/nm-device-802-3-ethernet.c + (nm_device_802_3_ethernet_activate): Remove. + + * libnm-glib/nm-device.c (nm_device_activate): Implement. + + * src/nm-device-802-3-ethernet.c: Implement the new activation using + NMConnection. + + * src/nm-device-802-11-wireless.c: Store an activation AP once the + activation has started. + Implement the new activation using NMConnection. + + * src/nm-activation-request.c: Store a generic connection object instead + of a wireless-specific AP. + + * src/NetworkManagerPolicy.c (create_connection): Implement. Depending + on device type, create a device specific connection object suitable for + device activation. + + * src/nm-device.c (nm_device_activate): Re-implement. Call the device + specific check to validate the connection and on success start the + activation. + + * src/nm-device-interface.h: Add a activate virtual function to the + interface definition. + + * src/nm-device-interface.c (nm_device_interface_activate): Implement. + (impl_device_activate): Implement. + + * introspection/nm-device.xml: Add a generic device activation interface + that accepts an abstract NMConnection structure that has device-specific + information in it. + + * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific + activation interface. + + * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific + activation interface. + + * libnm-util/nm-connection.c: + * libnm-util/nm-connection.h: + * libnm-util/nm-setting.c: + * libnm-util/nm-setting.h: Add. + + * libnm-util/Makefile.am: Build the added files. + + * src/nm-dbus-manager.c + (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the + DbusConnection argument from 'name-owner-changed' signal. The manager + is already passed as a first argument to the signal and the connection + is easy enough to get from it. + + * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed): + Update the signature of the function. + + * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler): + Ditto. + + * src/NetworkManager.c: Ditto. + + * src/named-manager/nm-named-manager.c + (nm_named_manager_name_owner_changed): Ditto. + + * src/supplicant-manager/nm-supplicant-manager.c + (nm_supplicant_manager_name_owner_changed): Ditto. + + * src/nm-hal-manager.c (name_owner_changed): Ditto. + + * src/dhcp-manager/nm-dhcp-manager.c + (nm_dhcp_manager_name_owner_changed): Ditto. + + * src/nm-hal-manager.c: Add a list of device detectors and creators + to make it easier to add new devices. Each device type has it's own + entry in the table so adding new device types is only a matter of + implementing a couple of functions, one for device detection and the + other for device creation. + +2007-04-25 Dan Williams <dcbw@redhat.com> + + * initscript/RedHat/NetworkManager.in: remove trailing backslash + (gnome.org #432401) + +2007-03-30 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerSystem.c + - (nm_system_device_set_ip4_route): clean up and fix argument + to nm_dev_sock_open() + +2007-03-28 Tambet Ingo <tambet@ximian.com> + + * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the + data to correct types instead of always using string. + + * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does + _not_ have NM_802_11_CAP_PROTO_NONE. + (foreach_property_cb): Set AP capabilities if it's not set or if the protocol + is not set. + +2007-03-27 Tambet Ingo <tambet@ximian.com> + + * libnm-glib/Makefile.am: Fix the build issue. + +2007-03-26 Tambet Ingo <tambet@ximian.com> + + * libnm-glib/nm-vpn-connection.h: + * libnm-glib/nm-vpn-connection.c: Implement. + + * libnm-glib/nm-client.c: Add VPN support. + + * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message + handler for VPN. + + * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface + on DBUS again. + +2007-03-26 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAPList.c + * src/nm-device-802-11-wireless.c + * src/NetworkManagerAP.c: + - Store last seen as glong instead of GTimeVal. + - Fix the upper bound of capabilities, it's a bitfield. + +2007-03-16 Tambet Ingo <tambet@ximian.com> + + * libnm-glib/nm-device.c (nm_device_get_description): Implement. + + * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a + "manager-running" signal that notifies the appearance/disappearance of NM. + (nm_client_sleep): Implement. + + * libnm-glib/nm-device.c: + * libnm-glib/nm-device-802-11-wireless.c: + * libnm-glib/nm-device-802-3-ethernet.c: + + Don't inherit from DBusGProxy, add a proxy to private + data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals + for anything but their own dbus interface. DBusGProxy objects support only one + interfaces and to work around this, NMDevice has spearate proxy for each dbus + interface. The nice side effect of this change is that we do not create a new + DBusGProxy object for each property access. + +2007-03-15 Tambet Ingo <tambet@ximian.com> + + * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures + with zeroes before passing them to functions - the functions never do that and + reading the values back may produce wrong values. + (real_bring_up): Store the signal handler id ... + (real_bring_down): ... So that it can be removed here. + Disconnect the supplicant interface here as well. + (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path + from the access point instead of old $device/Networks/$essid. + + * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the + device state is connected (instead of just having link/carrier). + + * src/nm-activation-request.c: Don't store NMData in activation request, it's + already easily accessible through the device. + + * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and + store it within the object. + (nm_ap_get_dbus_path): Export it to public as well. + + * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership + of the singleton. + +2007-03-12 Dan Williams <dcbw@redhat.com> + + Get rid of 2 second poll of sysfs 'carrier' file for wired devices. Useless + for non-carrier-detect capable devices, and useless for carrier-detect + devices since we get notifications from netlink about carrier status anyway. + + * src/nm-device-802-3-ethernet.c + - remove 'link_source_id' member from private data + - (probe_link): remove and collapse into real_update_link() + - (nm_device_802_3_periodic_update): remove + - (real_is_up): check for sup_iface rather than link_source_id + - (real_bring_up): return gboolean for success/fail; require that + sup_iface be valid for device bringup to succeed + - (real_bring_down): zero out link signal ids + + * src/nm-device.c + - (nm_device_activate_stage2_device_config): fail activation if device + bringup fails + - (real_act_stage4_get_ip4_config): fail activation if device bringup + fails + - (nm_device_bring_up): return success/fail + + * src/nm-device.h + - bring_up now returns success/fail + + * src/nm-device-802-11-wireless.c + - (real_bring_up): return success from bringup + +2007-03-07 Dan Williams <dcbw@redhat.com> + + Patch from Simon Geard <delgarde@ihug.co.nz> (Gnome.org #394956) + * src/nm-ap-security-wpa-psk.c + - (real_write_supplicant_config): work with PSKs that may contain + zeros in the binary format rather than treating it as a string + +2007-03-02 Tambet Ingo <tambet@ximian.com> + + * libnm-glib/nm-device-802-11-wireless.c + (nm_device_802_11_wireless_get_capabilities): Implement. + + * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement. + + * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property. + + * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the + reply only if it's not NULL. Not sure why this started happening right now. + + * src/nm-manager.c (device_stop_and_free): Remove. No need to have different + code paths for when devices get removed on shutdown or when a device is just + removed. + (finalize): Don't use a g_slist_foreach() when removing devices, the list data + gets freed so any signal from a device (disconnected for instance) would invoke + NMState update which would crash. + (nm_manager_remove_device): Bring the device down when it gets removed. + + * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove + the unused dev_type. + + * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the + reference to the added device, NMManager will own it (if it wants). + + * test/nm-tool.c: Rewrite using libnm-glib. + + * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list. + We get signalled when it changes. + + * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled + when it changes. + + * libnm-glib/nm-device.c: Cache the device state property. + + * libnm-glib/nm-access-point.c: Cache the strength property. + + * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler. + The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0) + and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan + until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while + the device is down, activating, or activated (in case of A/B/G cards). + Remove some old dead ifdef'ed out code that used to configure wireless devices, + it's all done through supplicant now. + + * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference + counting issues with pending calls which caused leaks and crashes when + interface was removed (now that the interface actually gets removed). + + * src/nm-call-store.c: Make a copy of data before running a foreach + with user callback on it - The most common usage pattern is to cancel + (and thus remove) all pending calls with foreach which would modify + the hash table we're iterating over. + + * src/nm-manager.c: When a device is added, make sure it is "up". When + it's removed or disabled due to disabling wireless or networking, bring + it down. + + * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN. + + * src/nm-device-802-11-wireless.c: + * src/nm-device-802-3-ethernet.c: + * src/nm-device.c: + - Remove "init" virtual function, all gobjects have a place for that + already (constructor). + - Replace "start" virtual function with "bring_up", devices can be + brought up and down more than just on startup now. + - Add "is_up" virtual function. + - Implement one way to bring a device down instead of previous 4 different + ways, each of witch did something different. + + * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice, + all it needs is the device interface. + + Get rid of NMData.dev_list (3 members to go). + Get rif of NMData in a lot of places. + + * gnome/libnm_glib/libnm_glib.c: Make it compile again. + +2007-02-23 Dan Williams <dcbw@redhat.com> + + Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426) + + * src/NetworkManagerAP.c + - (add_capabilities_from_cipher): fix addition of WEP capabilities by + OR-ing rather than AND-ing + +2007-02-20 Tambet Ingo <tambet@ximian.com> + + * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and + "network-removed" signals. + + * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0. + + * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it + when receiving the signal from dbus. + + * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK + property. + + * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the + deactivation of the previously activated device working again. + + * src/nm-activation-request.c: Remove NMActStage property and it's getter + and setter. + + * src/nm-device.c (nm_device_is_activated): Remove. + state == NM_DEVICE_STATE_ACTIVATED is just as easy to use. + + * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR, + NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR, + NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and + NM_DBUS_SIGNAL_STATE_CHANGE signal. + Remove NMNetworkStatus and NMActStage enums. + +2007-02-19 Tambet Ingo <tambet@ximian.com> + + * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself. + Handle device state changes and disconnect VPN if it's device deactivates. + + * src/nm-dbus-nm.c: + * src/nm-dbus-nm.h: + * src/nm-dbus-device.c: + * src/nm-dbus-device.c: + * src/nm-dbus-net.c: + * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API. + + * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData. + + * src/nm-device.c (nm_device_get_by_udi): + (nm_device_get_by_iface): Remove. This doesn't belong here and is already + implemented in the correct location (NMManager). + Rip out all the test_device stuff. + + * src/NetworkManagerPolicy.c: Remove the leftover activation success and + failure handlers, it's all done by NMDevice already. + + * src/NetworkManager.c: Move the signal handling here from nm-logging.c + Remove the iochannel hack to route the unix signals to the main thread since + we're not threaded anymore. + + * src/NetworkManagerAP.c: Implement HWAddress property. + + * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens + automatically with dbus-glib. + + * src/nm-netlink-monitor.c: + * src/nm-netlink-monitor.h: + - Move it low in the class hierarchy, don't reference any NM types. + - Remove private data from the header. + - Use type safe checks in public API methods. + - Make it a singleton so we don't have to pass the single reference around. + +2007-02-16 Tambet Ingo <tambet@ximian.com> + + * introspection/nm-ip4-config.xml: Implement. + + * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests. + + * libnm-glib/nm-ip4-config.c: + * libnm-glib/nm-ip4-config.c: Implement. + + * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP + securities. APs reference security. + + * src/nm-device-802-11-wireless.c: Implement missing properties that need to + be exported over DBUS. + + * src/nm-device-802-3-ethernet.c: Ditto. + + * src/NetworkManagerAP.c: + * src/NetworkManagerAP.h: + - Convert to GObject, export over DBUS. + + * src/nm-ip4-config.h: + * src/nm-ip4-config.h: + - Convert to GObject, export over DBUS. + +2007-02-12 Dan Williams <dcbw@redhat.com> + + Patch from Helmut Schaa <hschaa@suse.de> + + * 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 Tambet Ingo <tambet@ximian.com> + + * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove. + + * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove. + + * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to + 'HwAddress'. + + * introspection/nm-device.xml: Remove 'UseDhcp' property. + + * introspection/nm-access-point.xml: Remove 'Broadcast' property. + + Totally break NetworkManager. Please use 0.6 branch until futher notice. + + * src/: + - Remove old low-level dbus interface implementations and replace them + with dbus-glib one. + + * configure.in: + - Require dbus-glib >= 0.72. + - Plug in new sources to build. + + * libnm-glib/: + - Implement GObject wrappers on top of DBUS glib auto-generated bindings + to make it more convenient to use from GObject based programs. + + * introspection/: + - Implement DBUS XML introspection files, used by both NM and libnm-glib. + +2007-02-09 Tambet Ingo <tambet@ximian.com> + + * src/nm-device-802-11-wireless.c: + - Add "network-added" and "network-removed" signals. + - Use gobject boilerplate macros to define the GObject. + - Implement wireless device activation. + - Remove activation_failure_handler and activation_success_handler + and instead listen on state-changed signals and run the same code + from there. + + * src/nm-device.c: + - Implment NMDeviceInterface::deactivate. + - Remove activation_failure_handler and activation_success_handler + virtual methods. Each device which is interested in these events + can just listen on it's state changed signals. + + * src/NetworkManagerPolicy.c: + - Move a bit more NMData usage to NMManager. + - Remove activation scheduling bits. + - Add listeners for wireless device's "network-added" and + "network-removed" signals. + - Listen device changed signals and deactivate currently activated + device when another device start activating (for now). + - Remove (nm_policy_schedule_device_change_check): There's never a need + for calling this, the policy code knows exactly when this should happen, + by listening on events from NMManager and NMDevices. + + * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate): + Implement. + + * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation + method on the specific device instead of going to through policy code + and determining the device type by passed in AP's existance. + + * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the + abstract NMDevice deactivation. + +2007-02-08 Tambet Ingo <tambet@ximian.com> + + * src/NetworkManager.c: + - Set up all the shiny new managers. + + * src/NetworkManagerPolicy.c: + - Add the beginnings of new NMPolicy code. Instead of requireing all + classes to call into policy code, make the policy code kind of like + a supervisor that monitors what's going on and drives the whole NM. + + * src/nm-hal-manager.c: + * src/nm-hal-manager.h: + - Collect all libhal code scattered around NM to this one class. + - Listen libhal and NMManager events and add/remove devices to + NMManager. + + * src/nm-manager.c: + * src/nm-manager.h: + - Implment a replacement for NMData. NMData is now officially + deprecated. + +2007-02-05 Tambet Ingo <tambet@ximian.com> + + * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): + * src/supplicant-manager/nm-supplicant-interface.h + * src/supplicant-manager/nm-supplicant-interface.c + (nm_supplicant_interface_class_init): Change the "scan-result" signal's + argument to boolean from enum. + + Make NMDevice abstract class, remove almost all references to it's + subclasses (the last place gets removed with new policy manager). Add + NMDeviceInterface (which NMDevice implements) so that when we have + NMDevice exported over DBUS, there's a common NMDevice interface which + all instances have, plus there's a device specific interface for each + specific type. + Remove functions (nm_device_is_802_3_ethernet) and + (nm_device_is_802_11_wireless). There are already standard GObject macros + for type safe checks. + Use the updated supplican manager API. + + * src/nm-device-interface.h: + * src/nm-device-interface.c: + * src/nm-call-store.h: + * src/nm-call-store.c: Implement. + + * src/supplicant-manager/nm-supplicant-interface.c: + * src/supplicant-manager/nm-supplicant-interface.h: + * src/supplicant-manager/nm-supplicant-manager.c: + * src/supplicant-manager/nm-supplicant-manager.h: + - Remove all private data type references from public header files. + - Remove all references to other NM classes, this class is just a + proxy between wpa_supplicant and NM so it doesn't have to know + any internals. + - Convert to dbus-glib bindings. + - Type safe checks for public methods' arguments. + - Store pending DBUS call ids to NMCallStore. + + * src/supplicant-manager/nm-supplicant-config.c: + - Store config values in a GHashTable instead of GSList. + + * src/NetworkManagerMain.h: Remove all references to DHCP manager. + + * src/NetworkManager.c: Don't initialize the DHCP manager, it's a + singleton now. + + * src/nm-device.c: Use the new DHCP manager API. + + * src/nm-activation-request.c: + * src/nm-activation-request.h: + - Remove all dhcp related properties and methods. + + * src/dhcp-manager/nm-dhcp-marshal-main.c: Add. + + * src/dhcp-manager/nm-dhcp-marshal.list: Add. + + * src/dhcp-manager/nm-dhcp-manager.c: + * src/dhcp-manager/nm-dhcp-manager.h: + - Convert it to GObject since we need to signal state changes. + - Remove all references to other NM classes, this class is one + of the lowest classes in our hierarchy. + - One less class to use NMActRequest. + - Make it singleton, one less user of NMData. + - Remove a couple of sleep() calls. + - Convert a bunch of low-level dbus API calls to dbus-glib calls. + One less class to use the NM's custom tailored signal handlig. + + * Makefile.am: Generate marshallers, add them to build. + +2007-02-02 Dan Williams <dcbw@redhat.com> + + * configure.in + gnome/Makefile.am + nm-applet.desktop + Makefile.am + - Remove last bits referencing gnome applet + +2007-02-02 Dan Williams <dcbw@redhat.com> + + * src/vpn-manager/nm-vpn-service.c + - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS + and NBNS server addresses + +2007-02-02 Tambet Ingo <tambet@ximian.com> + + * src/nm-dbus-manager.c: + * src/nm-dbus-manager.h: + - Convert all internal DBUS code to use dbus-glib bindings. + - Remove GObject properties, we don't need them here. + - Don't explicitly set things to NULL after freeing, glib is + happy to do it if asked nicely (G_DEBUG=gc-friendly). + - Make public API argument checks type safe. + - Remove unnecessary (and wrong) cast to GObject for the first + argument to g_signal_* calls - The first argument is a gpointer. + - Export DBusGConnection to other cool classes that (are going to) + use dbus-glib. + +2007-01-26 Dan Williams <dcbw@redhat.com> + + * libnm-util/dbus-dict-helpers.c + libnm-util/dbus-dict-helpers.h + - Coordinate style with wpa_supplicant version to minimize diff + - Add uint32 array support + - (nmu_dbus_dict_append_uint32_array): new function + - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element, + nmu_dbus_dict_end_string_array): bring over from wpa_supplicant + version; allow adding string array elements individually + + * test/libnm-util/test-dbus-dict-helpers.c + - Test uint32 arrays + +2007-01-27 Jürg Billeter <j@bitron.ch> + + * src/backends/NetworkManagerPaldo.c + - (nm_system_update_dns): clear nscd hosts cache + +2007-01-04 Dan Williams <dcbw@redhat.com> + + Threading removal related cleanups: + + - Use the glib default main context. Remove the device main context + member from NMDevice, and the main_context member from NMData. Change + all the idle and timeout scheduler functions to use plain + g_idle_add() and g_timeout_add(). + + - As a side-effect of the first change, nm_dbus_manager_get() no longer + takes an argument; fix that up too. + + - Remove all locking, which is useless since we no longer use threads. For + example, nm_get_device_by_iface_locked() has been removed. The global + device list lock, the AP List lock, and all static locks in + NetworkManagerPolicy.c have been removed. The locking utility functions + in NetworkManagerUtils.c have also been removed. + + - Other cleanups in spacing and code style + +2007-01-01 Dan Williams <dcbw@redhat.com> + + Found by Bill Moss: + + * src/supplicant-manager/nm-supplicant-interface.c + - (nm_supplicant_interface_disconnect): fix cleanup logic when + the supplicant interface wasn't already disconnected. Always + call removeNetwork and disconnect unless the supplicant interface + is in the DISCONNECTED or INACTIVE state. + +2006-12-28 Dan Williams <dcbw@redhat.com> + + Use a single thread for everything. With the move to wpa_supplicant + and communication over D-Bus, there's no reason for multiple threads. + Almost all of the blocking code has been removed, with one exception in + the DHCP manager and a few in the VPN manager. This commit removes the + per-device worker thread and fixes activation cancellation in the absence + of threads. Further removal of thread-related code would be removing + any locking code (like the device list lock) and simplification of logic + around areas of code or data structures that are currently locked. + + * autoip.c + dhcp-manager/nm-dhcp-manager.c + nm-device-802-11-wireless.c + nm-device-802-3-ethernet.c + nm-device.c + nm-device.h + - Remove usage of multiple threads + +2006-12-19 Dan Williams <dcbw@redhat.com> + + Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS + plus a few other patches from wpa_supplicant bugzilla. + + * src/Makefile.am + src/NetworkManagerPolicy.c + src/NetworkManagerUtils.c + src/NetworkManagerUtils.h + src/nm-ap-security-leap.c + 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 + src/nm-device-802-11-wireless.c + src/nm-device-802-11-wireless.h + src/supplicant-manager/nm-supplicant-config.c + src/supplicant-manager/nm-supplicant-config.h + src/supplicant-manager/nm-supplicant-interface.c + src/supplicant-manager/nm-supplicant-interface.h + src/supplicant-manager/nm-supplicant-marshal.list + src/supplicant-manager/nm-supplicant-settings-verify.c + src/supplicant-manager/nm-supplicant-settings-verify.h + - Move all connection management and association handling to + wpa_supplicant over dbus, rather than spawning a private copy + +2006-12-19 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (nm_policy_device_change_check, nm_policy_schedule_device_change_check): + better locking of the device change check handler ID. Incorrect + locking was causing lost device change requests + +2006-12-18 Dan Williams <dcbw@redhat.com> + + * libnm-util/dbus-dict-helpers.c + - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array, + _nmu_dbus_dict_entry_get_byte_array): replace usage of + dbus_message_iter_get_array_len() (Gnome.org #382898) + +2006-12-18 Dan Williams <dcbw@redhat.com> + + * gnome/libnm_glib/libnm_glib.c + - Change dbus_connection_close() -> dbus_connection_unref() + +2006-12-11 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-interface.c + - (iface_state_cb, wpas_iface_get_state): new functions; query initial + wpa_supplicant interface state + - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface + state before transitioning to READY state + +2006-12-04 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to + odd length of ESSID returned from ieee80211 stack-based drivers + +2006-12-04 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN + IE handling blocks that cause mis-parsing of the IE + +2006-12-04 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (init_supplicant_interface): new function; pull supplicant interface + setup code out into standalone function since it must be called from + two different places + - (real_init): sup_mgr is now in private object data; get and track + the supplicant manager object over the NMDevice subclass' lifetime + and register a signal handler for its state signals; only try to + initialize the supplicant interface if the supplicant manager is in + the IDLE state (and therefore is ready for requests) + - (request_wireless_scan): reschedule the scan request if (a) there is + no supplicant interface yet (meaning wpa_supplicant isn't running + or isn't ready yet), or (b) if the supplicant interface isn't ready + for requests yet + - (supplicant_iface_connection_state_cb): new function; stub for + handling supplicant interface connection state signals + - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant + comes and goes + - (nm_device_802_11_wireless_dispose): clean up spacing; release the + supplicant manager object that's being tracked starting with this + commit + +2006-12-04 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-interface.c + - (nm_supplicant_interface_set_property): track signal handler ID + - (nm_supplicant_interface_dispose): remove signal handler on dispose + +2006-12-04 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-interface.[ch] + - (nm_supplicant_interface_get_state): new function + +2006-12-04 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-interface.c + - (bssid_properties_cb): don't treat DBus errors as valid + scanned AP messages + +2006-12-04 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-interface.[ch] + - (nm_supplicant_interface_get_connection_state): new function + - define new supplicant connection states + - send a signal when the supplicant connection state changes + +2006-12-03 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/Makefile.am + src/supplicant-manager/nm-supplicant-connection.h + src/supplicant-manager/nm-supplicant-connection.c + src/supplicant-manager/nm-supplicant-config.h + src/supplicant-manager/nm-supplicant-config.c + src/supplicant-manager/nm-supplicant-types.h + src/supplicant-manager/nm-supplicant-interface.h + src/supplicant-manager/nm-supplicant-interface.c + - Rename NMSupplicantConnection -> NMSupplicantConfig + +2006-12-03 Dan Williams <dcbw@redhat.com> + + Patch from Gabor Kelemen <kelemeng@gnome.hu> (Gnome.org #381890) + + * po/POTFILES.in + po/POTFILES.skip + - Move VPN-related translatables to .skip + + * vpn-daemons/pptp/po/POTFILES.in + - Update with new translatables + +2006-12-02 Dan Williams <dcbw@redhat.com> + + Patch from Christian Persch <chpe@gnome.org> + + * gnome/applet/Makefile.am + gnome/applet/applet-dbus-devices.c + gnome/applet/applet-notifications.c + gnome/applet/applet.c + gnome/applet/applet.h + gnome/applet/main.c + - Be a GtkStatusIcon on GTK+ >= 2.10 + +2006-12-02 Dan Williams <dcbw@redhat.com> + + * gnome/applet/applet.c + - (nma_update_info): fix two unecessary allocations + +2006-12-02 Dan Williams <dcbw@redhat.com> + + Patch from Michael Biebl <biebl@teco.edu> + * configure.in + man/NetworkManager.1.in + man/NetworkManagerDispatcher.1.in + man/NetworkManager.8.in + man/NetworkManagerDispatcher.8.in + - Add .SH NAME stanzas + - Move NM & NM Dispatcher manpages to section 8 (admin) + +2006-12-02 Dan Williams <dcbw@redhat.com> + + Patch from Christian Persch <chpe@gnome.org> + + * configure.in + - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch + +2006-11-29 Tambet Ingo <tambet@ximian.com> + + Patch by Timo Hoenig <thoenig@suse.de>: + * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with + DBUS-1.0. + + * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since + we can't use the one from the main source directory. + +2006-11-27 Dan Williams <dcbw@redhat.com> + + Patch from Christian Persch <chpe@gnome.org> + + * gnome/applet/applet-dbus-devices.c + - (hal_info_product_cb): fix memleak; free duped string. + Gnome.org #379908 + +2006-11-27 Dan Williams <dcbw@redhat.com> + + Patch from Christian Persch <chpe@gnome.org> + + * 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-26 Dan Williams <dcbw@redhat.com> + + Scan using wpa_supplicant over DBus. + + * src/nm-device-802-11-wireless.c + - remove wireless extensions netlink event handler bits + (wireless_event_helper, nm_device_802_11_wireless_event) + - remove wireless extensions scan event handler bits + (process_scan_results, add_new_ap_to_device_list, hexstr2bin, + hex2byte, hex2num, request_and_convert_scan_results, + free_process_scan_cb_data, scan_results_timeout, + schedule_scan_results_timeout, cancel_scan_results_timeout) + - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan() + and request scans from the supplicant interface rather than directly + - Move functionality of convert_scan_results() to cull_scan_list() and + supplicant_iface_scanned_ap_cb() + - (supplicant_iface_scan_result_cb): new function; schedule a new scan + at the scan interval when the current scan has finished + - (supplicant_iface_state_cb): start scanning when the supplicant + interface enters the READY state, and stop scanning when it + enters the DOWN state + - (cull_scan_list): weed out old access points from the scan list + - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access + point into an NMAccessPoint and merge it into the device's scan list + + * src/supplicant-manager/nm-supplicant-interface.c + src/supplicant-manager/nm-supplicant-interface.h + - Add a new signal "scan-result" which is issued when the supplicant + notifies NM that a scan has completed + - Add a new signal "scanned-ap" that notifies listeners of a new access + point found in the scan. Called once for each access point that + the supplicant interface object receives from the supplicant as a + result of the "scanResults" method call + - (wpas_iface_query_scan_results): don't wait 4s before querying + for the initial scan results + - (scan_request_cb): new function; send listeners the result + (success, error) of a wireless scan request + - (nm_supplicant_interface_request_scan): new function; ask the + supplicant to perform an immediate wireless scan + +2006-11-25 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/Makefile.am + - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c, + add HAL cflags/includes and named-manager includes directory + + * src/supplicant-manager/nm-supplicant-interface.h + - New state STARTING to handle transition from INIT to READY where + the addInterface pending call is still outstanding + + * src/supplicant-manager/nm-supplicant-interface.c + - track pending calls differently since we may have more than one + going on at any given time + - request scan results from wpa_supplicant; but don't do it more often + than every 4 seconds. Drivers that do background scanning + (like the 'ipw' drivers) send a continuous stream of scan completion + notifications, so we don't want to hammer the supplicant or dbus + with requests for all scan results every time we get a completion + notification. + +2006-11-25 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/nm-supplicant-types.h + - new file; move all supplicant manager object typedefs here for + #include sanity + + * src/supplicant-manager/nm-supplicant-interface.c + src/supplicant-manager/nm-supplicant-interface.h + - new file; an object that interfaces an NMDevice object to the + supplicant and handles signals from the supplicant. This object + does all necessary DBus communication with wpa_supplicant. + + * src/supplicant-manager/nm-supplicant-manager.c + src/supplicant-manager/nm-supplicant-manager.h + - Actually do something. Track the state of the wpa_supplicant service + and deal with its comings & goings. Handle life events of + supplicant interfaces too. + - Move NMSupplicantManager typedef to nm-supplicant-types.h + + * src/supplicant-manager/nm-supplicant-connection.h + - Move NMSupplicantConnection typedef to nm-supplicant-types.h + + * src/supplicant-manager/Makefile.am + - Add new files to build, and add libnm-util to includes + + * src/nm-marshal.list + - New marshaler type: VOID:UINT,UINT + + * src/nm-device-802-3-ethernet.c + - (real_init): grab a supplicant interface + - (nm_device_802_3_ethernet_dispose): release the supplicant interface + - (supplicant_iface_state_cb): new function, stub for handling + supplicant interface state changes + + * src/nm-device-802-11-wireless.c + - (real_init): grab a supplicant interface + - (nm_device_802_11_wireless_dispose): release the supplicant interface + - (supplicant_iface_state_cb): new function, stub for handling + supplicant interface state changes + + * src/NetworkManager.c + - (main): create and keep the supplicant manager around for the lifetime + of NetworkManager + + * src/Makefile.am + - Link to the supplicant manager sub-library and use the supplicant + manager includes + +2006-11-25 Dan Williams <dcbw@redhat.com> + + Rework DBus manager signal handling to be more flexible. Previously, + only one signal handler could be registered for a particular interface. + The DBus manager now reference counts DBus bus matches and allows multiple + clients to register signal handlers for the same interface and sender. + + * src/NetworkManager.c + - (main): track NMI signal handler ID and remove it when we quit + + * src/NetworkManagerMain.h + - Keep track of NMI signal handler ID + + * src/nm-dbus-manager.c + src/nm-dbus-manager.h + - rework signal handling; each signal handler references one signal + match, but a signal match may be referenced by one or more + signal handlers. Matches are refcounted and are destroyed when the + last signal handler that references the match is removed. This is + necessary because two signal handlers may end up requiring the same + dbus bus match, so the match must live until the last signal handler + is destroyed (for example, with the wpa_supplicant network interface + dbus interface). + + * src/dhcp-manager/nm-dhcp-manager.c + - (nm_dhcp_manager_new): track DHCP signal handler id + - (nm_dhcp_manager_dispose): remove DHCP signal handler + + * src/vpn-manager/nm-vpn-service.c + - (nm_vpn_service_add_watch): track VPN service signal handler id + - (nm_vpn_service_remove_watch): remove VPN service signal handler + +2006-11-25 Dan Williams <dcbw@redhat.com> + + Suggested by Helmut Schaa <hschaa@suse.de> + + * 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-19 Dan Williams <dcbw@redhat.com> + + Patch from Dan Berrange <dan@berrange.com> Gnome.org #377262 + * gnome/vpn-properties/nm-vpn-properties.c + - clean up after renamed VPN connection + +2006-11-19 Dan Williams <dcbw@redhat.com> + + Patch from Dan Berrange <dan@berrange.com> 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-09 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAPList.c + - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous + code cleanup in revision 1.56; the split of the !nm_ap_get_essid() + from the nm_ap_list_get_ap_by_address() call was incorrect and + broke hidden SSID matching. Found by Bill Moss. + +2006-10-25 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/NetworkManagerUtils.c + - (nm_utils_supplicant_request_with_check): suppress messages for the + "SCAN" command + +2006-10-24 Dan Williams <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * src/vpn-daemons/nm-dbus-vpnc.c + - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in + pending call tracker + - (nm_dbus_vpn_connections_update_cb): unregister pending call in + pending call tracker; register one-vpn-connection update pending + call in pending call tracker + - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection + update pending call in pending call tracker + - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections + update pending call in pending call tracker; don't block waiting + for call to return + +2006-10-19 Robert Love <rml@novell.com> + + * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just + refresh the cache. + +2006-10-14 Dan Williams <dcbw@redhat.com> + + * src/dhcp-manager/nm-dhcp-manager.c + - (get_ip4_string, get_ip4_uint32s): have the caller pass + the dbus connection and the device object path rather than + constructing it inside both functions. Saves a bit of memory + and clarifies a failure path. + - (nm_dhcp_manager_get_ip4_config): grab the dbus connection + and allocate device path here rather than each of the two + functions above. + +2006-10-13 Dan Williams <dcbw@redhat.com> + + * src/NetworkManager.c + - (nm_name_owner_changed_handler): handle NMI coming and going, + this somehow droppout in the refactor + +2006-10-13 Dan Williams <dcbw@redhat.com> + + * Huge DBus refactor: + - Create a "DBus Manager" object which manages the connection and + sends signals on NameOwnerChanged and connection/disconnection events, + handles reconnection to the bus if NM gets kicked off, and abstracts + signal handling + - Remove DBusConnection members from places where they are no + longer needed due to the refactor, like the dbus-connection + property of the named manager, and from NMData + - Reformats a bunch of the code to gnome style + (8-space tabs, braces on same line as statement, 80-col width). + Consider it open season to reformat any bits to gnome style. + style that aren't already. + +2006-10-13 Dan Williams <dcbw@redhat.com> + + * src/supplicant-manager/Makefile.am + - Add new files + + * src/supplicant-manager/nm-supplicant-manager.[ch]: + - Make it a minimal GObject + + * src/supplicant-manager/nm-supplicant-settings-verify.[ch]: + - Verify settings destined for wpa_supplicant + + * src/supplicant-manager/nm-supplicant-connection.[ch]: + - Minimal GObject to track wpa_supplicant controlled device + connections + +2006-10-13 Wouter Bolsterlee <wbolster@gnome.org> + + * gnome/applet/applet.c: (nma_update_info), + (nma_act_stage_to_pixbuf), (nma_update_state): + Mark missing strings for translation. Fixes bug #343306. + +2006-10-01 Dan Williams <dcbw@redhat.com> + + * src/vpn-manager/nm-vpn-manager.c + - (nm_vpn_manager_load_services): split and clean up + for readability and correctness. Restrict VPN service + files to ending in ".name", as was meant from the + beginning (but not coded in). Better error reporting. + +2006-10-01 Dan Williams <dcbw@redhat.com> + + * utils/nm-utils.h + - Clean up formatting of debug/info/warning log messages + +2006-09-27 Robert Love <rml@novell.com> + + Patch by Tambet Ingo <tambet@ximian.com>: + * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry + actually work. + +2006-09-07 Dan Williams <dcbw@redhat.com> + + * 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-08-24 Dan Williams <dcbw@redhat.com> + + * configure.in + src/Makefile.am + src/supplicant-manager/Makefile.am + src/supplicant-manager/nm-supplicant-manager.c + src/supplicant-manager/nm-supplicant-manager.h + - Add skeleton bits of the wpa_supplicant manager + +2006-08-24 Dan Williams <dcbw@redhat.com> + + 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 <rml@novell.com> + + * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind + package is now DBUS-enabled and listens for the NM signals. + +2006-08-14 Dan Williams <dcbw@redhat.com> + + * Patch from Christian Persch <chpe gnome org> + * configure.in + po/LINGUAS + vpn-daemons/openvpn/po/LINGUAS + vpn-daemons/openvpn/configure.in + vpn-daemons/pptp/po/LINGUAS + vpn-daemons/pptp/configure.in + vpn-daemons/vpnc/po/LINGUAS + vpn-daemons/vpnc/configure.in + - Convert to LINGUAS method so translators don't have to modify + configure.in, just stuff in po/. Gnome #343132, requires intltool + 0.35 or higher + +2006-08-14 Dan Williams <dcbw@redhat.com> + + Patch from Alex Smith <alex.extreme2@gmail.com> + * configure.in + src/backends/Makefile.am + src/backends/NetworkManagerFrugalware.c + - Add support for Frugalware + +2006-08-13 Dan Williams <dcbw@redhat.com> + + Patch from Valentine Sinitsyn <e_val@inbox.ru> + * src/nm-device-802-11-wireless.c + - (supplicant_exec): spawn wpa_supplicant without debug spew + Gnome #346875 + +2006-08-13 Dan Williams <dcbw@redhat.com> + + Patch from Valentine Sinitsyn <e_val@inbox.ru> + * 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 + src/nm-ap-security-leap.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-13 Dan Williams <dcbw@redhat.com> + + * gnome/libnm_glib/libnm_glib.c + - dbus_connection_disconnect() -> dbus_connection_close() for + dbus >= 0.90 + +2006-08-07 Dan Williams <dcbw@redhat.com> + + Patch from Antony J Mee <A.J.Mee@ncl.ac.uk> + * src/NetworkManagerSystem.c + - Respect specified MTU. Gnome #344967 + +2006-08-07 Dan Williams <dcbw@redhat.com> + + * src/vpn-manager/nm-vpn-service.c + - Simplify print_vpn_config() arguments + + Patch from Antony J Mee <A.J.Mee@ncl.ac.uk> + * src/vpn-manager/Makefile.am + src/vpn-manager/nm-vpn-service.c + - Add new API for passing VPN config options as a dict. Gnome #344967 + +2006-08-06 Dan Williams <dcbw@redhat.com> + + * gnome/applet/applet-dbus-devices.c + gnome/applet/applet-dbus-vpn.c + gnome/applet/applet-dbus.c + gnome/applet/applet-dbus.h + src/nm-dbus-nmi.c + utils/nm-utils.c + utils/nm-utils.h + - Make pending call tracking code generic, + so we can use it in NM as well as the applet + +2006-08-06 Dan Williams <dcbw@redhat.com> + + * src/nm-activation-request.c + - Refcount pending call objects + +2006-08-06 Dan Williams <dcbw@redhat.com> + + Patch from Christan Chiesa <christanc@gmail.com> + * configure.in + - Tell sha1.c to use bigendian mode on PPC + +2006-08-04 Robert Love <rml@novell.com> + + Glib Memory Slices! + * configure.in: Require glib 2.10 or later. + * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c, + src/NetworkManagerAPList.c, src/NetworkManagerDbus.c, + src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c, + src/nm-device-802-11-wireless.c: Convert applicable g_malloc and + g_new calls to g_slice_new. Likewise for g_free to g_slice_free. + Memory Slices are the greatest thing since bread slices. + * src/NetworkManagerAP.c: Also, fix memory leak. + +2006-08-01 Robert Love <rml@novell.com> + + * gnome/applet/main.c: Shutdown all VPN connections on logout. + +2006-07-31 Robert Love <rml@novell.com> + + * src/backends/interface_parser.c: Declarations must begin the block. + +2006-07-24 Dan Williams <dcbw@redhat.com> + + Patch from Timothée Lecomte <timothee.lecomte@ens.fr> + * src/backends/Makefile.am + src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerGeneric.c + src/backends/NetworkManagerGeneric.h + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerPaldo.c + src/backends/NetworkManagerRedHat.c + src/backends/NetworkManagerSlackware.c + src/backends/NetworkManagerSuSE.c + - Genericize common backend functions + +2006-07-18 Robert Love <rml@novell.com> + + * configure.in: Add "--with-notify" option to allow disabling of + libnotify support. + +2006-07-13 Dan Williams <dcbw@redhat.com> + + Patch from Thiago Bauermann <thiago.bauermann@gmail.com> + * 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-07-13 Dan Williams <dcbw@redhat.com> + + Patch from Timothée Lecomte <timothee.lecomte@ens.fr> + * configure.in + src/backends/NetworkManagerArch.c + src/backends/NetworkManagerDebian.c + src/backends/NetworkManagerGentoo.c + src/backends/NetworkManagerPaldo.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-12 Leonid Kanter <leon@asplinux.ru> + + * configure.in: added ru to ALL_LINGUAS + +2006-07-10 Dan Williams <dcbw@redhat.com> + + Patch from Valentine Sinitsyn <e_val@inbox.ru> + * 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 <dcbw@redhat.com> + + * gnome/applet/applet.c + - (nma_destroy): don't pass NULL to notify_notification_close + (RH #197917) + +2006-07-09 Dan Williams <dcbw@redhat.com> + + * gnome/applet/applet.c + - (nma_about_cb): remove empty documenters tab (Gnome #341324) + +2006-07-04 Tor Krill <tor@krill.nu> + + Patch from Valentine Sinitsyn <e_val@inbox.ru> + * src/backends/NetworkManagerArch.c: (nm_system_update_dns), + (nm_system_restart_mdns_responder), (ArchReadConfig), + (nm_system_device_get_system_config): + - Explicitly check for DHCP configuration + - Check if daemons are running before starting them + +2006-06-25 Dan Williams <dcbw@redhat.com> + + * libnm-util/dbus-dict-helpers.[ch] + test/libnm-util/test-dbus-dict-helpers.c + - Add string array support + +2006-06-24 Dan Williams <dcbw@redhat.com> + + * src/dhcp-manager/nm-dhcp-manager.c + - (nm_dhcp_manager_process_signal): clean up spacing + +2006-06-21 Dan Williams <dcbw@redhat.com> + + * src/nm-dbus-device.c + - (nm_dbus_device_get_driver): don't try to stuff a NULL + through dbus + +2006-06-21 Raivis Dejus <orvils@gmail.com> + + * configure.in: Added 'lv' to ALL_LINGUAS + +2006-06-19 Dan Williams <dcbw@redhat.com> + + * 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 <bernard@blackham.com.au> + * 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-18 Robert Love <rml@novell.com> + + * 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-17 Dan Williams <dcbw@redhat.com> + + * libnm-util/dbus-dict-helpers.[ch] + test/libnm-util/test-dbus-dict-helpers.c + - Fixes for zero-length byte arrays + - Replace return values of 0 with FALSE for clarity + - Test zero-length byte arrays + +2006-06-17 Dan Williams <dcbw@redhat.com> + + * libnm-util/dbus-dict-helpers.[ch] + test/libnm-util/test-dbus-dict-helpers.c + - Add helpers for byte arrays + - Rework bits of the testcase + +2006-06-16 Dan Williams <dcbw@redhat.com> + + * libnm-util/Makefile.am + * libnm-util/dbus-dict-helpers.[ch] + - Add some helpers to take the pain out of using dict types in + dbus. + + * test/libnm-util/Makefile.am + * test/libnm-util/test-dbus-dict-helpers.c + - Test cases for the dict helper functions + +2006-06-15 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually + copy the strings. + + +2006-06-14 Dan Williams <dcbw@redhat.com> + + Patch from Lorenzo Colitti <lorenzo@colitti.com> 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-13 Robert Love <rml@novell.com> + + * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE + if it is currently set to TRUE. Otherwise, we will reset the value + when we connect normally. + * src/nm-device-802-11-wireless.c: For the roaming code, make sure that + the old BSSID is valid, too. The recently added ESSID check may not be + sufficient (we can remove it?). What we really want to catch is the + case of going from all-zeros to the BSSID of some other network, which + happens on failure. + +2006-06-09 Dan Williams <dcbw@redhat.com> + + * 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/NetworkManagerPaldo.c + 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 <dcbw@redhat.com> + + 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-08 Robert Love <rml@novell.com> + + Add 'fallback' support. NetworkManager will attempt to brute-force + connect to networks marked as fallback if there are no better wireless + connections available. This is useful as a method of last resort, to + work around driver problems, and for use with hidden networks. + * gnome/applet/applet-dbus-devices.c, + gnome/applet/applet-dbus-devices.h: Add fallback parameter. + * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and + pass it on via DBUS. + * gnome/applet/applet.c: No fallback by default. + * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c: + Update other-network-dialog to add UI checkbox toggling fallback. + * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted" + propery from AP object. Add "fallback" property to AP object. + * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS. + * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS. + * src/nm-device-802-11-wireless.c: Break out blacklist logic into + separate function. Add get_best_fallback_ap() for returning an AP + on which to attempt fallback. + * src/backends/NetworkManagerSuSE.c: Set stored network as fallback. + * test/nm-set-fallback: New file. Sets a given network as fallback. + +2006-06-07 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * gnome/applet/applet.c: Update copyright years. Add Novell. + +2006-05-28 Dan Williams <dcbw@redhat.com> + + * gnome/applet/applet.glade + gnome/vpn-properties/nm-vpn-properties.glade + - Set window icons on dialogs (Gnome.org #333420) + +2006-05-28 Christian Persch <chpe@cvs.gnome.org> + + * 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 <dcbw@redhat.com> + + Patch from Christian Persch <chpe@gnome.org> + * 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 <dcbw@redhat.com> + + Patch from Christian Persch <chpe@gnome.org> + * configure.in + gnome/vpn-properties/nm-vpn-properties.c + - (main): Fix option parsing. Gnome.org #336847 + +2006-05-28 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Chris Fuller <crf@grandecom.net>: + * 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 <dcbw@redhat.com> + + * 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 <eikke@eikke.com> + + * 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 <rml@novell.com> + + * src/nm-device.h: Introduce nm_ioctl_info(), which defines to + nm_info() if IOCTL_DEBUG is set and a no-op if not. We can use this + instead of dumping ifdef's throughout the code. + * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c, + src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and + use nm_ioctl_info() in lieu. + +2006-05-25 Robert Love <rml@novell.com> + + Patch Valentine Sinitsyn <e_val@inbox.ru> 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 <rml@novell.com> + + Patch Valentine Sinitsyn <e_val@inbox.ru> 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 <rml@novell.com> + + * 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-25 Arangel Angov <ufo@linux.net.mk> + + * configure.in: Added mk.po, Macedonian translation. + +2006-05-24 Robert Love <rml@novell.com> + + * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c, + gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c, + src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>. + +2006-05-24 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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. + +2060-05-21 Dan Williams <dcbw@redhat.com> + + * initscript/NetworkManager.in + - Ensure both dhcdbd and named are started before NM + +2006-05-21 Dan Williams <dcbw@redhat.com> + + * configure.in + - Bump version to 0.7 to signify we are in 0.7 development + +2006-05-21 Dan Williams <dcbw@redhat.com> + + Patch from Adam Schreiber <sadam@clemson.edu> + * gnome/vpn-properties/nm-vpn-properties.c + - (main): correct Gnome program name (gnome.org #342498) + +2006-05-21 Dan Williams <dcbw@redhat.com> + + Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org> + + * 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 <rml@novell.com> + + 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 <rml@novell.com> + + 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Michael Biebl <biebl@teco.edu> + * src/backends/NetworkManagerDebian.c + - Debian backend fixups + +2006-05-10 Robert Love <rml@novell.com> + + * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442). + +2006-05-09 Robert Love <rml@novell.com> + + * 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 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_set_wep_enc_key): convert to + nm_device_802_11_wireless_disable_encryption() since that's all + we use it for anymore; we don't ever set WEP keys ourselves. + - (real_deactivate_quickly): reset SSID and encryption keys + - (real_deactivate): move SSID and encryption key reset to + real_deactivate_quickly(), which gets run before us anyway + +2006-05-05 Robert Love <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <desrt@desrt.ca> + + * 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 <rml@novell.com> + + * 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 Peter Jones <pjones@redhat.com> + + * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying. + +2006-05-02 Robert Love <rml@novell.com> + + 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 <rml@novell.com> + + * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is + empty, too. + +2006-04-27 Jeremy Katz <katzj@redhat.com> + + * src/nm-device.c (discover_device_type): Actually use the hal + device type instead of ioctl poking + +2006-04-26 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * 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-24 Dan Williams <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid + +2006-04-24 Dan Williams <dcbw@redhat.com> + + Commit the async scanning patch + + * src/nm-device-802-11-wireless.c + - get rid of scan_mutex + - (wireless_event_helper): act on wireless scan events + - (real_start): schedule a pending scan + - (link_to_specific_ap): fake the link to the AP during a scan + - (nm_device_802_11_wireless_update_signal_strength): ignore signal + strength during scans + - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate, + nm_device_set_bitrate): unused with new scanning code, disable + - (nm_device_wireless_schedule_scan): removed + - (nm_device_wireless_process_scan_results): renamed to convert_scan_results() + - (request_and_convert_scan_results): new function; retrieve scan + results from the driver and schedule the processing function + - (scan_results_timeout): timeout triggered when card doesn't send + a scan results wireless event during a certain interval + - (schedule_scan_results_timeout): new function; schedule the scan + results timeout + - (cancel_scan_results_timeout): new function; cancel the scan + results timeout + - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it + to do the scanning. Otherwise, just request a scan but don't + grab results here; instead schedule a timeout for scan results and + let netlink notify us of scan completion events + - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan + - (cancel_pending_scan): new function; cancel a pending wireless scan + - (supplicant_status_cb): ignore disconnect events while scanning + - (supplicant_exec): wait a bit longer for the supplicant to start up + - (nm_device_802_11_wireless_dispose): cancel pending scans and results + timeouts + - (get_scan_results): removed; folded into request_and_convert_scan_results() + +2006-04-24 Dan Williams <dcbw@redhat.com> + + * gnome/applet/applet-dbus.c + - Disable the pending call debug stuff, seems under control now + +2006-04-20 Robert Love <rml@novell.com> + + 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 <rml@novell.com> + + * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is + not set. Just return zero. + +2006-04-20 Robert Love <rml@novell.com> + + * 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-18 Nicolas Trangez <eikke@eikke.com> + + * backends/NetworkManagerGentoo.c: Small cleanups and enhancements + * configure.in + initscript/Gentoo/Makefile.am + initscript/Gentoo/NetworkManagerDispatcher.in + - New script + * initscript/Gentoo/NetworkManager.in: small dependency fixup from + Gentopia + +2006-04-16 Dan Williams <dcbw@redhat.com> + + Patch from Paul Blazejowski <paulb@blazebox.homeip.net> + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + 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 <rml@novell.com> + + * 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-04-02 Tor Krill <tor@krill.nu> + + * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd + in start of service. + * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to + get Archlinux backend up to date. + +2006-03-29 Robert Love <rml@novell.com> + + Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>, + 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 Jürg Billeter <j@bitron.ch> + + * configure.in: + * initscript/Makefile.am: + * initscript/paldo/Makefile.am: + * initscript/paldo/NetworkManager.in: + * initscript/paldo/NetworkManagerDispatcher.in: + * src/backends/Makefile.am: + * src/backends/NetworkManagerPaldo.c: + - Add paldo support + +2006-03-27 Dan Williams <dcbw@redhat.com> + + Patch from Christian Persch <chpe@gnome.org> + * gnome/applet/applet.glade + - HIG fixes; mostly for spacing and borders (gnome.org #336220) + +2006-03-27 Dan Williams <dcbw@redhat.com> + + Patch from Diffe <diffie@blazebox.homeip.net> + * src/backends/NetworkManagerSlackware.c + - Don't restart howl, since it's been replaced by Avahi + in most distributions + +2006-03-27 Dan Williams <dcbw@redhat.com> + + Patch from Tor Krill <bugzilla@krill.nu> + * 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 <dcbw@redhat.com> + + Patch from Diffe <diffie@blazebox.homeip.net> + * initscript/Slackware/rc.networkmanager + - update, fixed gnome.org #333368 + +2006-03-27 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + Patch by Jürg Billeter <j@bitron.ch>: + * src/nm-logging.c: Add printf modifier to fix warning on 64-bit + systems. + * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h> + as we prefer glibc over kernel headers, if possible. + +2006-03-27 Robert Love <rml@novell.com> + + Patch by Jon Escombe <list@dresco.co.uk>: + * 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 <rml@novell.com> + + * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again + restart, not reload, ypbind. Unfortunately there is no superior + solution. + +2006-03-24 Christopher Aillon <caillon@redhat.com> + + * 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 <rml@novell.com> + + Patch by j <j@bootlab.org>: + * 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 <rml@novell.com> + + * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds. + +2006-03-22 Robert Love <rml@novell.com> + + Bug fix by Timo Hoenig <thoenig@suse.de>: + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in + configuration file. + +2006-03-17 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP + before adding anything. + +2006-03-13 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + Patch by Timo Hoenig <thoenig@suse.de>: + * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher + daemon survive DBUS restarts, too. + +2006-03-10 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * src/nm-ap-security-wpa-eap.c: Don't log the password. + +2006-03-09 Robert Love <rml@novell.com> + + * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static + configurations. + +2006-03-09 Dan Williams <dcbw@redhat.com> + + Track pending call requests in the applet, and report how many are + outstanding, and how long each completed one takes. + + * gnome/applet/applet-dbus-devices.c + gnome/applet/applet-dbus-vpn.c + - Track pending calls + + * gnome/applet/applet-dbus.[ch] + - Remove some unused enums + - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied): + new functions to track dbus pending calls and spit out some + statistics about them + +2006-03-09 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * gnome/applet/applet.glade: Hide the password entry text with + asterisks. + +2006-03-08 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + Process netlink messages in device subclasses rather than in + NetworkManager.c. Also add support for recognizing Wireless Events. + + * configure.in + - Find GLIB_GENMARSHAL + + * src/Makefile.am + - Since we're marshalling custom types for wireless event signals, + we get to create our own marshallers using GLIB_GENMARSHAL + + * src/NetworkManager.c + - (nm_monitor_wired_link_state): renamed to nm_monitor_setup + - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and + cut down somewhat. We no longer process signals here. + - (nm_data_new): create the netlink monitor here, and remove a + useless call to nm_policy_schedule_device_change_check() + - (nm_data_free): get rid of the netlink monitor here + - (nm_device_link_activated, nm_device_link_deactivated): removed + - (main): don't create the netlink monitor here, let nm_data_new + do that. Call nm_policy_schedule_device_change_check() right + before we jump to the mainloop to figure out which device + to use first + + * src/NetworkManagerSystem.[ch] + - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index): + convert back and forth from interface names to interface + indexes + + * src/nm-device-802-11-wireless.c + - (real_init): connect to wireless-event signals from the netlink + monitor object + - (nm_device_802_11_wireless_event): new function, schedule handler + for wireless event signals from the netlink monitor object. We + want the handler to run in the device's context + - (wireless_event_helper): handle wireless-event signals from netlink + - (nm_device_802_11_wireless_dispose): disconnect wireless-event + signal handler + + * src/nm-device-802-11-wireless.h + - remove unused prototype for nm_device_802_11_wireless_new + + * src/nm-device-802-3-ethernet.c + - (real_init): new function; set up signal handlers for link events + - (nm_device_802_3_ethernet_link_activated): new function, schedule + handler for netlink link activated events on device's main loop + - (link_activated_helper): when we get a link activated event, set + the device's link to be active + - (nm_device_802_3_ethernet_link_deactivated): new function; schedule + handler for netlink link deactivated events on device's main loop + - (link_deactivated_helper): when we get a link deactivated event, set + the device's link to be inactive + - (nm_device_802_3_ethernet_dispose): disconnect signal handler on + dispose + + * src/nm-device-802-3-ethernet.h + - remove unused prototype for nm_device_802_3_ethernet_new + + * src/nm-device.[ch] + - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface + but locks the device list + - (nm_device_set_active_link): a little bit of cleanup and de-indenting + + * src/nm-netlink-monitor.[ch] + - (nm_netlink_monitor_class_install_signals): New signal + "wireless-event" + - (nm_netlink_monitor_new): keep reference to NMData so we can get + at the device list + - (nm_netlink_monitor_event_handler): expand for wireless events too + + * src/nm-marshal-main.c + - Include generated nm-marshal.c and nm-marshal.h + + * src/nm-marshal.list + - List of custom marshal functions + +2006-03-05 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * configure.in: Bump version to 0.6.0. + * NEWS: Update. + +2006-03-03 Robert Love <rml@novell.com> + + * configure.in: Require DBUS 0.60 or later. + +2006-03-03 Dan Williams <dcbw@redhat.com> + + 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 <rml@novell.com> + + 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + 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 <rml@novell.com> + + Patch by Brian Magnuson <magnuson@rcn.com>: + * 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 <rodrigo@novell.com> + + * Makefile.am: use the correct dir for autostart mechanism. + +2006-02-28 Dan Williams <dcbw@redhat.com> + + Patch from Brian Magnuson <magnuson@rcn.com> + * gnome/applet/applet.c + - (nma_show_vpn_failure_dialog): fix errors left over from + libnotify support changes + +2006-02-28 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <caillon@redhat.com> + + * gnome/applet/applet.glade: + Mark a few strings non-translatable, since they shouldn't be. + +2006-02-28 Dan Williams <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <caillon@redhat.com> + + * src/nm-device-802-11-wireless.c: + Err, fix thinko in my previous commit. + +2006-02-28 Robert Love <rml@novell.com> + + * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements. + +2006-02-28 Robert Love <rml@novell.com> + + * 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 <caillon@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + Patch by R. Vinay <rvinay@novell.com>: + * 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 <rml@novell.com> + + * gnome/applet/applet.glade: Set "activates_default" on passphrase + entry so user can hit <ENTER> after entering passphrase (Novell bug + #153738). + +2006-02-27 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + 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 <rml@novell.com> + + Patch from Timo Hoenig <thoenig@suse.de>: + * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ. + +2006-02-24 Robert Love <rml@novell.com> + + Patch from Dan Winship <danw@novell.com>: + * gnome/applet/eggtrayicon.c: Update EggTrayIcon code. Set the gdk + area to transparent. + +2006-02-21 Dan Williams <dcbw@redhat.com> + + * gnome/applet/applet.[ch] + gnome/applet/applet-dbus.c + - Implement notification support for VPN messages too + +2006-02-21 Dan Williams <dcbw@redhat.com> + + * gnome/applet/applet-dbus-info.c + - Clean up warning messages to not double-print the function + +2006-02-21 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Rodney Dawes <dobey@novell.com> + * 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 <keizie@gmail.com> + + * configure.in (ALL_LINGUAS): ko added. (Korean) + +2006-02-15 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * src/NetworkManager.c: Call closelog() on daemon shutdown to close + syslog's file descriptor. + +2006-02-14 Robert Love <rml@novell.com> + + 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + Patch from Tom Parker <palfrey@tevp.net> + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from: Vinay A R <rvinay@novell.com> + * 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 <rml@novell.com> + + Patch by Stefan Seyfried <seife@suse.de>: + * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr. + +2006-02-06 Robert Love <rml@novell.com> + + * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb(). + +2006-02-06 Robert Love <rml@novell.com> + + * 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 <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + Patch by Christoph Brill <chrisbrill@gmx.net>: + * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines + with DHCP_SERVICE_NAME. + +2006-02-05 Dan Williams <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/NetworkManagerUtils.c + - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request): + Handle newline killing better + +2006-02-05 Dan Williams <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <caillon@redhat.com> + + * initscript/RedHat/NetworkManagerDispatcher.in: + * initscript/RedHat/NetworkManager.in: modify the pidfile location + Patch from Dan Walsh <dwalsh@redhat.com> + +2006-02-03 Robert Love <rml@novell.com> + + * dispatcher-daemon/NetworkManagerDispatcher.c, + dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc + but use the sysconfdir. + +2006-02-03 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + Patch by Sureshkumar T <tsureshkumar@novell.com>: + * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c: + Check for and handle empty string for iface. + +2006-02-01 Robert Love <rml@novell.com> + + * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1) + manpage. + +2006-01-31 Dan Williams <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in + get_ip4_string() for "domain_name". + +2006-01-30 Robert Love <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * src/backends/NetworkManagerRedHat.c + - Add NM_CONTROLLED system network script support for RH/Fedora + +2006-01-27 Dan Williams <dcbw@redhat.com> + + * src/backends/NetworkManagerGentoo.c + - (nm_system_device_get_disabled): add missing function. + Gnome BZ #328780 + +2006-01-27 Clytie Siddall <clytie@riverland.net.au> + + * configure.in: Added vi in ALL_LINGUAS line. + +2006-01-26 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * TODO: Update. WPA support is in the bag and HAL restarts (should) + work. + +2006-01-26 Robert Love <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * libnm-util/cipher-private.h + libnm-util/cipher.c + libnm-util/cipher.h + - (cipher_bin2hexstr, cipher_hexstr2bin): make public + +2006-01-23 Robert Love <rml@novell.com> + + Patch by Timo Hoenig <thoenig@suse.de>: + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * configure.in: Require hal 0.5.0 or later. + +2006-01-18 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - (nm_policy_device_change_check): switch devices if we lose the link + on an ethernet device. + +2006-01-16 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * gnome/applet/other-network-dialog.c + - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID" + +2006-01-16 Dan Williams <dcbw@redhat.com> + + * 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 <rml@novell.com> + + Patch from Timo Hoenig <thoenig@suse.de: + * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h, + libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h, + libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h, + libnm-util/dbus-helpers.h: add checks whether headers are used + within a C++ build. + +2006-01-16 Dan Williams <dcbw@redhat.com> + + * gnome/applet/wireless-security-option.c + - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name + +2006-01-16 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/nm-dbus-nm.c + - (nm_dbus_nm_sleep): bring device down after quick deactivation + +2006-01-13 Robert Love <rml@novell.com> + + Patch by T Sureshkumar <tsureshkuman@novell.com>: + * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN + modules that do not use an interface. + +2006-01-13 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + 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 <rml@novell.com> + + * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that + is defined in <linux/mii.h> 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * src/nm-device-802-3-ethernet.h: The kernel headers <linux/mii.h> and + <linux/ethtool.h> 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 <dcbw@redhat.com> + + 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 <thoenig@suse.de> + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - Remove unused code from the old device activation path + +2006-01-08 Dan Williams <dcbw@redhat.com> + + * libnm-util/dbus-helpers.c + - (nmu_security_serialize_wpa_psk): pass a blank key through + dbus when key == NULL + +2006-01-08 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/nm-device-802-11-wireless.c + - (get_wireless_capabilities): correctly detect driver WPA + capabilities + +2006-01-08 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + Patch by Timo Hoenig <thoenig@suse.de>: + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * Consolidate the info-daemon's "updateNetworkInfo" and + "addNetworkAddress" calls into just "updateNetworkInfo" + +2005-12-21 Dan Williams <dcbw@redhat.com> + + * Make connection after key retrieval work again + +2005-12-21 Dan Williams <dcbw@redhat.com> + + * 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 <zygis@gnome.org> + + * configure.in: Added Lithuanian to ALL_LINGUAS. + +2005-12-21 Dan Williams <dcbw@redhat.com> + + * test/libnm-util + - Add some testcases for WEP ciphers + +2005-12-17 Dan Williams <dcbw@redhat.com> + + * Fix bugs + +2005-12-17 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * gnome/applet/* + - Fix up the passphrase dialog to use all the + WirelessSecurityOption stuff (untested) + +2005-12-16 Dan Williams <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * gnome/applet/applet-dbus-info.c + - Clean up lots of gconf-related code + +2005-12-16 Robert Love <rml@novell.com> + + * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right. + +2005-12-16 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * Finally move info-daemon related stuff out of + NetworkManagerDbus.c to nm-dbus-nmi.c + +2005-12-16 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + Patch by Timo Hoenig <thoenig@suse.de>: + * 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 <ash@contact.bg> + + * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS + +2005-12-14 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + Patch from Stefan Scheler <sscheler@suse.de>: + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + Patch by Stefan Scheler <sscheler@suse.de>: + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * Make validation of the key work correctly + +2005-12-11 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * src/NetworkManagerDevice.c: handle error better in + nm_device_set_mode(). + +2005-12-08 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * initscript/SUSE/networkmanager.in: Do not start 'networking' service. + +2005-12-08 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * src/backends/NetworkManagerSuSE.c: In static configurations, if the + supplied IP is invalid, fall back to DHCP. + +2005-12-07 Dan Williams <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * src/NetworkManagerDevice.c: strncpy() buffer check. + * src/NetworkManagerUtils.c: be anal about syslog() formatting. + +2005-12-06 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net> + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * gnome/applet/applet-dbus.c + - Work with dbus 0.6 too + +2005-12-03 Dan Williams <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * README: update + +2005-11-20 Ilkka Tuohela <hile@iki.fi> + + * configure.in: Added Finnish translation to ALL_LINGUAS + +2005-11-14 Robert Love <rml@novell.com> + + * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim + Niemueller <tim@niemueller.de>. + +2005-11-08 Dan Williams <dcbw@redhat.com> + + Patch from Bill Moss <bmoss@clemson.edu> + * 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 <dcbw@redhat.com> + + Patch from Bill Moss <bmoss@clemson.edu> + * 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 <caillon@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <caillon@redhat.com> + + * 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 <caillon@redhat.com> + + * src/NetworkManagerPolicy.c: + (nm_policy_device_change_check) Clarify wireless switch nm_info text + +2005-10-28 Robert Love <rml@novell.com> + + * 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 <dcbw@redhat.com> + + 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 <rml@novell.com> + + * src/backends/NetworkManagerSuSE.c: fix warning message text + +2005-10-27 Christopher Aillon <caillon@redhat.com> + + * gnome/applet/applet.c: Use the copyright symbol instead of (C) + +2005-10-27 Christopher Aillon <caillon@redhat.com> + + * gnome/applet/applet.c: The applet's about dialog can advertise our + project page <http://www.gnome.org/projects/NetworkManager/> + +2005-10-26 Christopher Aillon <caillon@redhat.com> + + * gnome/applet.c: Also use translator credits if we don't have + the new GtkAboutDialog (older versions of GTK+) + +2005-10-26 Robert Love <rml@novell.com> + + * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon() + failure; correct usage text for "--no-daemon" + +2005-10-25 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * Back out 2005-10-24 commit from Tor Krill. Patch + causes nameservers never to be removed from named. + +2005-10-24 Dan Williams <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * 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 <engin@bzzzt.biz> + * src/backends/interface_parser.h: + - Compile fixes for gcc 4.0.2 (add void) + +2005-10-24 Dan Williams <dcbw@redhat.com> + + Patch from Tor Krill <tor@krill.nu> + * 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 <caillon@redhat.com> + + * gnome/applet/applet-dbus-vpn.c: + Get rid of spurious newlines in debug console output + +2005-10-21 Christopher Aillon <caillon@redhat.com> + + * src/backends/NetworkManagerGentoo.c: + Fix path to killall. Patch from Dave Shanker <dshanker@gmail.com> + +2005-10-20 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields + +2005-10-19 Robert Love <rml@novell.com> + + * 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 <caillon@redhat.com> + + * configure.in: Update check for adequate wireless-tools + with an AC_TRY_COMPILE for the new symbols we use. + +2005-10-19 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerDevice.c + - (process_scan_results): don't drop the last (or only) + access point we see + +2005-10-19 Christopher Aillon <caillon@redhat.com> + + * src/backends/NetworkManagerSlackware.c: + Patch from Nico <lordllucifer@gmail.com> + - Update the Slackware backend. + +2005-10-18 Christopher Aillon <caillon@redhat.com> + + * gnome/applet/other-network-dialog.c: Use g_get_host_name () + if we've got GLib 2.8.0 + +2005-10-18 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could + be used uninitialized. + +2005-10-18 Christopher Aillon <caillon@redhat.com> + + * test/libnm_glib_test.c: Test unregistering, too. + +2005-10-17 Christopher Aillon <caillon@redhat.com> + + * configure.in: Bump to 0.5.0 + +2005-10-17 Dan Williams <dcbw@redhat.com> + + * NetworkManager.h + - Remove WPA-related constants so they aren't part of the + upcoming release. + +2005-10-17 Christopher Aillon <caillon@redhat.com> + + * 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 <caillon@redhat.com> + + * gnome/libnm_glib/libnm_glib.c: + Make libnm_glib_unregister_callback () actually unregister the callback + +2005-10-17 Robert Love <rml@novell.com> + + * 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 <caillon@redhat.com> + + * 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 <rml@novell.com> + + * 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 <caillon@redhat.com> + + * gnome/applet/applet-dbus-info.c: + Find network encryption keys asynchronously + +2005-10-17 Robert Love <rml@novell.com> + + * src/backends/NetworkManagerDebian.c, + src/backends/NetworkManagerRedHat, + src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf + comment delimiter. + +2005-10-17 Robert Love <rml@novell.com> + + * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded + "/etc" + +2005-10-17 Christopher Aillon <caillon@redhat.com> + + * src/NetworkManagerDevice.c: (process_scan_results) + Fix logic that checks to see whether we have an ESSID. + +2005-10-15 Dan Williams <dcbw@redhat.com> + + 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 <caillon@redhat.com> + + * 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 <caillon@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * Remove nm_system_load_device_modules() from backend files + and from NetworkManager.c + +2005-10-10 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerPolicy.c + - Fix some bugs introduced by the capabilities patch + +2005-10-10 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Bill Moss <bmoss@clemson.edu> + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <caillon@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be + NULL. + +2005-10-02 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * src/NetworkManager.c: removed unused variable. + +2005-09-28 Dan Williams <dcbw@redhat.com> + + 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * src/named-manager/nm-named-manager.c: only '#' is officially a valid + comment in /etc/resolv.conf -- ';' is not. + +2005-09-19 Dan Williams <dcbw@redhat.com> + + * 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 <caillon@redhat.com> + + * 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 <caillon@redhat.com> + + * 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 <caillon@redhat.com> + + * 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 <caillon@redhat.com> + + * 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 <caillon@redhat.com> + + * 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 <caillon@redhat.com> + + * 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 <dfong@redhat.com>, letting + the user know something's happening between clicking the VPN item and it + actually being connected. + +2005-09-07 Christopher Aillon <caillon@redhat.com> + + * gnome/applet/applet-dbus-info.c: need to free attributes in the + failure case as well. + +2005-09-07 Rodrigo Moya <rodrigo@novell.com> + + * gnome/panel/eggtrayicon.[ch]: + * examples/python/systray/eggtrayicon.[ch]: updated code from libegg. + +2005-09-07 Dan Williams <dcbw@redhat.com> + + Patch from Bill Moss <bmoss@clemson.edu> + * src/applet-dbus.c + - (nmwa_dbus_filter): strip whitespace from beginning + and end of VPN login banner + +2005-09-07 Dan Williams <dcbw@redhat.com> + + * The great VPN Manager rewrite of 2005 + +2005-09-07 Christopher Aillon <caillon@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Tomislav Vujec <tvujec@redhat.com> + * 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 <caillon@redhat.com> + + * 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 <caillon@redhat.com> + + * gnome/applet/applet-dbus-devices.c: Remove duplicate call to + network_device_set_strength + +2005-09-04 Dan Williams <dcbw@redhat.com> + + Patch from Bill Nottingham <notting@redhat.com> + * src/NetworkManagerDevice.c + - (nm_device_activation_cancel): reset the quit_activation flag + +2005-09-04 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from John Palmieri <johnp@redhat.com> + * gnome/applet/applet-dbus-devices.c + - Fix up unreffing of DBusMessage objects + +2005-09-04 Dan Williams <dcbw@redhat.com> + + Patch from John Palmieri <johnp@redhat.com> + * gnome/applet/nm-device.c + - (nm_device_unref): clear network_device's memory _before_ freeing it + +2005-09-02 Christopher Aillon <caillon@redhat.com> + + * gnome/applet/applet.c: Use a check menu item for Wireless Enabled + +2005-09-02 Bill Nottingham <notting@redhat.com> + + * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error + +2005-09-01 Dan Williams <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + Patch from Bill Nottingham <notting@redhat.com> + * src/backends/NetworkManagerRedHat.c + - Add initial dialup support to Red Hat/Fedora backend + +2005-09-01 Dan Williams <dcbw@redhat.com> + + * gnome/applet/applet-dbus-devices.c + - Sort both wireless networks and devices again, which got + broken when removing threading + +2005-09-01 Christopher Aillon <caillon@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Bill Moss <bmoss@clemson.edu> + * src/NetworkManagerDevice.c + - (nm_device_wireless_scan): fix scan timeout values + +2005-08-30 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * gnome/applet/applet-dbus-devices.c + - Remove nmwa_dbus_get_hal_device_string_property(); unused + +2005-08-30 Dan Williams <dcbw@redhat.com> + + * 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 <hadess@hadess.net> + + * test/nmtestdevices.c: (print_usage), (main): + Check the number of arguments, and fix a typo + +2005-08-29 Dan Williams <dcbw@redhat.com> + + Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO> + * gnome/applet/applet.c + - Define GTK_STOCK_INFO for GTK 2.6 and lower + +2005-08-29 Dan Williams <dcbw@redhat.com> + + * 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 <caillon@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from j@bootlab.org + - Make --without-named work + - Make --with-dhcdbd work correctly + +2005-08-27 Josep Puigdemont i Casamajó <josep.puigdemont@gmail.com> + + * configure.in: Added "ca" to ALL_LINGUAS. + +2005-08-26 Christopher Aillon <caillon@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch by Bill Moss <bmoss@clemson.edu> + * 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 <dcbw@redhat.com> + + Noticed by Bill Moss <bmoss@clemson.edu> + * 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 <dcbw@redhat.com> + + Noticed by Bill Moss <bmoss@clemson.edu> + * 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 <dcbw@redhat.com> + + Patch from j@bootlab.org: + * src/backends/NetworkManagerDebian.c + - Make the Debian backend work for static IP again + +2005-08-20 Christopher Aillon <caillon@redhat.com> + + * 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 <caillon@redhat.com> + + * gnome/applet/other-network-dialog.c: + * gnome/applet/wireless-applet.glade: + Also need mnemonic widgets, and underline enabled. + +2005-08-19 Dan Williams <dcbw@redhat.com> + + * 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 <caillon@redhat.com> + + * 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 <caillon@redhat.com> + + * 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 <dcbw@redhat.com> + + * gnome/applet/main.c + - Revert previous change for --no-session since + --sm-disable does the same thing + +2005-08-18 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * gnome/applet/main.c + - Add new "--no-session" parameter that disables applet + session management, ie for testing + +2005-08-18 Christopher Aillon <caillon@redhat.com> + + * gnome/applet/other-network-dialog.c: + * gnome/applet/wireless-applet.glade: More mnemonics + +2005-08-17 Robert Love <rml@novell.com> + + * initscript/SUSE/networkmanager: update + +2005-08-17 Dan Williams <dcbw@redhat.com> + + * Tag NM_0_4_1_RELEASE + +2005-08-17 Christopher Aillon <caillon@redhat.com> + + * gnome/applet/applet.c: More translatable string cleanup + + +2005-08-17 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Bill Moss <bmoss@clemson.edu> + + * 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 <rml@novell.com> + + * gnome/applet/applet.c: Better "Dial Up" menu item. + +2005-08-16 Robert Love <rml@novell.com> + + * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the + "Connection Information" menu item. + +2005-08-16 Dan Williams <dcbw@redhat.com> + + 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 <rml@novell.com> + + 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 <caillon@redhat.com> + + * 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 <rml@novell.com> + + * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up + support. + +2005-08-16 Christopher Aillon <caillon@redhat.com> + + * gnome/applet/applet.c: Split markup out of translatable strings + and clean up logic a little bit. (fixes #309012) + +2005-08-15 Christopher Aillon <caillon@redhat.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * gnome/applet/applet.c: mark string as translatable. + +2005-08-11 Robert Love <rml@novell.com> + + * initscript/SUSE/networkmanager: update. + +2005-08-11 Dan Williams <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + Patch from Bill Moss <bmoss@clemson.edu> + * 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 <dcbw@redhat.com> + + Patch from Steev <steev@steev.net>: + * src/backends/NetworkManagerGentoo.c + - Stub new dialup backend functions + +2005-08-08 Dan Williams <dcbw@redhat.com> + + Patch from Colin Slater: + * src/backends/NetworkManagerGentoo.c + - (nm_system_update_dns): Fix exit status check for restarting + nscd + +2005-08-05 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be + freed. + +2005-08-04 Dan Williams <dcbw@redhat.com> + + * 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 <rstrode@redhat.com> + + * src/NetworkManager.c (nm_info_handler): don't use input as format + string (Spotted by Ian Jackson). + +2005-07-27 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Steev <steev@steev.net>: + * src/backends/NetworkManagerGentoo.c + src/backends/Makefile.am + - Fix up Gentoo backend + +2005-07-26 Robert Love <rml@novell.com> + + * src/backends/NetworkManagerSuSE.c: misc. cleanup + +2005-07-25 Robert Love <rml@novell.com> + + * 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 <rstrode@redhat.com> + + * 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 <rml@novell.com> + + * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too + +2005-07-22 Robert Love <rml@novell.com> + + * src/nm-netlink-monitor.c: g_object_new() needs at least three + parameters (gcc 4.0.2 warning fix). + +2005-07-18 Robert Love <rml@novell.com> + + 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 <dcbw@redhat.com> + + Patch from Ray Strode <halfline@gmail.com> + * vpn-daemons/vpnc/nm-vpnc-service.c + - Don't let vpnc daemonize, fixes some races with PID file reading + +2005-07-13 Dan Williams <dcbw@redhat.com> + + Patch from Ray Strode <halfline@gmail.com> + * Random cleanups for strict CFLAGS + +2005-07-07 Dan Williams <dcbw@redhat.com> + + Patch from Derek Atkins <warlord@MIT.EDU> + * src/nm-dbus-net.c: + - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs + +2005-07-07 Dan Williams <dcbw@redhat.com> + + Patch from Jos Dehaes <jos_dehaes@fastmail.fm> + * src/backends/NetworkManagerGentoo.c + - Gentoo backend Static IP nameserver fixes + - General Gentoo backend goodness + +2005-07-07 Dan Williams <dcbw@redhat.com> + + Patch from Bastien Nocera: + * gnome/applet/applet.c + - Fix up error reporting when icons or glade files are missing + +2005-07-07 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * gnome/applet/applet.c: whoops, left some "dog" debugging code in. + +2005-07-05 Robert Love <rml@novell.com> + + * src/NetworkManagerSystem.c: bail out if asked to set a gateway of + zero. + +2005-07-05 Robert Love <rml@novell.com> + + * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure + on wired or unencrypted wireless. + +2005-07-01 Robert Love <rml@novell.com> + + * src/NetworkManagerSystem.c: Print the error via strerror(). + +2005-06-30 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to + explicitly up all interfaces on wake from sleep. + +2005-06-30 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <rml@novell.com> + + * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling + case. + +2005-06-27 Robert Love <rml@novell.com> + + * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu + items radios. + +2005-06-26 Robert Love <rml@novell.com> + + * src/NetworkManagerDevice.c: be specific about which device in + nm_info() message. + +2005-06-23 Adam Weinberger <adamw@gnome.org> + + * src/nm-netlink-monitor.c: correct spelling error. + +2005-06-23 Robert Love <rml@novell.com> + + * gnome/applet/applet-dbus-info.c: gnome keyring support! + * gnome/applet/passphrase-dialog.c: more of that keyring! + +2005-06-23 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * src/NetworkManagerDevice.c: division in assignment was flipped. + +2005-06-23 David Zeuthen <david@fubar.dk> + + * 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 <dcbw@redhat.com> + + * 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 <rml@novell.com> + + * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check + permissions of scripts before executing. + +2005-06-21 Robert Love <rml@novell.com> + + * initscript/SUSE/networkmanager: update. + * src/backends/NetworkManagerSuSE.c: cleanup. + +2005-06-21 Robert Love <rml@novell.com> + + * gnome/applet/applet.c: use menu mnemonics. + * gnome/applet/menu-items.c: (ditto) + +2005-06-21 Robert Love <rml@novell.com> + + * 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 <rml@novell.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls + +2005-06-18 Ray Strode <rstrode@redhat.com> + + * 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 <rstrode@redhat.com> + + * 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 <rml@novell.com> + + * initscript/SUSE/networkmanager: Change the Provides and default + run levels + +2005-06-16 Dan Williams <dcbw@redhat.com> + + Patch from Robert Love: + * gnome/applet/applet.c + - Beautify some applet menu item names + +2005-06-17 David Zeuthen <davidz@redhat.com> + + * 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 <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * Clean up wording in Wireless Scan Methods menu items and constants + +2005-06-16 Robert Love <rml@novell.com> + + * po/POTFILES.in + - remove gtkcell* files + +2005-06-15 Dan Williams <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + Patch from Robert Love: + * initscript/SUSE/networkmanager + - Fix typo + +2005-06-15 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Thom May: + * src/backends/NetworkManagerDebian.c + - Update debian backend for static IP nameservers + +2005-06-15 Dan Williams <dcbw@redhat.com> + + 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 <davidz@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Robert Love: + * src/NetworkManagerDevice.c + src/NetworkManagerUtils.c + - 64-bit build fixes + +2005-06-09 Dan Williams <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Tomislav Vujec <tvujec@redhat.com> + * 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 <dcbw@redhat.com> + + From Filip Miletic: + * po/sr.po + po/sr@Latn.po + configure.in + - Serbian translation added + +2005-05-15 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rstrode@redhat.com> + + * src/nm-netlink-monitor.c: + - Use clear_event_source instead of g_nullify_pointer() again. + +2005-05-05 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Bill Moss: + * gnome/libnm_glib/libnm_glib.c + - Fix for dbus-0.33 + +2005-05-05 Dan Williams <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Tom Parker: + * Update debian backend + +2005-04-27 Dan Williams <dcbw@redhat.com> + + * 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 <pawan@nplinux.org> + + * configure.in: Added ne in ALL_LINGUAS + +2005-04-15 Dan Williams <dcbw@redhat.com> + + * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove + code for dbus 0.2x versions + +2005-04-15 Dan Williams <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + - Fixes to pass 'make distcheck' + +2005-04-15 Dan Williams <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Tom Parker: include "nm-utils.h" for backend files that need it + +2005-04-04 Dan Williams <dcbw@redhat.com> + + * 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 <murf@e-tools.com> + + * configure.in: Added "rw" to ALL_LINGUAS. + +2005-04-01 Dan Williams <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * po/POTFILES.in + - Update with new translatables + +2005-03-31 Dan Williams <dcbw@redhat.com> + + * panel-applet/NMWirelessAppletDbus.c + - Fix device names now that hal has changed device parenting for + network devices. + +2005-03-31 Dan Williams <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * src/NetworkManagerDevice.c + - (nm_device_wireless_scan): Fix leak of scan results in some + instances + +2005-03-29 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/NetworkManagerDevice.c + - (nm_device_set_essid): Work around Orinoco cards which need + extra time after setting the ESSID + +2005-03-29 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerDevice.c + - Merge one more bit of Peter Jones' completion patch + +2005-03-29 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerDevice.c + - (nm_device_force_use): Fix possible segfault + +2005-03-29 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerDevice.c + - Use iw_get_ext() where we should rather than iw_set_ext() + +2005-03-29 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/NetworkManagerDevice.c + - (nm_device_wireless_scan): Remove duplicated scanning code + +2005-03-25 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * test/nmtest.c + - Escape some forgotten object paths before we shove them through dbus + +2005-03-24 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/NetworkManager.c + - (nm_wired_link_deactivated): actually ignore netlink events from + wireless devices. + +2005-03-22 Dan Williams <dcbw@redhat.com> + + * src/NetworkManager.c + - (nm_wired_link_activated): actually ignore netlink events from + wireless devices. + +2005-03-17 Dan Williams <dcbw@redhat.com> + + 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 <npmccallum@gentoo.org>: + * 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 <rstrode@redhat.com> + + * src/NetworkManager.c: + (sigterm_pipe_handler): + remove bogus FIXME + +2005-03-15 Ray Strode <rstrode@redhat.com> + + * 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 <rstrode@redhat.com> + + 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 <rstrode@redhat.com> + + 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 <rstrode@redhat.com> + + 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 <rstrode@redhat.com> + + * 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 <dcbw@redhat.com> + + * configure.in + - Mark HEAD as 0.4 + +2005-03-04 Dan Williams <dcbw@redhat.com> + + Patch from Peter Jones: + - Make stuff work with gcc 4.0 + +2005-02-28 Maxim Dziumanenko <mvd@mylinux.com.ua> + + * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS. + +2005-02-27 Jim Huang <jserv@kaffe.org> + + * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS. + +2005-02-27 Dan Williams <dcbw@redhat.com> + + 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 <algol@firenze.linux.it> + + * configure.in: Added "it" (Italian) to ALL_LINGUAS. + +2005-02-27 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * README + - Line break the README + +2005-02-25 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * NetworkManager.h + - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate" + signal + +2005-02-25 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * panel-applet/essid.glade + panel-applet/NMWirelessAppletOtherNetworksDialog.c + - Correct spelling of "adaptor"->"adapter" + +2005-02-18 William Jon McCann <mccann@jhu.edu> + + * 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 <mccann@jhu.edu> + + * panel-applet/essid.glade: Capitalize items as per HIG. + Fixes #167632 + +2005-02-16 William Jon McCann <mccann@jhu.edu> + + * 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 <dcbw@redhat.com> + + Caught by Bill Moss: + * dhcpcd/client.c + - Time remaining for DHCP transaction calculation was incorrectly + inside a #ifdef DEBUG + +2005-02-15 Christophe Merlet <redfox@redfoxcenter.org> + + * configure.in: Added fr (French) to ALL_LINGUAS. + +2005-02-14 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerDHCP.c + - (set_domain_searches): Fix free of invalid pointer + +2005-02-14 Dan Williams <dcbw@redhat.com> + + 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 <tvujec@redhat.com> + + * configure.in + po/hr.po + - Add the Croatian locale. + +2005-02-14 Colin Walters <walters@verbum.org> + + * 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 <dcbw@redhat.com> + + * dhcpcd/client.c + - Debug output cleanups of DHCP option printing and parsing. + +2005-02-13 Dan Williams <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * test/Makefile.am + test/nmclienttest.c + test/nmtest.c + - Move nmclienttest.c -> nmtest.c + +2005-02-12 Dan Williams <dcbw@redhat.com> + + * dhcpcd/buildmsg.c + - Pad DHCP packets until they are at least 300 bytes in size. + +2005-02-11 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + Patch from Tom Parker: + * src/NetworkManagerDevice.c + - Remove the "#include <pci/types.h>" since both the ethtool.h and + mii.h headers are broken, and instead use our own typedefs + +2005-02-10 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * panel-applet/NMWirelessApplet.c + - Fix for gtk 2.4 + +2005-02-08 Dan Williams <dcbw@redhat.com> + + Patch from Bill Moss + * panel-applet/NMWirelessApplet.c + - Restore correct ESSID in tooltips + +2005-02-07 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * libnm_glib/libnm_glib.c + - Small cleanup in element list iteration + +2005-02-07 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Nathan Fredrickson <nathan@silverorange.com> + * Fix up compile for deprecation of libgnomeui + - Switch to <glib/gi18n.h> from <libintl.h> + - Remove <libgnomeui/libgnomeui.h> 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 <dcbw@redhat.com> + + * Clean up unused variables and the like + +2005-02-02 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * named/nm-named-manager.c + - Write out valid resolv.conf when we exit + +2005-02-01 Dan Williams <dcbw@redhat.com> + + Patch from Colin Walters: + * named/nm-named-manager.c + - Make multi-domain search options work + +2005-01-31 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <walters@redhat.com> + + * named/named.conf: Use any port for query source instead of + restricting to port 53. + +2005-01-24 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Tom Parker <palfrey@tevp.net> + * Fix up compile warnings & errors in the wireless applet + +2005-01-24 Dan Williams <dcbw@redhat.com> + + * panel-applet/NMWirelessApplet.c + - Convert 24x24 icons back to 22x22 and use the 22x22 ones + +2005-01-24 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/NetworkManager.c + - Daemonize earlier so that glib doesn't get confused (?) + +2005-01-21 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * dhcpcd/client.c + - Clean up some of the debug messages + +2005-01-21 Dan Williams <dcbw@redhat.com> + + * 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 <kmaraas@gnome.org> + + * panel-applet/NMWirelessApplet.c: #include <config.h> 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 <dcbw@redhat.com> + + * 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 <walters@redhat.com> + + * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list + of older nameservers. + +2005-01-18 Colin Walters <walters@redhat.com> + + * 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 <walters@redhat.com> + + 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 <walters@redhat.com> + + * 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 <walters@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/NetworkManagerDevice.c + - Minor fixups & corrections to "auto" frequency mode, make it + less chatty with syslog + +2005-01-10 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <walters@redhat.com> + + * 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 <ss@gnome.gr.jp> + + * configure.in (ALL_LINGUAS): Added ja (Japanese). + +2004-12-22 Dan Williams <dcbw@redhat.com> + + * 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 <walters@verbum.org> + + * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly + test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>. + +2004-12-21 Colin Walters <walters@redhat.com> + + * configure.in: Correct named detection. + +2004-12-21 Colin Walters <walters@redhat.com> + + * 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 <walters@redhat.com> + + * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '==' + instead of '='. + +2004-12-17 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <matt oss-institute org> + * src/backends/NetworkManagerGentoo.c + - Fix compilation error due to missing "ip4_broadcast" + +2004-12-03 Dan Williams <dcbw@redhat.com> + + * 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 <walters@redhat.com> + + * 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 <walters@redhat.com> + + * 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 <walters@redhat.com> + + * test/nmtestdevices.c, test/nmclienttest.c: Add missing + includes. + +2004-12-01 Colin Walters <walters@redhat.com> + + * panel-applet/NMWirelessAppletDbus.c + (nmwa_dbus_update_active_device_strength): Fix missing + return value. + +2004-12-01 Colin Walters <walters@redhat.com> + + * panel-applet/NMWirelessApplet.c: Add missing include. + +2004-12-01 Colin Walters <walters@redhat.com> + + * 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 <walters@redhat.com> + + * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes. + +2004-11-22 Colin Walters <walters@verbum.org> + + * 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 <walters@redhat.com> + + * src/Makefile.am (NetworkManager_SOURCES): Add + NetworkManagerDevicePrivate.h. + +2004-11-22 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + 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 <yoichi@fore.com> + Sergei Viznyuk <sv@phystech.com> + 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 <dcbw@redhat.com> + + Patch from Tom Parker <palfrey@tevp.net>: + + * src/NetworkManagerDevice.c + - Less output to console when no access + points are found during a scan + +2004-11-15 Dan Williams <dcbw@redhat.com> + + Patch from Tom Parker <palfrey@tevp.net>: + + * src/backends/interface_parser.c + - Use g_strdup () + - Check for inp == NULL + - use syslog () + +2004-11-13 Colin Walters <walters@redhat.com> + + Patch from Tom Parker <palfrey@tevp.net>: + + * 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) <TARGET_REDHAT>: + Include shvar.c and shvar.h here. + (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include + interface_parser.c and interface_parser.h here. + +2004-11-12 Colin Walters <walters@redhat.com> + + * 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 <walters@redhat.com> + + 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 <walters@redhat.com> + + * 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 <walters@verbum.org> + + * 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 <walters@verbum.org> + + * src/NetworkManager.c (main): Use daemon(3). + + * info-daemon/NetworkManagerInfo.c (main): Ditto. + + * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto. + +2004-11-10 Dan Williams <dcbw@redhat.com> + + 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 <palfrey tevp net> + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + Patch from Robert Paskowitz: + * src/backends/NetworkManagerGentoo.c + - Update static IP config code + +2004-11-05 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <j@bootlab.org> + * 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 <dcbw@redhat.com> + + * 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 <clarkbw@cvs.gnome.org> + + * 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 <walters@verbum.org> + + * 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 <walters@verbum.org> + + * .cvsignore: Update. + +2004-10-29 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <rstrode@redhat.com> + + * panel-applet/NMWirelessApplet.c: + (custom_essid_item_selected): kill some compiler + warnings + +2004-10-26 John (J5) Palmieri <johnp@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <jrb@redhat.com> + + * configure.in: post release bump. + +Tue Oct 19 14:19:24 2004 Jonathan Blandford <jrb@redhat.com> + + * configure.in: + * NEWS: Released NetworkManager-0.3.1 + +2004-10-18 Dan Williams <dcbw@redhat.com> + + Patches from Thom May: + * test/nmtestdevices.c + - Include <string.h> + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + ---- 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 <dcbw@redhat.com> + + * Tagged NetworkManager-0_3 + +2004-10-14 Dan Williams <dcbw@redhat.com> + + 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 <dcbw@redhat.com> + + * NEWS: a few small fixes in the credits + +Thu Oct 14 19:12:58 2004 Jonathan Blandford <jrb@redhat.com> + + * NEWS: prep for release. + +Thu Oct 14 16:47:12 2004 Jonathan Blandford <jrb@redhat.com> + + * panel-applet/NMWirelessAppletDbus.c + (nmwa_dbus_update_device_wireless_networks): remove warnings. + +Thu Oct 14 16:40:39 2004 Jonathan Blandford <jrb@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <johnp@redhat.com> + + * info-daemon/NetworkManagerInfo.c + - (main): Added session management + +2004-10-14 Dan Williams <dcbw@redhat.com> + + * 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 <jrb@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <johnp@redhat.com> + + * 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 <jrb@redhat.com> + + * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove + g_print. + +Tue Oct 12 22:44:15 2004 Jonathan Blandford <jrb@redhat.com> + + * 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 <johnp@redhat.com> + + * info-daemon/NetworkManagerInfo.c (main): Add child watch to respawn + Notification if it crashes + +Fri Oct 8 07:19:55 2004 Jonathan Blandford <jrb@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/NetworkManagerDevice.c + - Force wireless cards into Infrastructure mode before we use them + +2004-10-12 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * TODO + - Remove bit about more robust AP diffing since I just implemented it + +2004-10-11 Dan Williams <dcbw@redhat.com> + + * 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 <johnp@redhat.com> + + * 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 <johnp@redhat.com> + + * 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 <hebra@cvs.gnome.org> + + * configure.in (ALL_LINGUAS): Added de (German). + +2004-10-08 Dan Williams <dcbw@redaht.com> + + * 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 <dcbw@redhat.com> + + * info-daemon/NetworkManagerInfo.c (main): + - Initialize GError object to NULL + +2004-10-08 Dan Williams <dcbw@redhat.com> + + * panel-applet/NMWirelessAppletDbus.c + - Die if NetworkManagerInfo dies, since it manages our lifetime + +2004-10-08 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * info-daemon/NetworkManagerInfo.conf + - Allow root user to run NMI too + +2004-10-06 Dan Williams <dcbw@redhat.com> + + * 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 <jrb@redhat.com> + + * panel-applet/eggtrayicon.[ch]: + * panel-applet/main.c: Add missing file + +2004-10-04 Dan Williams <dcbw@redhat.com> + + * 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 <marcel@telka.sk> + + * configure.in (ALL_LINGUAS): Added sk. + +Fri Oct 1 18:26:03 2004 Jonathan Blandford <jrb@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <jrb@redhat.com> + + * 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 <jrb@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/NetworkManager.c + src/NetworkManagerDevice.c + src/NetworkManagerPolicy.c + - Don't blow away an active wired connection on startup + +2004-09-28 Bryan Clark <clarkbw@cvs.gnome.org> + + 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 <jrb@redhat.com> + + * panel-applet/NMWirelessApplet.c: Only add essid's if we actually + have a wireless card. + +Wed Sep 22 14:05:48 2004 Jonathan Blandford <jrb@redhat.com> + + * panel-applet/NMWirelessApplet.c: move the custom essid item. + Also, get the right device strings. + +Wed Sep 22 13:51:45 2004 Jonathan Blandford <jrb@redhat.com> + + * 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 <clarkbw@cvs.gnome.org> + + * 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 <jrb@redhat.com> + + * 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 <jrb@redhat.com> + + * panel-applet/NMWirelessApplet.c: Redo the menu item code. + + * panel-applet/menu-item.[ch]: Wireless menu item. + +2004-09-15 John (J5) Palmieri <johnp@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <mwh@sysrq.dk> + + * configure.in: Added Danish (da) to ALL_LINGUAS. + +2004-09-09 Dan Williams <dcbw@redhat.com> + + * 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 <clarkbw@cvs.gnome.org> + + * 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 <dcbw@redhat.com> + + 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 <serrador@cvs.gnome.org> + + * configure.in: Added 'es' (Spanish) to ALL_LINGUAS. + +2004-09-09 Ankit Patel <ankit@redhat.com> + + * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS. + +2004-09-09 Pablo Saratxaga <pablo@mandrakesoft.com> + + * configure.in: Added Walloon (wa) to ALL_LINGUAS. + +2004-09-08 Bryan Clark <clarkbw@cvs.gnome.org> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/backends/NetworkManagerRedhat.c + src/backends/NetworkManagerSlackware.c + - Use full path to /sbin/ip everywhere + +2004-09-07 Dan Williams <dcbw@redhat.com> + + Patch from: Narayan Newton <narayan_newton@yahoo.com> + + * 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 <dcbw@redhat.com> + + Patches below from: + <j@bootlab.org> + Mark Roach <mrroach@okmaybe.com> + Thom May <thom@debian.org> + + * 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 <raphaelh@cvs.gnome.org> + + * configure.in: Added 'pt_BR' to ALL_LINGUAS. + +2004-09-03 Akagic Amila <bono@linux.org.ba> + + * configure.in: Added 'bs' to ALL_LINGUAS. + +2004-09-02 Colin Walters <walters@verbum.org> + + * 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 <walters@verbum.org> + + * NetworkManager.pc.in: New file. + + * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc. + +2004-09-01 Amanpreet Singh Alam <aalam@redhat.com> + + * configure.in: Punjabi(pa) is added to po/. + +2004-08-31 Dan Williams <dcbw@redhat.com> + + * 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 <clarkbw@cvs.gnome.org> + + * 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 <seth@gnome.org> + + * configure.in: + + Actually properly setup the Debian backend in configure. + +2004-08-29 Colin Walters <walters@verbum.org> + + * 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 <walters@verbum.org> + + * 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 <walters@verbum.org> + + * panel-applet/NMWirelessApplet.c: Include config.h. + +2004-08-29 Colin Walters <walters@verbum.org> + + * 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) <!WITH_GCRYPT>: Include + gnome-keyring-md5.h gnome-keyring-md5.c. + (NetworkManager_LDADD) <WITH_GCRYPT>: 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 <kmaraas@gnome.org> + + * configure.in: Add «nb» and «no» to ALL_LINGUAS. + +2004-08-27 Bryan Clark <bclark@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <adamw@gnome.org> + + * configure.in: Added en_CA to ALL_LINGUAS. + +2004-08-27 Christian Rose <menthos@menthos.com> + + * configure.in: Added "sv" to ALL_LINGUAS. + +Thu Aug 26 2004 Dan Williams <dcbw@redhat.com> + + * Tag NetworkManager-0.2 + +Thu Aug 26 17:23:16 2004 Jonathan Blandford <jrb@redhat.com> + + * initscripts/Makefile.am + * configure.in: Make pass distcheck + + * po/ChangeLog: added + +Thu Aug 26 2004 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <jrb@redhat.com> + + * 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 <seth@gnome.org> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * src/NetworkManagerWireless.c + - Don't try to defererence blank passphrases + +2004-08-25 Dan Williams <dcbw@redhat.com> + + * panel-applet/NMWirelessApplet.c + - Rebuild the menu whenever a user clicks + +2004-08-25 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * panel-applet/* + - Rework the panel applet to do all DBUS communication in a separate + thread + +2004-08-25 Dan Williams <dcbw@redhat.com> + + * info-daemon/NetworkManagerInfo.[ch] + - Remove "get_next_priority" function + + * info-daemon/NetworkManagerInfoDbus.[ch] + - Convert "priority" functions to "timestamp" + +2004-08-25 Dan Williams <dcbw@redhat.com> + + * 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 <seth@gnome.org> + + Patch from Matthew Garrett <mjg59@srcf.ucam.org> 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 <dan@willemsen.us> + + * 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 <dcbw@redhat.com> + + * 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 <dan@willemsen.us> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <seth@gnome.org> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <seth@gnome.org> + + * 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 <dcbw@redhat.com> + + * 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 <seth@gnome.org> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * An assload of changes + +2004-08-02 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * TODO + - Add a couple of items + +2004-07-27 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * test/nmclienttest.c + test/nminfotest.c + - Add missing <dbus/dbus.h> headers + - Add GPL message at top + +2004-07-27 Dan Williams <dcbw@redhat.com> + + * src/NetworkManagerAPList.[ch] + src/Makefile.am + - Add. Deal with allowed network list additions, deletions, and updates + + * dispatcher-daemon/NetworkManagerDispatcher.c + - Add missing <dbus/dbus.h> header + + * info-daemon/NetworkManagerInfo.[ch] + - Add missing <dbus/dbus.h> header + - Implement the GConf notify callback to signal NetworkManager of an allowed + network change + - Better error checking + + * info-daemon/NetworkManagerInfoDbus.[ch] + - Add missing <dbus/dbus.h> 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 <dbus/dbus.h> 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 <dcbw@redhat.com> + + * .cvsignore + src/.cvsignore + test/.cvsignore + dispatcher-daemon/.cvsignore + info-daemon/.cvsignore + - Add .cvsignore files to reduce noise when diffing + +2004-07-24 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * dispatcher-daemon/NetworkManagerDispatcher.c + - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal + +2004-07-19 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * dispatcher-daemon/NetworkManagerDispatcher.c + - Implement script callout functionality + +2004-06-24 Dan Williams <dcbw@redhat.com> + + * 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 <dcbw@redhat.com> + + * 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 <pid>") + - 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 <dcbw@redhat.com> + + * Initial import |