* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2291 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2285 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2284 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2205 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2125 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2124 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManager.c
- (nm_name_owner_changed_handler): handle NMI coming and going,
this somehow droppout in the refactor
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2064 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2061 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
* 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/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/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
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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1555 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1509 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1508 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1500 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1499 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1361 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1249 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1244 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@985 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@981 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@958 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@926 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@738 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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"
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@658 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@634 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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().
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@628 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@613 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@606 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@597 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@586 4912f4e0-d625-0410-9fb7-b9a5a253dbdc