* include/NetworkManagerVPN.h
src/vpn-manager/nm-dbus-vpn.c
src/vpn-manager/nm-dbus-vpn.h
src/vpn-manager/nm-vpn-act-request.c
src/vpn-manager/nm-vpn-act-request.h
src/vpn-manager/nm-vpn-service.c
src/vpn-manager/nm-vpn-service.h
libnm-glib/nm-vpn-connection.c
libnm-glib/nm-vpn-connection.h
libnm-glib/nm-client.h
- Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState ->
NMVPNServiceState to clarify what they apply to
- Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
NMVPNActStage -> NMVPNConnectionState for the same reason
* libnm-glib/nm-client.c
- Constant + type renames from above
- Properly handle NameOwnerChanged/manager_running signals
for NM service; only emit when state really changes
- Use hash tables correctly so that the key (which was previously owned
by the D-Bus message) now has the same lifetime as the value, since
the key is now taken from the the NMVPNConnection itself. This
really fixes the double-VPN names in the applet
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2677 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-dbus-manager.c
(proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
DbusConnection argument from 'name-owner-changed' signal. The manager
is already passed as a first argument to the signal and the connection
is easy enough to get from it.
* src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
Update the signature of the function.
* src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
Ditto.
* src/NetworkManager.c: Ditto.
* src/named-manager/nm-named-manager.c
(nm_named_manager_name_owner_changed): Ditto.
* src/supplicant-manager/nm-supplicant-manager.c
(nm_supplicant_manager_name_owner_changed): Ditto.
* src/nm-hal-manager.c (name_owner_changed): Ditto.
* src/dhcp-manager/nm-dhcp-manager.c
(nm_dhcp_manager_name_owner_changed): Ditto.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2567 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
handler for VPN.
* src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
on DBUS again.
2007-03-26 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerAPList.c
* src/nm-device-802-11-wireless.c
* src/NetworkManagerAP.c:
- Store last seen as glong instead of GTimeVal.
- Fix the upper bound of capabilities, it's a bitfield.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2500 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
Handle device state changes and disconnect VPN if it's device deactivates.
* src/nm-dbus-nm.c:
* src/nm-dbus-nm.h:
* src/nm-dbus-device.c:
* src/nm-dbus-device.c:
* src/nm-dbus-net.c:
* src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
* src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
* src/nm-device.c (nm_device_get_by_udi):
(nm_device_get_by_iface): Remove. This doesn't belong here and is already
implemented in the correct location (NMManager).
Rip out all the test_device stuff.
* src/NetworkManagerPolicy.c: Remove the leftover activation success and
failure handlers, it's all done by NMDevice already.
* src/NetworkManager.c: Move the signal handling here from nm-logging.c
Remove the iochannel hack to route the unix signals to the main thread since
we're not threaded anymore.
* src/NetworkManagerAP.c: Implement HWAddress property.
* src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
automatically with dbus-glib.
* src/nm-netlink-monitor.c:
* src/nm-netlink-monitor.h:
- Move it low in the class hierarchy, don't reference any NM types.
- Remove private data from the header.
- Use type safe checks in public API methods.
- Make it a singleton so we don't have to pass the single reference around.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2339 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* introspection/nm-ip4-config.xml: Implement.
* libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
* libnm-glib/nm-ip4-config.c:
* libnm-glib/nm-ip4-config.c: Implement.
* src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
securities. APs reference security.
* src/nm-device-802-11-wireless.c: Implement missing properties that need to
be exported over DBUS.
* src/nm-device-802-3-ethernet.c: Ditto.
* src/NetworkManagerAP.c:
* src/NetworkManagerAP.h:
- Convert to GObject, export over DBUS.
* src/nm-ip4-config.h:
* src/nm-ip4-config.h:
- Convert to GObject, export over DBUS.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2322 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Totally break NetworkManager. Please use 0.6 branch until futher notice.
* src/:
- Remove old low-level dbus interface implementations and replace them
with dbus-glib one.
* configure.in:
- Require dbus-glib >= 0.72.
- Plug in new sources to build.
* libnm-glib/:
- Implement GObject wrappers on top of DBUS glib auto-generated bindings
to make it more convenient to use from GObject based programs.
* introspection/:
- Implement DBUS XML introspection files, used by both NM and libnm-glib.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2309 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
* src/vpn-manager/nm-vpn-service.c
- (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
and NBNS server addresses
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2265 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
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/vpn-daemons/nm-vpn-service.c
- (supplicant_child_setup): new function
- (supplicant_exec): make child process use a new process group id
* src/nm-device-802-11-wireless.c
- (nm_vpn_service_child_setup): new function
- (nm_vpn_service_stage1_daemon_exec): make child process use a new
process group id
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2121 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/vpn-manager/nm-vpn-manager.c
- (nm_vpn_manager_load_services): split and clean up
for readability and correctness. Restrict VPN service
files to ending in ".name", as was meant from the
beginning (but not coded in). Better error reporting.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2044 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/vpn-manager/nm-vpn-service.c
- Simplify print_vpn_config() arguments
Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
* src/vpn-manager/Makefile.am
src/vpn-manager/nm-vpn-service.c
- Add new API for passing VPN config options as a dict
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1944 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
to add support for per-route MSS and improve support for per-interface
MTU:
* src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
optionally take an MSS parameter and set it for the given route.
Remove nm_system_device_set_ip4_route_with_iface. Pass in the
NMIP4Config's stored MSS, if any.
* src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
the interface's MTU and the route's MSS, respectively. Add functions
nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
and nm_ip4_config_set_mss for retrieving and setting the MTU and the
MSS.
* src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
nm_ip4_config_set_mss.
* src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
VPN daemon.
* src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
Change the retval of nm_system_get_mtu to guint32.
* src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
NMIP4Config to the MTU provided by the system, if any. TODO: If DHCP
servers can specify MTU's, we should set it here if the MTU was not
provided.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1660 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
* 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
* 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
Patch from: Vinay A R <rvinay@novell.com>
* src/vpn-manager/nm-vpn-act-request.[ch]
- Added 'routes' and 'routes_count' to struct NMVPNActRequest since
IPSec VPNs require them for std gateway.
- (nm_vpn_act_request_new): takes arguments for 'user_routes'
and 'user_routes_count'
- (nm_vpn_act_request_get_user_routes): new function; gets user
defined routes from NMVPNActRequest object, returns the string
array of routes.
* src/vpn-manager/nm-vpn-manager.[ch]
- (nm_vpn_manager_activate_vpn_connection): take additional arguments
for 'user_routes' and 'user_routes_count'
* src/vpn-manager/nm-dbus-vpn.c
- (nm_dbus_vpn_activate_connection): gets 'user_routes' from
nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
* src/vpn-manager/nm-vpn-service.c
- (nm_vpn_service_stage3_connect): pass user routes over dbus to
the vpn daemon
Modifications by Dan:
* src/vpn-manager/nm-vpn-service.c
- (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
arrays into dbus
* vpn-daemons/vpnc/src/nm-vpnc-service.c
* vpn-daemons/pptp/src/nm-pptp-service.c
* vpn-daemons/openvpn/src/nm-openvpn-service.c
- Grab user routes from dbus message
- Free all string arrays we got from dbus
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1463 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch by Sureshkumar T <tsureshkumar@novell.com>:
* src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
Check for and handle empty string for iface.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1426 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Apply the PtP Address bits of a patch from Tim Niemueller
* src/nm-ip4-config.[ch]
- Add ip4_ptp_address member to object
- (nm_ip4_config_copy): copy ptp address too
- (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
new functions
- (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
rather than local tunnel ip address
* src/vpn-manager/nm-vpn-service.c
- (print_vpn_config): update for PtP address
- (nm_vpn_service_stage4_ip_config_get): switch parsing to
DBusMessageIters in preparation for getting routes from the VPN
service daemons too
* vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
- (send_config_info): update for PtP address, clean up code
- (main): update for PtP address, clean up code, fix typo
* vpn-daemons/openvpn/src/nm-openvpn-service.c
- (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
* vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
- (pptp_ip_up): update for PtP address
* vpn-daemons/pptp/src/nm-pptp-service.c
- (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
* vpn-daemons/vpnc/src/nm-vpnc-service.c
- (print_vpn_config): update for PtP address
- (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1346 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch by Preggna S:
* src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
IPsec does not require that a VPN client be bound to an interface,
due to the use of the in-kernel IPSec bits. So make the tunnel
device optional.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1258 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
* src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
nm_vpn_manager_remove_connection() unless vpn is non-NULL.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1178 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* Move NetworkManager.h -> include/NetworkManager.h
* Split out VPN stuff to include/NetworkManagerVPN.h
* Fix up makefiles to include new location
* Fix up sources to include NetworkManagerVPN.h
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1130 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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