* Cleanup prototypes: put some functions in header files and mark
others as 'static' -- feel free to invert
* src/vpn-manager/nm-dbus-vpn.c: remove prototype of
nm_vpn_manager_vpn_connection_list_copy()
* src/vpn-manager/nm-vpn-act-request.c: remove prototype of
nm_vpn_service_get_dbus_connection()
* src/vpn-manager/nm-vpn-manager.h: add prototypes for
nm_vpn_manager_vpn_connection_list_copy()
* src/vpn-manager/nm-vpn-service.c: Make
nm_vpn_service_act_request_failed() and
nm_vpn_service_stage2_daemon_wait() static.
* src/vpn-manager/nm-vpn-service.h: add prototype for
nm_vpn_service_get_dbus_connection()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@999 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
* Fix up VPN state handling between the applet and NetworkManager,
so that the applet doesn't show a VPN as connected when one
really is not
- The applet no longer has a pointer to the active VPN's
name, but tracks each VPNs state individually
- NM no longer has a "getActiveVPNConnection" method
- NM no longer broadcasts the "VPNConnectionChange" signal
- NM now broadcasts a "VPNConnectionStateChange" signal
whenever the state of a VPN changes
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@902 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/vpn-properties/nm-vpn-ui-interface.h: New file
* gnome/vpn-properties/nm-vpn-properties.glade: New file
* gnome/vpn-properties/nm-vpn-properties.c: New file
* gnome/vpn-properties/Makefile.am: New file
* src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
array of passwords
* src/vpn-manager/nm-vpn-manager.c
(nm_vpn_manager_activate_vpn_connection): Take an array of passwords
instead of just a single one
* src/vpn-manager/nm-dbus-vpn.c:
(nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
here
(nm_dbus_vpn_activate_connection): Rework to take an array of passwords
* gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password):
Change the interface here to give a list of passwords. Also, don't
require username, but do require service
* gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
the binary for the auth-dialog and use that instead of putting up a
dialog asking for a single password
* gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
however do remember the service
* gnome/applet/main.c (main): Setup i18n
* gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
connection to '%s'" to the tooltip if we are connected using VPN
(nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
key to determine whether we the auth-dialog needs to
reprompt. Also cope with the fact that the auth-dialog now returns
an array of passwords.
(nmwa_menu_configure_vpn_item_activate): New handler for
"Configure VPN..." menu item
(nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
(is_vpn_available): New function to determine if we got any
NM-compatible VPN software installed
(nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
items only if we have NM-compatible VPN software installed
(nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
logic for detecting when VPN connections are removed
* gnome/applet/applet-dbus.h: Removed the prototypes for
nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
since these are defined elsewhere
* gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
function used to keep track of whether the last attempt succeded
(nmwa_dbus_filter): Update last_attempt according to whether the
VPN connection could be established or not
* gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection):
Change prototype to take an array of passwords, not just a single
password
* gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
update service, not user
(nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
dbus_active_vpn_name is not NULL before using it
(nmwa_dbus_vpn_activate_connection): Send the passwords as a
string array instead of assuming a single password
* gnome/applet/applet-dbus-info.c:
(nmi_dbus_get_vpn_connection_properties): Use the logged in user for
user name; don't read from gconf
* gnome/applet/Makefile.am: Also export SYSCONFDIR and
VPN_NAME_FILES_DIR
* gnome/Makefile.am (SUBDIRS): Add vpn-properties
* configure.in: Add checks for gmodule-2.0.
Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
projects under vpn-daemons now. See vpn-daemons/vpnc/Changelog
for details
* vpn-daemons/Makefile.am: Removed
* vpn-daemons/README: New file to describe extensions points for VPN
software
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@664 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
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
* 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
* 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
* gnome/applet/applet-dbus-vpn.c
gnome/applet/applet.c
gnome/applet/applet.h
- Fix up active VPN handling so that we reliably know when a VPN
connection has been deactivated
* src/vpn-manager/nm-vpn-manager.c
- Remove duplicate VPNConnectionChange signal
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@593 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
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