* gnome/applet/applet-notifications.h
- Protect prototype of nma_send_event_notification() because it
includes libnotify-specific types
- Include libnotify/libnotify.h too, since we technically need it
* gnome/applet/applet.c
- (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
- (nma_show_vpn_login_banner_dialog): add some error checking
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1551 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Clean up activation cancellation. Should be a lot faster now. Observed
an issue with wireless devices between stage 2 and 3 of activation, where
activation would be cancelled, but the device thread wouldn't notice until
the supplicant association timed out. Reorganize activation such that
a cancellation handler gets immediately scheduled in the device's thread,
and devices have a chance to perform any custom cleanup too.
* src/nm-device.[ch]
- (activation_cancel_handler): new device-type-specific function
for cleaning up device-type-specific stuff on cancellation
- (cancel_activation): removed
- (nm_device_activation_cancel): subsume functionality of
real_cancel_activation, but instead of doing anything, punt
operation to a handler that's run in device-thread context
- (nm_device_schedule_activation_handle_cancel): fix spelling of
a warning message
- (activation_handle_cancel_helper): cancellation handler run in
device-thread context, calls device-type-specific cancelation,
then tears down the activation request
- (real_activation_cancel_handler): generic cancellation handler,
deals with cancelling any in-process DHCP request
- (nm_device_activate_stage1_device_prepare,
nm_device_activate_stage2_device_config,
nm_device_activate_stage3_ip_config_start,
nm_device_activate_stage4_ip_config_get,
nm_device_activate_stage4_ip_config_timeout,
nm_device_activate_stage5_ip_commit): don't call
nm_device_schedule_activation_handle_cancel() any more, since
cancellation will have been already scheduled for us by
nm_device_activation_cancel(). Just exit the function and
assume that the cancel handler will be called next.
* src/nm-device-802-3-ethernet.c
- (real_act_stage2_config): remove; didn't do anything anyway
* src/nm-device-802-11-wireless.c
- (supplicant_status_cb): ensure we don't do anything if the activation
got cancelled
- (real_activation_cancel_handler): implement; cancel user key request
on activation cancellation
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1549 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (supplicant_send_network_config): assume that drivers that don't
support WPA pretty much suck, and can't handle NM scanning
along with wpa_supplicant.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1548 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Fix a crash if an "Other wireless network" was chosen, failed, then
chosen again from the applet's menu. If the other network wasn't
noticed in a scan, it wouldn't have any capabilities, but would still
be listed because the user forced the network. To fix this, we set
sensible capabilities on the forced network, which will get overwritten
with the correct ones if the network shows up later in a scan.
* src/nm-ap-security.h
- Add a new "get_default_capabilities_func" member to the
NMAPSecurity class
* src/nm-ap-security.c
- (nm_ap_security_get_default_capabilities): new function
* src/nm-ap-security.c
src/nm-ap-security-wep.c
src/nm-ap-security-wpa-psk.c
src/nm-ap-security-wpa-eap.c
- Implement get_default_capabilities_func() for all, which
uses the information contained in a specific NMAPSecurity
object to determine default AP capabilites necessary
to support that object
As a secondary measure, we now prune artificial access points that fail
to be activated right away. The thing failed, and we have no scan data for
it, so it's pretty much useless since security information is only saved
in the applets when a connection is successful.
* src/NetworkManagerAPList.c
- (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
not artificial. If we see it, it's no longer a figment of the
user's imagination :)
* src/NetworkManagerPolicy.c
- (nm_policy_activation_failed): send along the failed AP if we
have it
* src/nm-device-802-11-wireless.c
- (real_activation_failure_handler): remove artificial APs from
the device list, because activation failed
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1542 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Add support for retrieving both the per-device speed and the
per-network maximum supported rate. Then change the getProperties
DBUS API for both networks and devices to report this informaiton.
Finally, display the information via both nm-applet and nm-tool:
* gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
and set it.
* gnome/applet/applet.c: Display the device's speed in the 'Connection
Information' dialog.
* gnome/applet/applet.glade: Update the UI to show per-device speed.
* gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
network_device_get_speed() and network_device_set_speed() for
retrieving and setting, respectively, a network device's current
speed.
* src/nm-dbus-device.c: Send the device's speed on getProperties.
* src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
in the function nm_device_802_11_wireless_get_bitrate() -- it does
not matter (yet) what the units are, because we only feed it its own
output. Implement SIOCGIRATE and set the per-network maximum
supported rate during scanning.
* src/nm-device-802-11-wireless.h: Export the function
nm_device_802_11_wireless_get_bitrate().
* src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
function nm_device_802_3_ethernet_get_speed() for returning an
802.3's current speed, in Mb/s.
* test/nm-tool.c: Display the per-device current speed, if available,
and the per-network maximum rate.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1540 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
card when it gets initialized. Since devices don't get added to
the scan list until they are initialized, this function wasn't
setting the intitial scan interval correctly, and was leaving
it at 0. This caused cards to get many scan requests in a short
amount of time when they were initialized
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1539 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/applet.c: Do not set the pixbuf if we don't have an
active device. But do not do what we used to do and override the
state, which caused the dreaded icon race of '05.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1538 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Commit Dan's update of my previous commit:
* src/nm-device-802-11-wireless.c: Always set the mode, because the
set_mode() function itself does the check. But do only set the
frequency if in Ad-Hoc mode.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1537 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch by Brian Magnuson <magnuson@rcn.com>:
* src/nm-device-802-11-wireless.c: During scanning, only set the wireless
mode to infrastructure if it is not currently in infrastructure mode.
For some driver, setting the mode is a costly operation, apparently.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1536 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Brian Magnuson <magnuson@rcn.com>
* gnome/applet/applet.c
- (nma_show_vpn_failure_dialog): fix errors left over from
libnotify support changes
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1531 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/vpn-manager/nm-vpn-act-request.[ch]
- (nm_vpn_act_request_is_activated): don't use a switch/case for
just one value
- (nm_vpn_act_request_is_failed): new function; return whether or
not the vpn activation request has failed
* src/vpn-manager/nm-vpn-manager.c
- (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
daemon to kill the connection when the activation request fails.
Fixes issue where NM would get confused if the VPN activation
request timed out, and would not allow further VPN connections
on that service.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1530 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/applet.c
- (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
overlapping connection requests, disable all VPN menu items
but the active VPN connection
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1529 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/vpn-manager/nm-vpn-connection.c
- (nm_vpn_connection_set_parent_device): fix C&P error which
called g_object_unref() on the connection's parent device
when it should have been ref-ed instead. Fixes crash with
repeated vpn connect requests
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1528 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/vpn-manager/nm-vpn-service.c
- (nm_vpn_service_start_connection): if the vpn service daemon is
already running, don't blindly ask it to connect, but wait until
it's in the STOPPED state first. Fixes an assertion when user
starts a second vpn connection without stopping the first.
- (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
dbus service exists before continuing with the connection
process, and reduce latency while waiting for it to become
available
- (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
waiting for the vpn service daemon to become available
- General log message cleanups; show progress via "Stage x of 4"
rather than not telling anyone how many stages there are
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1526 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
* src/backends/NetworkManagerSuSE.c: Implement the interface
nm_system_should_modify_resolv_conf() for SUSE.
* src/backends/NetworkManagerDebian.c,
src/backends/NetworkManagerGentoo.c,
src/backends/NetworkManagerRedHat.c,
src/backends/NetworkManagerSlackware.c: Add stub.
* src/named-manager/Makefile.am: Grab includes from src.
* src/named-manager/nm-named-manager.c: Allow backends to disable the
automatic updating of resolv.conf. This is useful for testing,
broken static configurations, and administrator lock-down.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1524 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- Move all the wpa_supplicant-related management stuff into its
own struct, just for oranization's sake
- (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
to a GIOChannel/GSource
- (supplicant_log_stdout): new function; grab output from the
wpa_supplicant stdout pipe and write it to our logs.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1519 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
deserializers are responsible for freeing the returned DBUS strings.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1515 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
src/nm-ap-security-wpa-psk.c: Fix FIXMEs: Callers of the DBUS
deserializers are responsible for freeing the returned DBUS strings.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1514 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-wireless-802-11.c:
The scan list is being pruned prematurely. We should prune after
the device has gone MIA for three scans, not one. Split out the
interval to realtime seconds function to better serve this.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1510 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
Patch by R. Vinay <rvinay@novell.com>:
* gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
'last_attempt_success' when removing a VPN connection, too. (Fixes
Novell bug #153628).
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1506 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
* configure.in
gnome/applet/Makefile.am
- Conditionalize all the notify stuff
Merge most of Chris Aillon's notification patch:
* gnome/applet/applet-notifications.[ch]
- New files; show a notification
* gnome/applet/applet-dbus-devices.[ch]
- (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
new functions, do the right thing when a device change occurs
* gnome/applet/applet-dbus.c
- (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
signals, so we can handle them specially
* gnome/applet/applet.[ch]
- nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
- nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
- (nmwa_notify_state): remove
- (nmwa_update_state); remove call to nmwa_notify_state, since the
notification work is now done when the appropriate dbus signals
are received.
- (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
defer execution of the notification/dialog stuff. That was an
artifact of the previous multi-threaded nature of the applet
and is now pointless.
- (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
no longer needed. Function folded into applet-notifications.c
* src/NetworkManagerPolicy.c
- (nm_policy_activation_finish): send the AP along with the device
status change signal, if the connection is wireless. Should
fix the race where applet would show a connection to "unknown"
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1498 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Dan Winship <danw@novell.com>:
* gnome/applet/eggtrayicon.c: Update EggTrayIcon code. Set the gdk
area to transparent.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1488 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/applet-compat.c
- (convert_one_entry): accept entries without a key_type and
convert them to unencrypted networks
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1481 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/libnm_glib/libnm_glib.c
- Use __func__ everywhere we can
- Code cleanups
- Use dbus pending calls rather than blocking
- Reduce busywaits for our thread to start and stop
(gnome.org #330562)
- (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
stomp on others using the default shared dbus connection.
Fixes #rh177546# and gnome.org #326572
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1480 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Rodney Dawes <dobey@novell.com>
* gnome/applet/Makefile.am
gnome/applet/applet.c
- Add libnotify support if '--enable-notify=yes' is passed
at configure time
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1479 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
and WPA_SUPPLICANT_CONTROL_SOCKET.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1476 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
information about what connection stage we are at, provide the total
number of stages, e.g. "Stage 2 of 5", so users know how far along
they are if they experience problems.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1474 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
define to $sysconfdir.
* gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
editing dialog, vpn_edit_widget, which fixes a bug where editing one
type of VPN and then editing another results in a mangled dialog
box containing the widgets from both VPNs (fixes Novell #150854).
Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1473 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Fix problem since change to "deal with APs changing settings on us," checked
in on the fifth of February in the year of the dog, wherein connecting to
non-broadcast encrypted networks always fails because nm_ap_get_encrypted()
always returns FALSE, even when the user provided a key, because the
newly-created fake AP does not have any capabilities set, which is a sypmtom
of security settings not matching capabilities (Novell bug #150787):
* src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
nm_ap_add_capabilities_from_security(), which sets the given AP's
capabilities off the given security settings. Also improve our handling of
capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and NM_AUTH_CIPHER_AUTO.
* src/nm-device-802-11-wireless.c: Call nm_ap_add_capabilities_from_security
to ensure that capabilities match newly updated security settings.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1470 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the error
as a string, not an integer, if possible; do not print the function name
twice; always give the interface, if possible; misc. cleanup.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1469 4912f4e0-d625-0410-9fb7-b9a5a253dbdc