* 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
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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@573 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@571 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@559 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@545 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@534 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@531 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@510 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@497 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@495 4912f4e0-d625-0410-9fb7-b9a5a253dbdc