Commit graph

18 commits

Author SHA1 Message Date
Dan Williams
bc6fc7b910 vpn: fix VPN active connection D-Bus API handling (bgo #569294)
Due to limitations in dbus-glib, where one GObject cannot have more
than one introspection XML object attached to it, we used to include
more than one <interface> in the VPNConnection object introspection
XML.  This was suboptimal for two reasons:

1) it duplicated the Connection.Active introspection XML which
made it harder for clients to use the introspection data in a
dynamic fashion, besides looking ugly in the docs

2) not many other programs use this feature of dbus-glib, which
means it didn't get a lot of testing, and broke, which sucks
for NM.

To fix this issue, create a base class for NMVpnConnection that
handles the Connection.Active API, and make NMVpnConnection itself
handle just the VPN pieces that it layers on top.  This  makes
dbus-glib happy because we aren't using two <interface> blocks
in the same introspection XML, and it makes the NM code more
robust because we can re-use the existing Connection.Active
introspection XML in the NMVpnConnectionBase class.
2011-01-25 12:41:03 -06:00
Dan Williams
9b2b809aae core: rename NMNamedManager -> NMDnsManager 2010-09-07 22:08:18 -05:00
Pablo Castellano
ce5c0d5ac6 build: enable AM_SILENT_RULES (bgo #625263) 2010-08-03 12:58:46 -07:00
Dan Williams
a00a6e5d87 logging: move logging into its own subdir
Some stuff we build (the DHCP manager) gets built independently
so that we can use it for unit tests.  For that, we need to build
the logging bits separately too, since the independent DHCP
library can't use them if they are embedded in NM.
2010-04-06 17:39:57 -07:00
Dan Williams
537c2f1f86 build: always link locally-built libraries first (bgo #580131) 2009-08-20 12:31:17 -05:00
Dan Williams
73659e724c makefile cleanups
0.7 requires dbus 1.1 or greater (for system bus activation), so make that
explicit, and remove compat code for D-Bus 0.6 and earlier.  Consolidate
the various glib pkgconfig checks into one, since most anything will require
gthread, glib, and gobject anyway.  Fixup the docs makefile to be more
automake-compatible and let 'make clean' actually work correctly when
docs are built.
2009-02-15 11:20:25 -05:00
Dan Williams
8afd2d8ecd 2008-06-26 Dan Williams <dcbw@redhat.com>
Patch from Michael Biebl <biebl@debian.org>

	* Clean up build system stuff



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3773 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-26 17:34:04 +00:00
Dan Williams
0422784433 2008-04-05 Dan Williams <dcbw@redhat.com>
* Makefile.am
	  configure.in
	  marshallers/Makefile.am
	  marshallers/nm-marshal-main.c
	  marshallers/nm-marshal.list
		- Consolidate marshallers

	* libnm-glib/nm-marshal-main.c
	  libnm-glib/nm-marshal.list
	  src/marshallers/Makefile.am
	  src/marshallers/nm-marshal-main.c
	  src/marshallers/nm-marshal.list
		- Remove

	* libnm-glib/Makefile.am
	  src/Makefile.am
	  src/dhcp-manager/Makefile.am
	  src/ppp-manager/Makefile.am
	  src/supplicant-manager/Makefile.am
	  src/vpn-manager/Makefile.am
		- Use consolidated marshallers



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3533 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-05 16:28:24 +00:00
Dan Williams
ec89663e7d 2008-03-26 Dan Williams <dcbw@redhat.com>
Rework VPN connection handling for a more consistent D-Bus API.  The
	VPNManager object has been removed, and active VPN connections are now the
	same as any other active connection.  The Manager object's ActivateConnection
	and DeactivateConnection methods are used to start and stop a VPN connection,
	and the VPNConnection objects are subclasses of the ActiveConnection objects.
	When activating a VPN connection, pass the path of the active connection
	to which the VPN connection is tied in the 'specific_object' argument.

	Consequently, the libnm-glib API has been reworked to match this arrangement,
	with the VPNManager object removed, and the NMVPNConnection objects now
	being subclasses of NMActiveConnection.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3504 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-26 13:43:01 +00:00
Dan Williams
7cdada8ed2 2007-10-01 Dan Williams <dcbw@redhat.com>
* configure.in
	  src/marshallers/Makefile.am
	  src/marshallers/nm-marshal.list
	  src/marshallers/nm-marshal-main.c
		- Consolidate glib marshallers into one place

	* src/dhcp-manager/Makefile.am
	  src/dhcp-manager/nm-dhcp-manager.c
	  src/supplicant-manager/Makefile.am
	  src/supplicant-manager/nm-supplicant-manager.c
	  src/supplicant-manager/nm-supplicant-interface.c
	  src/ppp-manager/Makefile.am
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/Makefile.am
	  src/vpn-manager/nm-vpn-connection.c
	  src/Makefile.am
		- Use consolidated marshallers

	* src/dhcp-manager/nm-dhcp-marshal.list
	  src/dhcp-manager/nm-dhcp-marshal-main.c
	  src/supplicant-manager/nm-supplicant-marshal-main.c
	  src/supplicant-manager/nm-supplicant-marshal.list
	  src/nm-marshal-main.c
	  src/nm-marshal.list
	  src/ppp-manager/nm-ppp-marshal-main.c
	  src/ppp-manager/nm-ppp-marshal.list
	  src/vpn-manager/nm-vpn-marshal-main.c
	  src/vpn-manager/nm-vpn-marshal.list
		- Remove



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2920 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-01 21:26:13 +00:00
Dan Williams
e5b834c1f9 2007-10-01 Dan Williams <dcbw@redhat.com>
* include/NetworkManagerVPN.h
		- define VPN connection state change reason codes

	* src/vpn-manager/Makefile.am
	  src/vpn-manager/nm-vpn-marshal.list
	  src/vpn-manager/nm-vpn-marshal-main.c
		- Add marshallers for StateChanged signal

	* introspection/nm-vpn-connection.xml
		- New Banner property
		- StateChanged signal now includes a 'reason' argument

	* src/vpn-manager/nm-vpn-connection.c
	  src/vpn-manager/nm-vpn-connection.h
		- Add a "Banner" property that contains the returned VPN server login
			banner (if any); valid only in the ACTIVATED state
		- (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
			a 'reason' argument and emits that reason along with the
			state-changed signal
		- Fix up calls to nm_vpn_connection_set_state() to include a reason
		- (nm_vpn_connection_ip4_config_get): save banner for later
		- (nm_vpn_connection_get_banner, get_property,
		   nm_vpn_connection_class_init): implement Banner property

	* src/vpn-manager/nm-vpn-service.c
		- (nm_vpn_service_connections_stop): take a reason argument; copy the
			connection list because elements may get added/removed from it
			while iterating over the list
		- (connection_state_changed): signal now includes the 'reason' argument

	* libnm-glib/nm-vpn-connection.c
	  libnm-glib/nm-vpn-connection.h
		- (nm_vpn_connection_get_banner): new function
		- (state_changed_proxy): handle reason argument



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2916 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-01 17:57:36 +00:00
Dan Williams
21ad2cf867 2007-09-14 Dan Williams <dcbw@redhat.com>
* utils/Makefile.am
	  utils/nm-utils.c
	  utils/nm-utils.h
	  src/supplicant-manager/Makefile.am
	  src/dhcp-manager/Makefile.am
	  src/backends/Makefile.am
	  src/named-manager/Makefile.am
	  src/ppp-manager/Makefile.am
	  src/vpn-manager/Makefile.am
	  test/libnm-util/Makefile.am
	  test/test-common/Makefile.am
		- Remove utils/; it was unused



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2808 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-14 18:50:16 +00:00
Tambet Ingo
326d1e8679 2007-09-12 Tambet Ingo <tambet@gmail.com>
* src/vpn-manager/nm-vpn-connection.[ch]: 
        * src/vpn-manager/nm-vpn-manager.[ch]:
        * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling
        * code. Using 
        dbus-glib, GObjects, signals etc.

        * libnm-glib/nm-vpn-manager.[ch]: 
        * libnm-glib/nm-vpn-connection.[ch]: Now that the NM
        * implementation changed
        so much, rewrite these too.

        * libnm-glib/Makefile.am: Add new files to build, build new
        * binding files for
        the new introspection files.

        * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from
        * here.

        * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that
        * was shadowing
        the header with the same name from libnm-utils.

        * libnm-glib/nm-vpn-plugin.[ch]: Implement.

        * libnm-util/Makefile.am: Add nm-utils.[ch] to build.

        * introspection/nm-vpn-plugin.xml: Implement.

        * introspection/nm-vpn-connection.xml: Implement.

        * introspection/nm-vpn-manager.xml: Implement.

        * src/NetworkManagerSystem.c
        * (nm_system_vpn_device_set_from_ip4_config): Remove
        the named manager argument, it can just as easily get it as the
caller.
        (nm_system_vpn_device_unset_from_ip4_config): Ditto.

        * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.

        * src/nm-dbus-manager.h: Fix up the name_owner signal signature.

        * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove,
        * use one from
        libnm-utils.

        * libnm-util/nm-connection.c: Ditto.

        * src/NetworkManagerMain.h: Remove, it's finally empty.

        * configure.in: Remove utils/ from build.

        * include/NetworkManagerVPN.h: Add some more defines to reduce
        * the amount
        of hard-coded strings.

        * utils/: Move it over to libnm-util.

        * test/Makefile.am: Link against libnm-util now that util/ is
        * gone.

        * dispatcher-daemon/Makefile.am: Ditto.

        * src/Makefile.am: Ditto.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2798 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-12 16:23:53 +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
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
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
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