Commit graph

48 commits

Author SHA1 Message Date
Tambet Ingo
3dcd9d2d17 2007-02-19 Tambet Ingo <tambet@ximian.com>
* 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
2007-02-19 13:09:32 +00:00
Tambet Ingo
c40051389c 2007-02-16 Tambet Ingo <tambet@ximian.com>
* 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
2007-02-16 11:23:49 +00:00
Tambet Ingo
8a4c57f631 2007-02-12 Tambet Ingo <tambet@ximian.com>
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
2007-02-12 09:23:43 +00:00
Tambet Ingo
371de4c2d0 2007-02-08 Tambet Ingo <tambet@ximian.com>
* 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
2007-02-08 15:34:26 +00:00
Dan Williams
06fe3cfed9 2007-02-02 Dan Williams <dcbw@redhat.com>
* 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
2007-02-02 21:14:56 +00:00
Dan Williams
0df1e42c39 2007-01-04 Dan Williams <dcbw@redhat.com>
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
2007-01-04 12:06:26 +00:00
Dan Williams
81c31e820a 2006-11-25 Dan Williams <dcbw@redhat.com>
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
2006-11-25 07:09:11 +00:00
Dan Williams
8b1045257a 2006-11-25 Dan Williams <dcbw@redhat.com>
* 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
2006-11-25 05:54:42 +00:00
Dan Williams
76a78cba54 2006-10-24 Dan Williams <dcbw@redhat.com>
* src/vpn-daemons/nm-dbus-vpnc.c
		- (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
			pending call tracker
		- (nm_dbus_vpn_connections_update_cb): unregister pending call in
			pending call tracker; register one-vpn-connection update pending
			call in pending call tracker
		- (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
			update pending call in pending call tracker
		- (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
			update pending call in pending call tracker; don't block waiting
			for call to return


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2082 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-10-25 02:42:18 +00:00
Dan Williams
84678fc9fe 2006-10-13 Dan Williams <dcbw@redhat.com>
* 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
2006-10-13 19:41:47 +00:00
Dan Williams
4c75ec35eb 2006-10-01 Dan Williams <dcbw@redhat.com>
* 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
2006-10-02 00:43:31 +00:00
Dan Williams
fa04260f85 2006-08-07 Dan Williams <dcbw@redhat.com>
* 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
2006-08-07 18:27:03 +00:00
Dan Williams
768354a19c 2006-06-09 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerSystem.[ch]
		- (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
			it was unused and pointless
		- (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
			fix for set_up_down_with_iface change

	* src/vpn-manager/nm-vpn-connection.c
		- (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change

	* src/backends/NetworkManagerPaldo.c
	  src/backends/NetworkManagerRedHat.c
	  src/backends/NetworkManagerSuSE.c
	  src/backends/NetworkManagerArch.c
	  src/backends/NetworkManagerDebian.c
	  src/backends/NetworkManagerGentoo.c
		- (nm_system_enable_loopback): use set_up_down_with_iface where
			appropriate
		- (nm_system_flush_loopback_routes): use flush_routes_with_iface
			where appropriate


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1817 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-06-09 14:24:19 +00:00
Robert Love
e79ccc1a10 2006-03-29 Robert Love <rml@novell.com>
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
2006-03-29 19:26:53 +00:00
Dan Williams
a282f30842 2006-02-28 Dan Williams <dcbw@redhat.com>
* 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
2006-03-01 04:12:35 +00:00
Dan Williams
911b3a9193 2006-02-28 Dan Williams <dcbw@redhat.com>
* 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
2006-03-01 03:22:47 +00:00
Dan Williams
74bfa2b3c0 2006-02-28 Dan Williams <dcbw@redhat.com>
* 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
2006-02-28 22:20:32 +00:00
Robert Love
929b45c69f 2006-02-28 Robert Love <rml@novell.com>
* 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
2006-02-28 19:40:22 +00:00
Robert Love
bd62301db9 * src/vpn-manager: misc. stuff
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1507 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-02-27 18:30:04 +00:00
Vinay A R
ecc005aa03 2006-02-09 Dan Williams <dcbw@redhat.com>
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
2006-02-13 02:01:44 +00:00
Robert Love
3abc236427 2006-02-02 Robert Love <rml@novell.com>
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
2006-02-02 15:07:35 +00:00
Dan Williams
db7403d3f4 2006-01-16 Dan Williams <dcbw@redhat.com>
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
2006-01-16 22:58:13 +00:00
Robert Love
46efeb868a 2006-01-11 Robert Love <rml@novell.com>
* configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
	* gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
	  src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
	  src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
	  src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
	  src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
	  test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
	* src/nm-device-802-11-wireless.c: Fix floating point comparison by
	  comparing values within DBL_EPSILON.  Also fix shadowed variable
	  usage.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1318 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-01-11 21:07:29 +00:00
Robert Love
ebe118b3ff 2006-01-03 Robert Love <rml@novell.com>
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
2006-01-03 20:58:07 +00:00
Dan Williams
4ed4b491fa 2005-12-31 Dan Williams <dcbw@redhat.com>
* 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
2005-12-31 08:21:24 +00:00
Robert Love
2dcaedf999 2005-12-12 Robert Love <rml@novell.com>
* 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
2005-12-13 19:48:12 +00:00
Dan Williams
6bcf90acf2 2005-12-06 Dan Williams <dcbw@redhat.com>
* 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
2005-12-06 23:37:09 +00:00
Robert Love
1b3017ff68 2005-10-07 Robert Love <rml@novell.com>
* 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
2005-10-07 17:19:28 +00:00
Dan Williams
23b0619e4f 2005-10-02 Dan Williams <dcbw@redhat.com>
* 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
2005-10-02 05:02:49 +00:00
Dan Williams
0f90a04544 2005-09-28 Dan Williams <dcbw@redhat.com>
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
2005-09-28 14:42:57 +00:00
Dan Williams
05b3e32e56 Fix debuginfo print, and don't require a vpn activation request for NameOwnerChanged processing
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@976 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-09-26 14:55:48 +00:00
Christopher Aillon
314e6fc426 2005-09-10 Christopher Aillon <caillon@redhat.com>
* gnome/applet/applet.c:
	* gnome/applet/applet-dbus-devices.c:
	* gnome/applet/applet-dbus-info.c:
	* gnome/applet/passphrase-dialog.c:
	* gnome/libnm_glib/libnm_glib.c:
	* gnome/vpn-properties/nm-vpn-properties.c:
	* src/autoip.c:
	* src/backends/NetworkManagerRedHat.c:
	* src/named-manager/nm-named-manager.c:
	* src/NetworkManagerAPList.c:
	* src/NetworkManager.c:
	* src/NetworkManagerDbus.c:
	* src/NetworkManagerDevice.c:
	* src/NetworkManagerPolicy.c:
	* src/NetworkManagerSystem.c:
	* src/nm-dbus-device.c:
	* src/nm-dbus-nm.c:
	* src/vpn-manager/nm-vpn-manager.c:
	* src/vpn-manager/nm-vpn-service.c:
	* test/libnm_glib_test.c:
	* test/nminfotest.c:
	* test/nmtestdevices.c:
	Fix up a bunch of 'unused variable' compiler warnings


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@959 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-09-11 02:32:30 +00:00
Dan Williams
5c46be7149 2005-09-07 Dan Williams <dcbw@redhat.com>
* The great VPN Manager rewrite of 2005


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@946 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-09-07 19:12:52 +00:00
Christopher Aillon
2ea235020b 2005-08-26 Christopher Aillon <caillon@redhat.com>
* 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
2005-08-26 23:36:35 +00:00
Dan Williams
1c51e6ec01 Remove unused variables
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@863 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-08-17 16:11:49 +00:00
Dan Williams
c2ac475604 2005-07-13 Dan Williams <dcbw@redhat.com>
Patch from Ray Strode <halfline@gmail.com>
	* Random cleanups for strict CFLAGS


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@796 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-07-13 16:58:13 +00:00
Robert Love
28d334748b 2005-06-21 Robert Love <rml@novell.com>
* applet/applet-dbus-devices.c: mark non-static functions static.
	* applet/applet-dbus-vpn.c: (ditto)
	* applet/applet.c: (ditto)
	* applet/nm-device.h: (ditto)
	* applet/other-network-dialog.c: (ditto)
	* applet/passphrase-dialog.c: (ditto)
	* NetworkManager.c: (ditto)
	* NetworkManagerDbus.c: (ditto)
	* NetworkManagerDevice.c: (ditto)
	* NetworkManagerPolicy.c: (ditto)
	* NetworkManagerUtils.c: (ditto)
	* NetworkManagerWireless.c: (ditto)
	* NetworkManagerWireless.h: (ditto)
	* nm-netlink-monitor.c: (ditto)
	* applet/applet-dbus-info.c: (ditto), add FIXME's.
	* vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
	* autoip.c: include autoip.h.
	* autoip.h: new file.  define get_autoip().
	* nm-netlink-monitor.h: define nm_netlink_close_connection().
	* NetworkManagerDbus.h: remove duplicate definitions.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@728 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-06-21 15:07:01 +00:00
Dan Williams
c0ecf7ad2f Remove unused variables
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@698 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-06-17 01:23:16 +00:00
David Zeuthen
c357c61e35 2005-06-12 David Zeuthen <davidz@redhat.com>
* 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
2005-06-12 14:35:59 +00:00
Dan Williams
50d286eb31 2005-06-09 Dan Williams <dcbw@redhat.com>
* NetworkManager.h
	  src/vpn-manager/nm-vpn-service.c
		- NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@656 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-06-10 02:47:09 +00:00
Dan Williams
74a2ffa9b7 2005-05-20 Dan Williams <dcbw@redhat.com>
* 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
2005-05-21 04:33:19 +00:00
Dan Williams
bfd38e3af0 2005-05-16 Dan Williams <dcbw@redhat.com>
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
2005-05-16 12:57:08 +00:00
Dan Williams
21bdc07fa8 2005-05-14 Dan Williams <dcbw@redhat.com>
* 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
2005-05-14 21:54:30 +00:00
Dan Williams
567b5e3d31 2005-05-03 Dan Williams <dcbw@redhat.com>
* 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
2005-05-03 20:41:36 +00:00
Dan Williams
b3f87f16ab 2005-04-27 Dan Williams <dcbw@redhat.com>
* 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
2005-04-28 12:09:15 +00:00
Dan Williams
a5dd14c305 2005-04-27 Dan Williams <dcbw@redhat.com>
* 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
2005-04-27 18:05:16 +00:00
Dan Williams
b6215ff296 2005-04-15 Dan Williams <dcbw@redhat.com>
- Fixes to pass 'make distcheck'


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@572 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-04-15 16:37:26 +00:00
Dan Williams
de1d417198 2005-04-15 Dan Williams <dcbw@redhat.com>
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
2005-04-15 15:43:42 +00:00