* NetworkManager.h
- Differentiate VPN config signals between bad VPN config options
and bad IP config
* gnome/applet/applet-dbus-info.h
- Add prototypes for wireless network and vpn connection update functions
* gnome/applet/applet-dbus.c
- (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
* gnome/applet/applet.c
- (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
error signals
- (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
propogation to NetworkManager
- (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
notify propogation to NetworkManager
* src/NetworkManagerDbus.c
- (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
are updating so a network can be removed from it if necessary
* src/vpn-manager/nm-vpn-manager.c
- (nm_vpn_manager_process_signal): trap new vpn config error signals
* vpn-daemons/vpnc/nm-vpnc-service.c
- (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
- (nm_vpnc_dbus_signal_launch_failed): remove
- (nm_vpnc_dbus_signal_connect_failed): remove
- (nm_vpnc_helper_timer_cb): update for new generalized error signal function
- (nm_vpnc_schedule_helper_timer): increase timeout to 10s
- (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
for new generalized error signal function, remove config file stuff
- (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
we can write configuration options to it
- (nm_vpnc_config_file_generate): removed
- (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
- (nm_vpnc_config_options_validate): validate the config options we receive
from NetworkManager to block potential exploits
- (nm_vpnc_dbus_handle_start_vpn): call option validation function before
starting vpnc
- (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
to NetworkManager
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@646 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
- (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
is not "connect"
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@638 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Tomislav Vujec <tvujec@redhat.com>
* gnome/applet/applet-dbus-info.c
- (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
GConf and pass them to NetworkManager. New key is 'routes' under
the VPN connection, and should be a string list
* src/NetworkManagerSystem.c
- (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
set them on the device when we set the rest of the VPN config. Ensure
they are in the correct format since they are passed directly to the
command line.
* src/backends/NetworkManagerRedHat.c
src/backends/NetworkManagerDebian.c
- (nm_system_device_add_route_via_device_with_iface): new function
* src/vpn-manager/nm-dbus-vpn.c
- (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
* src/vpn-manager/nm-vpn-manager.c
- (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
them into the IP4 config functions
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@637 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* dispatcher-daemon/NetworkManagerDispatcher.c
- (main): sync arguments with NetworkManager and the applet, now use
"--no-daemon" rather than "daemon=no"
- (nmd_print_usage): Fix script path in usage message
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@635 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
* configure.in
- Check for dhcdbd and error if its not found
* src/dhcp-manager/Makefile.am
src/dhcp-manager/nm-dhcp-manager.c
- Use path to dhcdbd that configure found
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@630 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/nm-device.c
- (network_device_sort_wireless_networks, sort_networks_function): New functions to
sort wireless networks alphabetically
* gnome/applet/applet-dbus-devices.c
- (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
before copying them over to the GUI
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@629 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
* NetworkManager.h
- Add signals for VPN Launch and Connect failures
* gnome/applet/applet-dbus.c
- (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
* gnome/applet/applet.c
- (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
function to handle all VPN failure messages
- (nmwa_schedule_vpn_failure_dialog): generalize old nmwa_schedule_vpn_login_failure_dialog()
function to hanlde all VPN failure messages
- (show_warning_dialog): work around focus-stealing prevention
* gnome/applet/other-network-dialog.c
gnome/applet/passphrase-dialog.c
- (update_button_cb): Make sure the OK button is enabled when it should be, fixes
problem where it never enabled for ASCII Key and Hex Key types
* gnome/applet/wireless-applet.glade
- Add window title to Other Wireless Network Dialog
* src/vpn-manager/nm-dbus-vpn.c
- (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
function to handle all VPN failure messages
* src/vpn-manager/nm-vpn-manager.c
- (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
* vpn-daemons/vpnc/nm-vpnc-service.c
- (nm_vpnc_dbus_signal_launch_failed): new function
- (nm_vpnc_dbus_signal_connect_failed): new function
- (nm_vpnc_helper_timer_cb): signal connect failure on timeout
- (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
- (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
- (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@627 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* vpn-daemons/vpnc/nm-vpnc-service.c
- (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
- (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
file exists before trying to write it out.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@619 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/applet-dbus-device.c
- (nmwa_dbus_set_device): remove check for valid key and key type, which
prevented just entering ESSID and leaving key and key type up to
NetworkManager (which should have them already cached)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@617 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerPolicy.c
- (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
- (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
fix a situation where NM is told to terminate and the device stops activation,
but the main thread isn't aware of that because it would never have run
nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
had already quit.
* src/NetworkManagerDevice.c
- (nm_device_probe_wired_link_state): cosmetic fixes
- (nm_device_activate_stage5_ip_config_commit): Don't check link state if
we've failed to activate or been canceled.
- (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@616 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerWireless.c
- (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
value of WEXT quality structures, and add a debug message when we cannot
determine any quality % at all
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@615 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
* Expose activation stages to NetworkManager clients, like the applet
* Add Diana's progress icons to the applet, cued off NM activation stage
* Use more descriptive tooltips, cued off NM activation stage
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@611 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/main.c
- Fix session management so the applet is actually managed now
* gnome/applet/passphrase-dialog.c
- (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@609 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
* src/NetworkManagerDevice.c
- (nm_device_probe_wireless_link_state): don't lock the scan mutex here
but let link_to_specific_ap() do the locking where it needs
Patch from Bill Moss:
* src/NetworkManagerSystem.c
- Set MTU of VPN devices to 1412
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@605 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* Remove NM_STATE_SCANNING from NetworkManager.h and applet code
* Fix some holes in device activation and retaining the currently connected
access point
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@602 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