Commit Graph

40 Commits

Author SHA1 Message Date
Dan Williams
3abf5f30bf system-settings: fix plugins for /etc/NetworkManager/NetworkManager.conf 2010-03-06 00:18:28 -08:00
Dan Williams
37e8ae824e ifupdown: don't tell NM about connections until we check 'managed' (lp:450458)
Otherwise it causes connections that we don't want exported to leak
out and be shown in the connection editor even though the device
isn't supposed to be managed.
2010-02-18 07:55:34 -08:00
Michael Biebl
2a7a4ebaf6 ifupdown: interpret allow-hotplug as autoconnect (debian #568784) 2010-02-08 09:34:28 -08:00
Alexander Sack
8b3ddc7c8a ifupdown: unmanage devices with "mapping" stanzas - lp:413622 bgo:591864 2009-10-05 19:53:54 +02:00
Alexander Sack
eeec1021b2 ifupdown: do not export any connection in managed=false mode - lp:291902 2009-09-04 18:02:24 +02:00
Alexander Sack
801203c3aa ifupdown: support mappings and don't track devices not referenced in any stanza lp:291564 2009-09-04 17:53:43 +02:00
Dan Williams
cecf8f64c7 ifupdown: fix regression locking connections to their interfaces (lp #424092)
Reported and tirelessly tested by Noel Bergman <noel@devtech.com>
2009-09-03 20:43:26 -05:00
Dan Williams
e2b13be3d9 Merge commit 'origin/master' into polkit1
Conflicts:
	libnm-glib/Makefile.am
	src/system-settings/nm-sysconfig-settings.c
	system-settings/plugins/ifcfg-rh/plugin.c
2009-08-21 14:12:31 -05:00
Dan Williams
537c2f1f86 build: always link locally-built libraries first (bgo #580131) 2009-08-20 12:31:17 -05:00
Dan Williams
650cbcc108 ifupdown: port to new settings API 2009-08-12 17:13:24 -05:00
Dan Williams
0d69dfe39e libnm-glib: implement new settings interfaces
The old NMExportedConnection was used for both client and server-side classes,
which was a mistake and made the code very complicated to follow.  Additionally,
all PolicyKit operations were synchronous, and PK operations can block for a
long time (ie for user input) before returning, so they need to be async.  But
NMExportedConnection and NMSysconfigConnection didn't allow for async PK ops
at all.

Use this opportunity to clean up the mess and create GInterfaces that both
server and client objects implement, so that the connection editor and applet
can operate on generic objects like they did before (using the interfaces) but
can perform specific operations (like async PK verification of callers) depending
on whether they are local or remote or whatever.
2009-07-23 09:20:52 -04:00
Alexander Sack
57b8e0bf18 ifupdown: fix miscast due to udev conversion 2009-07-02 09:26:55 -04:00
Dan Williams
c9067d8fed everything: use libgudev instead of HAL; merge NM and nm-system-settings
The only thing that doesn't work yet is the system-settings service's
"auto eth" connections for ethernet devices that don't have an existing
connection.  Might also have issues with unmanaged devices that can't
provide a MAC address until they are brought up, but we'll see.
2009-06-11 00:39:12 -04:00
Dan Williams
0408c149b5 system-settings: kill usage of sha1 since NM can handle passphrases now
Plugins no longer need to hash WPA passphrases, so there's no need to keep
sha1 stuff around unless its for hasing other stuff (ifcfg-rh uses sha1
for certificate hashing for example, but has a private copy).
2009-06-05 22:09:39 -04:00
Michael Biebl
ae44aa59d1 Remove NULL in Makefile.am
Be consistent and don't use NULL, it's not defined anyway.
2009-05-02 18:01:20 -04:00
Dan Williams
a0e635f455 ifupdown: inherit from NMSysconfigConnection to get PolicyKit authorization 2009-04-04 16:37:47 -04:00
Alexander Sack
1bb029c395 ifupdown: fix mapping for 'password', 'identity', and 'key' 2009-03-03 12:58:33 -05:00
Alexander Sack
a36d57d2c1 ifupdown: handle previously unsupported format for wifi keys (debian #513874) 2009-03-03 12:56:44 -05:00
Alexander Sack
89278327ee ifupdown: fix crash for wireless-ssid setting (debian #513852) 2009-03-03 12:55:58 -05:00
Dan Williams
451e2942da system-settings: implement common GetSettings and GetSecrets methods (rh #486696)
Fix a few problems... No plugin should return secrets in the GetSettings method,
which some plugins did.  When that was committed in the commit "system-settings:
don't return secrets in the settings", it broke those plugins that didn't implement
GetSecrets.  Each plugin can actually use the same code for GetSettings and
GetSecrets, so implement those generically in the NMExportedConnection class and
remove plugin-specific implementations that all did the same thing.
2009-02-22 17:35:47 -05:00
Dan Williams
53d76d8bac system-settings: don't return secrets in the settings
Since only authorized users should be able to get secrets, don't return
them in the GetSettings handlers; callers need to use GetSecrets instead.
2009-02-18 14:02:35 -05:00
Przemysław Grzegorczyk
bac45aa0d5 clean up glib includes (bgo #564376)
Only <glib.h> and <gtk/gtk.h> need to be included.
2009-01-19 00:16:40 -05:00
Dan Williams
3f907cb9e3 License header and FSF address update 2008-12-20 09:46:41 -05:00
Dan Williams
f6225d7a94 2008-11-26 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-settings.c
	  libnm-glib/nm-settings.h
		- (nm_exported_connection_delete): rename 'delete' to 'do_delete' to
			avoid using C++ reserved keywords in headers

	* libnm-glib/nm-dbus-connection.c
	  system-settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
	  system-settings/plugins/ifcfg-suse/nm-suse-connection.c
	  system-settings/plugins/ifupdown/nm-ifupdown-connection.c
	  system-settings/plugins/keyfile/nm-keyfile-connection.c
	  system-settings/src/nm-sysconfig-connection.c
		- Change 'delete' to 'do_delete'



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4343 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-27 00:00:14 +00:00
Dan Williams
201fd4ed8e 2008-11-03 Dan Williams <dcbw@redhat.com>
* system-settings/src/main.c
		- (add_default_dhcp_connection): make the fallback connection read-only

	* libnm-glib/nm-settings.c
	  libnm-glib/nm-settings.h
		- Add detailed errors
		- (impl_exported_connection_update, impl_exported_connection_delete):
			return an error if the connection is read-only

	* system-settings/plugins/ifupdown/nm-ifupdown-connection.c
	  system-settings/plugins/keyfile/nm-keyfile-connection.c
	  system-settings/src/main.c
		- Use more detailed errors

	* system-settings/src/nm-system-config-error.c
	  system-settings/src/nm-system-config-error.h
	  system-settings/src/dbus-settings.c
		- Remove NM_SYSCONFIG_SETTINGS_ERROR_INVALID_CONNECTION, replaced by
			NM_SETTINGS_ERROR_INVALID_CONNECTION



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4254 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-03 22:32:49 +00:00
Dan Williams
bfb7243663 2008-10-29 Dan Williams <dcbw@redhat.com>
* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-ip4-config.h
		- Make properties private and add accessor functions

	* callouts/nm-dispatcher-action.c
	  libnm-glib/libnm-glib-test.c
	  libnm-util/nm-utils.c
	  src/NetworkManagerPolicy.c
	  src/NetworkManagerSystem.c
	  src/NetworkManagerUtils.c
	  src/dhcp-manager/nm-dhcp-dhclient.c
	  src/dhcp-manager/nm-dhcp-manager.c
	  src/dnsmasq-manager/nm-dnsmasq-manager.c
	  src/nm-device-wifi.c
	  src/nm-device.c
	  src/nm-hso-gsm-device.c
	  src/nm-ip4-config.c
	  src/nm-ip4-config.h
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/nm-vpn-connection.c
	  system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/plugins/ifcfg-suse/plugin.c
	  system-settings/plugins/ifupdown/parser.c
	  test/nm-tool.c
	  vpn-daemons/vpnc/properties/nm-vpnc.c
		- Use IP4 accessor functions



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4233 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-29 14:35:25 +00:00
Dan Williams
69713a8b93 2008-10-28 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-wireless.c
	  libnm-util/nm-setting-wireless.h
		- Make properties private and add accessor functions

	* src/NetworkManagerAP.c
	  src/nm-device-wifi.c
	  src/nm-manager.c
	  src/supplicant-manager/nm-supplicant-config.c
	  system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
	  system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/plugins/ifupdown/parser.c
		- Use wireless setting accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4231 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-28 19:26:00 +00:00
Dan Williams
519f8cd6c9 2008-10-27 Dan Williams <dcbw@redhat.com>
* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-connection.c
	  libnm-util/nm-setting-connection.h
		- Add a 'read-only' property that indicates the connection cannot be
			modified

	* system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/plugins/ifupdown/parser.c
		- These plugins are read-only at the moment

	* system-settings/plugins/keyfile/reader.c
	  system-settings/plugins/keyfile/writer.c
		- Read-only shouldn't get saved out to files or read in from them



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4227 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-27 17:07:42 +00:00
Dan Williams
a7949a1230 Fix warning
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4221 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-27 00:35:44 +00:00
Dan Williams
7d723b54a4 2008-10-26 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-connection.c
	  libnm-util/nm-setting-connection.h
		- Make properties private and add accessor functions

	* src/NetworkManagerPolicy.c
	  src/nm-cdma-device.c
	  src/nm-device-ethernet.c
	  src/nm-device-interface.c
	  src/nm-device-wifi.c
	  src/nm-gsm-device.c
	  src/nm-manager.c
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/nm-vpn-connection.c
	  system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
	  system-settings/plugins/ifcfg-fedora/plugin.c
	  system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/plugins/ifupdown/parser.c
	  system-settings/plugins/keyfile/nm-keyfile-connection.c
	  system-settings/plugins/keyfile/plugin.c
	  system-settings/plugins/keyfile/writer.c
	  system-settings/src/main.c
		- Use those accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4220 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 17:41:37 +00:00
Dan Williams
a525ceb802 2008-10-18 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-settings.c
	  libnm-glib/nm-settings.h
		- Rename the "get_secrets" virtual function "service_get_secrets" to
			clarify when it's used; NMExportedConnetion is a base-class for both
			the client and service side, which is sort of confusing, and
			get_secrets only makes sense on the service side.

	* libnm-glib/nm-dbus-connection.c
		- (get_secrets): remove, unused, and clients need to do extra work to
			get secrets anyway since the call can block on the remote side

	* system-settings/plugins/ifupdown/nm-ifupdown-connection.c
	  system-settings/plugins/keyfile/nm-keyfile-connection.c
		- Fix up for get_secrets -> service_get_secrets



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4192 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-18 13:56:24 +00:00
Alexander Sack
e6644a699a 2008-10-10 Alexander Sack <asac@ubuntu.com>
Implement managed mode. We bind devices configured in /etc/network/interfaces
	to their connections by updating wired/wireless setting with the
	mac address of the device.

	* system-settings/plugins/ifupdown/plugin.c
		- (get_net_address_for_udi): implement function to retrieve MAC
			address of udi from hal in GByteArray format
		- (bind_device_to_connection): bind mac address of device to
			wired/wireless system connection
		- (hal_device_added_cb): call bind_device_to_connection for
			system connections with a matching interface.name
		- (hal_device_added_cb): ensure that all code paths
			properly free the "iface" string.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4165 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 11:25:53 +00:00
Alexander Sack
da167bbcb1 2008-10-10 Alexander Sack <asac@ubuntu.com>
Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
	mode of the ifupdown system config plugin.

	* system-settings/plugins/ifupdown/plugin.c
		- (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
			private unmanage_well_known state field accordingly



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4164 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 11:14:26 +00:00
Alexander Sack
ab59790905 2008-10-10 Alexander Sack <asac@ubuntu.com>
Implement unmanaged mode that will prevent all devices in the
	well_known_udis set from being touched by NetworkManager

	* system-settings/plugins/ifupdown/plugin.c
		- (typedef struct SCPluginIfupdownPrivate): add gboolean
			unmanage_well_known field used to turn on/off unmanaged
			mode
		- (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
			signal when well_known_udis get added/removed
		- (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
			if we are in unmanaged mode



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4163 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 11:13:26 +00:00
Alexander Sack
0359c9a59b 2008-10-10 Alexander Sack <asac@ubuntu.com>
Add support to track network devices that have a configuration
	with a matching interface.name in /etc/network/interfaces

	* system-settings/plugins/ifupdown/plugin.c
		- (typedef struct SCPluginIfupdownPrivate): add hash table
			to track |well_known_udis|
		- (get_iface_for_udi): helper function to get interface.name
			for a udi
		- (hal_device_added_cb, hal_device_removed_cb): callbacks
			that add and remove devices to and from the well_known_udis
			set depending on whether their |interface.name| matches
			any interface definition in /etc/network/interfaces
		- (SCPluginIfupdown_init): connect callbacks from above with
			hal_mgr and setup well_known_udis hashtable
		- (GObject__dispose): destroy well_known_udis hashtable
		- (hal_device_added_cb2): implement wrapper callback with GFunc
			signature. user_data is supposed to be a triple (hal_mgr,
			config and devtype)
		- (SCPluginIfupdown_init): bootstrap wired and wifi devices for
			startup and call hal_device_added_cb2



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4162 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 11:12:05 +00:00
Alexander Sack
73dfd9643e 2008-10-10 Alexander Sack <asac@ubuntu.com>
Remove implementation for not used NMSystemConfigInterface callback functions
	in ifupdown plugin

	* system-settings/plugins/ifupdown/plugin.c
		- (SCPluginIfupdown_unmanaged_devices_changed): removed
		- (SCPluginIfupdown_connection_added): removed



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4161 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 11:10:19 +00:00
Alexander Sack
724ece22c4 2008-10-03 Alexander Sack <asac@ubuntu.com>
Implement system hostname support for debian/ubuntu

	* system-settings/plugins/ifupdown/plugin.c
		- (GObject__get_property): extend announced capabilities; add
			NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
		- (GObject__set_property,write_system_hostname): implement
			NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
		- (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
		   update_system_hostname, get_hostname):
			implement hostname property that watches and
			parses /etc/hostname



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4151 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-06 18:07:03 +00:00
Alexander Sack
312d04c359 2008-10-03 Alexander Sack <asac@ubuntu.com>
Implement support for wep-tx-keyidx in ifupdown system
	config plugin.

	* system-settings/plugins/ifupdown/parser.c
		- (update_wireless_security_setting_from_if_block): introduce
			free_type_mapping func table; rename a few local
			variables to improve readability; add wpa security mapping
			for wep-tx-keyidx property
		- (string_to_gpointerint): new function used for the auto_type_mapping
			of new wep-tx-keyidx property
		- (slist_free_all): free func used for mapped slist types



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4148 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-06 16:15:07 +00:00
Dan Williams
57ed51e2fe 2008-10-02 Dan Williams <dcbw@redhat.com>
Patch from Alexander Sack <asac ubuntu com>

	* system-settings/plugins/ifupdown/parser.c
		- Implement more graceful ip4 config parsing for cases where
		  /etc/network/interfaces omits basic ip4 settings, such as gateway etc
		  by using default values



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4139 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-02 13:48:41 +00:00
Dan Williams
8d19530da2 2008-09-18 Dan Williams <dcbw@redhat.com>
Patch from Alexander Sack <asac@ubuntu.com>

	* configure.in
	  system-settings/plugins/Makefile.am
	  system-settings/plugins/ifupdown/Makefile.am
	  system-settings/plugins/ifupdown/interface_parser.c
	  system-settings/plugins/ifupdown/interface_parser.h
	  system-settings/plugins/ifupdown/nm-ifupdown-connection.c
	  system-settings/plugins/ifupdown/nm-ifupdown-connection.h
	  system-settings/plugins/ifupdown/parser.c
	  system-settings/plugins/ifupdown/parser.h
	  system-settings/plugins/ifupdown/plugin.c
	  system-settings/plugins/ifupdown/plugin.h
		- Implement a Debian/Ubuntu legacy network configuration plugin
			(gnome.org #551941)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4078 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-18 15:29:59 +00:00