Commit Graph

131 Commits

Author SHA1 Message Date
Dan Williams
37a9303c2e libnm-util: fix hashing connections and settings
The first-level hash table key should be the setting name itself,
not the GType name of the setting's GObject.  There's probably a
better way to do this to reduce that confusion.
2011-01-27 10:37:01 -06:00
Dan Williams
e68e27aa75 libnm-util: add 'flags' argument to nm_connection_to_hash() and nm_setting_to_hash()
Simplifies code internally, and makes it easier for clients as well in
some cases where they want to control what ends up in the resulting
hash and what does not.
2011-01-26 14:14:37 -06:00
Giovanni Campagna
3ebecd2a29 introspection: add GObject introspection support (bgo #637032)
Add the necessary annotations (the mininum required, that is those
on return values. NULL parameters or container types may require
more), and the Autotools stuff to get a NetworkManager GIR for
libnm-util and a NMClient for libnm-glib.
2011-01-21 14:46:09 -06:00
Dan Williams
f9ceafd4a1 Merge remote branch 'origin/master' into rm-userset 2011-01-12 15:46:37 -06:00
Dan Williams
0587ef1179 Merge remote branch 'origin/master' into wimax 2011-01-02 17:24:23 -06:00
Dan Williams
8f699a77f2 libnm-util: check all valid permissions property types 2010-10-29 23:19:41 -05:00
Dan Williams
947efa3080 libnm-util: verify permissions property type
Connections are normally created from hashes using g_object_set()
which calls that object's set_property handler.  But GObject does
not allow errors to be returned from property handlers, so if the
type doesn't match what it should be, the property does not get
set, and error is printed to stdout, and life goes on.

But that's not what we want for the permissions property since the
client might expect that property to be set, but the connection now
is available to everyone.  So validate the permissions property
type (its really the only one we need to be so paranoid about)
and return an error when the incoming property type is wrong.
2010-10-29 22:31:23 -05:00
Daniel Gnoutcheff
fa8c9304b5 libnm-*: remove user settings support
Remove code related to "connection scope" and such. Later, we will also
do lots of code flattening and simplification that's possible now that
user settings are gone.
2010-08-06 13:05:46 -04:00
Dan Williams
22aee1ac8b libnm-util: remove useless semicolons 2010-05-26 00:30:32 -07:00
Dan Williams
7754690e7e libnm-util: use hash table iterators for simpler code 2010-05-26 00:28:26 -07:00
Tambet Ingo
ac0f32537e Merge branch 'master' into wimax 2009-12-29 11:25:37 +02:00
Dan Williams
e2b9e401ca libnm-util: remove unused variable 2009-12-23 11:07:50 -08:00
Tambet Ingo
75c734f1a9 wimax: Implement WiMAX support 2009-12-18 15:41:27 +02:00
Dan Williams
74fbda9b85 doc: fixes 2009-08-30 23:31:07 -05:00
Dan Williams
ce7ebaa7f9 libnm-util: ensure NMConnection scope & path can be set on construction 2009-08-11 00:02:05 -05:00
Dan Williams
0993ea3989 libnm-util: fix DEFAULT_MAP_SIZE; broken by ff88cf12c2 2009-08-10 15:21:16 -05:00
Daniel Drake
ff88cf12c2 olpc: add mesh device logic and config setting 2009-08-05 16:34:02 -04:00
Dan Winship
90bd1ad5cd Install and fix up libnm-util IPv6 config stuff 2009-07-29 21:34:19 -04:00
Dan Williams
d74ab39671 libnm-util: register settings hash in nm_connection_lookup_setting_type()
If not already registered by something else...
2009-06-01 10:45:11 -04:00
Dan Williams
4ab96e8eb6 bluetooth: add NMSettingBluetooth 2009-05-13 12:34:45 -04:00
Dan Williams
ccbd9155ec Documentation updates
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4331 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-24 04:30:36 +00:00
Dan Williams
d0dd5171ba Documentation updates
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4330 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-24 02:45:35 +00:00
Dan Williams
2328650d2e Documentation fixes
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4328 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-23 22:55:03 +00:00
Dan Williams
4d1859dc6a 2008-11-20 Dan Williams <dcbw@redhat.com>
* libnm-util/libnm-util.ver
	  libnm-util/nm-utils.c
	  libnm-util/nm-utils.h
	  libnm-util/nm-utils-private.h
	  libnm-util/nm-connection.c
		- (nm_utils_register_value_transformations): make private, called
			from NMConnection registration anyway



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4320 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-20 20:22:14 +00:00
Dan Williams
9e07f22295 documentation udpate
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4318 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-20 16:14:56 +00:00
Dan Williams
c818262849 Doc update
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4317 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-20 16:06:57 +00:00
Dan Williams
b8b93197a9 Fix argument names so they show up in the docs
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4316 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-20 16:03:00 +00:00
Dan Williams
320c3f378c 2008-11-20 Dan Williams <dcbw@redhat.com>
* libnm-util/libnm-util.ver
	  libnm-util/nm-setting.c
	  libnm-util/nm-setting.h
		- Add NMSetting errors
		- (nm_setting_update_secrets): return errors

	* libnm-util/nm-connection.c
	  libnm-util/nm-connection.h
		- (nm_connection_update_secrets): return errors

	* libnm-util/nm-setting-vpn.c
	  src/nm-activation-request.c
	  src/vpn-manager/nm-vpn-connection.c
		- Handle update secrets errors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4314 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-20 15:44:57 +00:00
Dan Williams
034c1705ce Documentation updates
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4313 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-20 15:22:25 +00:00
Dan Williams
6e40cdb3a5 2008-11-20 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting.c
	  libnm-util/nm-setting.h
	  libnm-util/libnm-util.ver
		- (nm_setting_new_from_hash): rename from nm_setting_from_hash() to be
			consistent with nm_connection_new_from_hash()

	* src/nm-activation-request.c
	  libnm-util/nm-connection.c
		- Handle rename



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4312 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-20 14:47:08 +00:00
Dan Williams
9fc39274b9 2008-11-19 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-connection.h
	  libnm-util/nm-connection.c
		- Document public functions



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4301 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-19 18:30:38 +00:00
Dan Williams
3c2d8253ec 2008-11-19 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-connection.c
	  libnm-util/nm-connection.h
		- (nm_connection_replace_settings): take a GError

	* libnm-glib/nm-settings.c
	  libnm-glib/nm-dbus-connection.c
	  src/nm-manager.c
	  system-settings/plugins/ifcfg-suse/nm-suse-connection.c
	  system-settings/plugins/keyfile/nm-keyfile-connection.c
	  system-settings/plugins/keyfile/plugin.c
		- Handle, or don't handle, errors from nm_connection_replace_settings()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4298 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-19 15:09:05 +00:00
Dan Williams
68a2fc9739 2008-11-19 Dan Williams <dcbw@redhat.com>
* libnm-util/libnm-util.ver
	  libnm-util/nm-connection.c
		- (nm_setting_register, nm_setting_unregister): unexport; they are
			private and don't have a use outside libnm-util



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4297 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-19 14:00:15 +00:00
Dan Williams
567396ad6d 2008-10-30 Dan Williams <dcbw@redhat.com>
* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-ip6-config.c
	  libnm-util/nm-setting-ip6-config.h
	  libnm-util/Makefile.am
		- Make properties private and add accessor functions
		- Hide IPv6 stuff from public API, it's incomplete and completely unused

	* libnm-util/nm-connection.c
	  libnm-util/nm-utils.c
	  libnm-util/nm-utils.h
		- Ignore IPv6 stuff for now



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4240 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-30 19:39:51 +00:00
Dan Williams
c438326110 2008-10-27 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

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

	* libnm-util/nm-connection.c
	  libnm-util/nm-setting-8021x.c
	  libnm-util/nm-setting-cdma.c
	  libnm-util/nm-setting-connection.c
	  libnm-util/nm-setting-gsm.c
	  libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-ip6-config.c
	  libnm-util/nm-setting-ppp.c
	  libnm-util/nm-setting-pppoe.c
	  libnm-util/nm-setting-serial.c
	  libnm-util/nm-setting-template.c
	  libnm-util/nm-setting-vpn.c
	  libnm-util/nm-setting-wired.c
	  libnm-util/nm-setting-wireless-security.c
	  libnm-util/nm-setting-wireless.c
	  system-settings/plugins/keyfile/reader.c
	  system-settings/plugins/keyfile/writer.c
		- Use setting accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4228 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-27 17:36:18 +00:00
Dan Williams
d2ef616e51 Fill error when object isn't a connection (Alexander Sack)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4074 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-18 13:31:11 +00:00
Dan Williams
10661abe17 2008-08-11 Dan Williams <dcbw@redhat.com>
Merge the vpn-properties setting with the vpn setting since it was pointless
	to keep both of them around.  Convert the vpn 'data' hash table to a hash
	of string:string (instead of string:variant) so that system settings plugins
	can have an easier time dealing with the arbitrary key/value pairs.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3923 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-11 17:13:22 +00:00
Dan Williams
fb74207755 2008-08-04 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-connection.c
	  libnm-util/nm-connection.h
		- (nm_connection_verify): return error on missing 'connection' setting
			(found by Sjoerd Simons)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3895 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-04 22:16:08 +00:00
Dan Williams
281791ac77 2008-07-27 Dan Williams <dcbw@redhat.com>
* libnm-util/*
		- Relicense to LGPLv2+



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3859 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-27 20:03:46 +00:00
Dan Williams
53e3399ab4 Actually handle registration of ipv6 setting
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3779 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-27 15:44:15 +00:00
Dan Williams
5a516abc4b 2008-06-26 Dan Williams <dcbw@redhat.com>
Patch from David Cantrell <dcantrell@redhat.com> and me

	* include/nm-dbus-glib-types.h
		- Add IP6 address types

	* libnm-util/Makefile.am
	  libnm-util/nm-setting-ip6-config.c
	  libnm-util/nm-setting-ip6-config.h
		- Add IP6 settings object

	* libnm-util/nm-connection.c
		- (register_default_settings): register ip6 settings object

	* libnm-util/nm-utils.c
	  libnm-util/nm-utils.h
		- (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
		   nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
			ip6 address conversion functions



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3778 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-26 21:30:33 +00:00
Tambet Ingo
2046ec13e3 2008-06-20 Tambet Ingo <tambet@gmail.com>
* libnm-util/nm-connection.c (nm_connection_duplicate): Implement.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3759 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-20 11:26:50 +00:00
Dan Williams
05e9de9402 2008-06-12 Dan Williams <dcbw@redhat.com>
Add a GError argument to nm_connection_verify() and nm_setting_verify(),
	and add error enums to each NMSetting subclass.  Each NMSetting subclass now
	returns a descriptive GError when verification fails.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3751 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-12 23:58:08 +00:00
Tambet Ingo
0d91f460d6 2008-04-15 Tambet Ingo <tambet@gmail.com>
* libnm-util/nm-setting.c (nm_setting_duplicate): Implement.

	* libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3560 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-15 16:03:26 +00:00
Dan Williams
70e79d60dd 2008-03-17 Dan Williams <dcbw@redhat.com>
Split the 802.1x bits out of the wireless-security setting so they are
	generalized enough for wired 802.1x to use too.

	* introspection/nm-exported-connection.xml
		- GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
			of just a hash of the secrets for one setting

	* libnm-util/nm-setting-wireless-security.c
	  libnm-util/nm-setting-wireless-security.h
		- Remove 802.1x-specific stuff
		- Added leap-username and leap-password properties for old-school LEAP

	* src/nm-device.c
	  src/nm-device.h
		- (connection_secrets_updated_cb): take a list of updated settings names,
			not just one

	* src/supplicant-manager/nm-supplicant-config.c
	  src/supplicant-manager/nm-supplicant-config.h
		- (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
			specific stuff; fix for updated LEAP bits; punt 802.1x stuff
			to nm_supplicant_config_add_setting_8021x()
		- (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
			the supplicant config

	* src/nm-device-802-11-wireless.c
		- (build_supplicant_config): pass in the 802.1x setting too, if any
		- (real_connection_secrets_updated): take a list of updated settings
			names, not just one

	* src/nm-device-802-3-ethernet.c
	  src/nm-cdma-device.c
	  src/nm-gsm-device.c
		- (real_connection_secrets_updated_cb): take a list of updated settings
			names, not just one

	* src/nm-activation-request.c
	  src/nm-activation-request.h
		- (nm_act_request_class_init): the 'connection-secrets-updated' signal
			now passes a list of updated settings names, not just one
		- (update_one_setting): new function; handle one updated setting
		- (get_secrets_cb): handle multiple settings returned from the
			settings service; have to be careful of ordering here as there are
			some dependencies between settings (ex. wireless-security and 802.1x
			in some cases)

	* src/marshallers/nm-marshal.list
		- new marshaller for connection-secrets-updated signal

	* libnm-util/nm-setting-8021x.c
		- Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
			methods
		- (verify): a valid 'eap' property is now required

	* libnm-util/nm-connection.c
		- (register_default_settings): add priorities to settings; there are
			some dependencies between settings, and during the need_secrets
			calls this priority needs to be respected.  For example, only the
			wireless-security setting knows whether or not the connection is
			going to use 802.1x or now, so it must be asked for secrets before
			any existing 802.1x setting is
		- (nm_connection_lookup_setting_type): expose

	* libnm-util/nm-setting-wireless.c
		- (verify): should verify even if all_settings is NULL; otherwise won't
			catch the case where there is missing security

	* libnm-util/nm-setting-wireless-security.c
		- Remove everything to do with 802.1x
		- Add old-school LEAP specific properties for username and password
		- (need_secrets): rework LEAP secrets checking
		- (verify): rework for LEAP and 802.1x verification



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3470 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-17 19:37:23 +00:00
Tambet Ingo
13e40f51ac commit de4e1e57541f62e610d5b622f2d38f5c84848daa
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Mar 14 16:38:48 2008 -0600

    2008-03-14  Tambet Ingo  <tambet@gmail.com>

    	* libnm-util/Makefile.am: Add new files to build.

    	* libnm-util/nm-connection.c: Register NMSetting8021x.

    	* libnm-util/nm-setting-8021x.c
    	* libnm-util/nm-setting-8021x.h: Implement.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3466 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-14 22:40:35 +00:00
Tambet Ingo
cc2675ebb1 Implement PPPoE.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3418 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-11 16:37:41 +00:00
Dan Williams
316abd62fd 2008-02-20 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-connection.c
	  libnm-util/nm-connection.h
		- (nm_connection_compare): accept compare flags and pass them to the
			setting compare function

	* libnm-util/nm-setting.c
	  libnm-util/nm-setting.h
		- (nm_setting_compare): accept compare flags; ignore properties that are
			marked fuzzy

	* libnm-util/nm-setting-connection.c
	  libnm-util/nm-setting-wireless.c
	  libnm-util/nm-setting-ppp.c
	  libnm-util/nm-setting-wired.c
		- Mark some setting properties as ignorable when doing a fuzzy compare

	* src/nm-device.c
		- (device_activation_precheck): use exact compare



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3336 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-02-21 04:34:34 +00:00
Dan Williams
fd0ab916c8 2008-02-20 Dan Williams <dcbw@redhat.com>
* Global rename of NMConnectionSettings -> NMExportedConnection to cut down
		on confusing names

	* Add 'path' and 'scope' properties to NMConnection since both NM and the
		applet were having to hack this in anyway.  Remove the 'path' stuff from
		NMExportedConnection

	* Internally rename NMConnectionType -> NMConnectionScope

	* Provide default implementations of the 'get_id' and 'get_settings' methods
		of NMExportedConnection



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3334 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-02-20 22:37:39 +00:00
Dan Williams
54b327f35a 2008-01-21 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Add CDMA mobile broadband card device type

	* src/nm-hal-manager.c
		- (modem_device_creator): handle both CDMA and GSM modems; the device
			must now be tagged with 'cdma' or 'gsm' capability

	* src/nm-cdma-device.c
	  src/nm-cdma-device.h
	  src/Makefile.am
		- Add the CDMA mobile broadband card device class

	* libnm-util/nm-connection.c
		- (register_default_settings): add NMSettingCdma

	* libnm-util/nm-setting-cdma.c
	  libnm-util/nm-setting-cdma.h
	  libnm-util/Makefile.am
		- Add the CDMA mobile broadband card setting class

	* libnm-glib/nm-cdma-device.c
	  libnm-glib/nm-cdma-device.h
	  libnm-glib/Makefile.am
		- Add the CDMA mobile broadband card GLib proxy class

	* libnm-glib/nm-client.c
		- (get_device): handle CDMA devices too



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3261 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-01-21 19:14:18 +00:00