* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2395 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2147 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2130 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2084 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/vpn-properties/nm-vpn-properties.c: Implemented the add
dialog in code as is done for the edit dialog and tidied up the
management of the plugin provided widgets. Show all and hide
all are no longer used as they would override the visiblity
behaviour imposed by the plugin. (gnome.org bug #349991).
* gnome/vpn-properties/nm-vpn-properties.glade: Removed add dialog
widgets that are nolonger needed.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1947 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1940 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1845 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the set unless there
is a non-empty key to set. Elsewhere, pass an empty string via DBUS
if there is no key to pass.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1833 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1823 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1814 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1811 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1777 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1765 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1764 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
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1755 4912f4e0-d625-0410-9fb7-b9a5a253dbdc