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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1776 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1775 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManager.c: use GOptions instead of getopt
* configure.in: bump glib required version to >= 2.6 for GOption
support
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1771 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1768 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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>.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1760 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1759 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1758 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1757 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
autofs on interface up if NIS is configured. On interface down, do
nothing.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1756 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1749 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1739 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1721 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1719 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1716 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1705 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1703 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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().
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1700 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1674 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1669 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1660 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1652 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1641 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1640 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
restart, not reload, ypbind. Unfortunately there is no superior
solution.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1639 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1629 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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).
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1628 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1626 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1615 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1614 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1607 4912f4e0-d625-0410-9fb7-b9a5a253dbdc