* 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 60 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1706 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
* 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}
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1695 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1677 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
'Back' too or else the 'Forward' option is initially disabled despite
valid input.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1676 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
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1671 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
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1642 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
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1635 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1633 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1630 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
* 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".
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1608 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
* 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).
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1596 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch by Timo Hoenig <thoenig@suse.de>:
* dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
daemon survive DBUS restarts, too.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1593 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1586 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1571 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1569 4912f4e0-d625-0410-9fb7-b9a5a253dbdc