Commit Graph

992 Commits

Author SHA1 Message Date
Dan Williams
ba5a7024bd core: use _GNU_SOURCE consistently 2009-04-21 18:29:25 -04:00
Dan Williams
2c4919ae84 libnm-util: allocate correct size for uuid 2009-04-14 09:09:48 -04:00
Dan Williams
f3f1ee18d4 libnm-util: fix array transforms when arrays are NULL 2009-04-14 09:09:07 -04:00
Dan Williams
fa72dc27e0 libnm-util: add transform for byte arrays; fix IP4 address transform for prefix 2009-04-14 09:08:33 -04:00
Tobias Mueller
ba9a0ad232 core: update FSF address (bgo #577949) 2009-04-07 07:49:49 -04:00
Dan Williams
ccb84b15d5 libnm-util: fix use-after-free when updating setting secrets 2009-03-31 13:08:07 -04:00
Dan Williams
583427ee36 libnm-util: fix client certificate values after setting private key
The client certificate should only match the private key for PKCS#12.
2009-03-31 08:37:37 -04:00
Dan Williams
c4a1c49539 libnm-util: don't lowercase LEAP username 2009-03-26 16:58:33 -04:00
Tambet Ingo
41bc6e167b Implement sending current host name to DHCP server. 2009-03-20 14:44:49 +02:00
Dan Williams
d5bbd6dd49 libnm-util: fix WPA Ad-Hoc capability matching
Drivers won't necessarily add the "PSK" flag to the beacon for Ad-Hoc
APs, which is fine because PSK is the only type of security that Ad-Hoc
can do.
2009-03-04 17:18:24 -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
a734c836a5 libnm-util: ignore Privacy for APs broadcasting WPA & RSN IEs (rh #445369)
While broadcasting WPA and RSN IEs with the Privacy bit set to 0 is
technically illegal, some networks using older Cisco equipment do it
(I'm looking at you, Eduroam) and there's no reason not to support
it.  Since the AP is broadcasting WPA/RSN IEs, assume that means
WPA and RSN is supported (duh).
2009-02-06 17:32:56 -05:00
Dan Williams
203cff4d83 libnm-util: move crypto tests to libnm-util/tests/
Add testing certs and keys; run crypto tests on 'make check'
2009-02-02 01:03:15 -05:00
Dan Williams
b61b199776 libnm-util: flag properties with G_PARAM_CONSTRUCT so default values get set
This caused the 'autoconnect' property of NMSettingConnection to not
get updated in some cases (as when a system setting plugin noticed a
change to autoconnect=true and emitted the Updated signal, which wouldn't
contain the new value).  Add a testcase for setting default values too.
2009-02-01 20:18:21 -05:00
Dan Williams
0e6c557bce ppp: fix interpretation of 'noauth' and default to TRUE
MPPE has nothing to do with noauth, since auth/noauth is for asking
the remote server to authenticate itself to the local pppd, which is
pointless.  Default 'noauth' to true.
2009-01-28 11:53:16 -05:00
Dan Williams
154f2f4534 libnm-util: default 'autoconnect' to true
Like the NetworkManagerConfigurationSpecification wiki page has stated for
quite a long time.
2009-01-27 11:31:21 -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
6bd0fce1c9 libnm-util: validate PSK and LEAP passwords
If they exist, they shouldn't be zero-length.
2009-01-12 10:31:00 -05:00
Michael Biebl
c733dbf6d0 Remove .cvsignore file, they are obsolete 2008-12-19 21:23:08 -05:00
Dan Williams
948ee274da 2008-12-09 Dan Williams <dcbw@redhat.com>
* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-ip4-config.h
		- Add 'never-default' property, which when true indicates that a
			connection should never be the default connection

	* src/nm-ip4-config.c
	  src/nm-ip4-config.h
		- (nm_ip4_config_get_never_default, nm_ip4_config_set_never_default):
			Add never-default helpers

	* src/NetworkManagerUtils.c
		- (nm_utils_merge_ip4_config): update never-default when merging the
			IP4 setting to the IP4 config

	* src/NetworkManagerSystem.c
		- (nm_system_apply_ip4_config): if the connection is never-default,
			don't add routes without a gateway

	* src/NetworkManagerPolicy.c
		- (get_best_device): don't let never-default connections be the best
		- (update_routing_and_dns): handle never-default for VPN connections

	* system-settings/plugins/ifcfg-rh/reader.c
		- (make_ip4_setting): handle never-default by checking GATEWAYDEV



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/branches/NETWORKMANAGER_0_7@4378 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-12-09 20:01:49 +00:00
Dan Williams
ffdd6e2948 2008-12-05 Dan Williams <dcbw@redhat.com>
Patch from Michael Biebl  <mbiebl@gmail.com>

	* libnm-glib/Makefile.am
		- Bump libnm-glib revision to indicate new API
		- Give libnm-util version info

	* libnm-util/Makefile.am
		- Bump libnm-util soname to indicate API/ABI break with 0.6



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/branches/NETWORKMANAGER_0_7@4365 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-12-05 21:46:40 +00:00
Dan Williams
ad4d2baec9 Documentation updates
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4333 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-24 16:55:37 +00: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
f30fba23ee 2008-11-21 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo  <tambet@gmail.com>

	* configure.in
	  libnm-util/libnm-util.ver
	  libnm-util/nm-setting-8021x.c
	  libnm-util/nm-setting-8021x.h
		- Add configure-time option for the system CA path
		- Add 'system-ca-certs' option to 802.1x setting, which directs
			NetworkManager to use system CA certificates instead of any
			connection-defined CA certificates

	* src/supplicant-manager/nm-supplicant-config.c
	  src/supplicant-manager/nm-supplicant-settings-verify.c
		- Use system CA certificates if the connection says to do so



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4326 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-21 18:59:37 +00:00
Dan Williams
93f1c85b26 2008-11-20 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/nm-setting.c
	  libnm-util/nm-setting.h
		- (NMSettingValueIterFn): instead of just a gboolean for secrets, take
			all the GParamSpec flags of the property

	* system-settings/plugins/keyfile/nm-keyfile-connection.c
	  system-settings/plugins/keyfile/reader.c
	  system-settings/plugins/keyfile/writer.c
		- Update for NMSettingValueIterFn change



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4322 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-20 21:23:55 +00:00
Dan Williams
1f5394567d 2008-11-20 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-utils.c
	  libnm-util/nm-utils.h
		- More documentation updates



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4321 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-20 21:07: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
3bc8b0ca57 2008-11-20 Dan Williams <dcbw@redhat.com>
* libnm-util/Makefile.am
	  libnm-util/nm-utils-private.h
		- New header for internal utils private functions

	* libnm-util/libnm-util.ver
	  libnm-util/nm-utils.c
	  libnm-util/nm-utils.h
		- Document some functions
		- (nm_utils_string_in_list, nm_utils_string_list_contains,
		   nm_utils_string_slist_validate): un-export, only used within
			libnm-util or of limited use in general, and very easy to
			re-implement by apps if needed

	* libnm-util/nm-setting-8021x.c
	  libnm-util/nm-setting-wired.c
	  libnm-util/nm-setting-wireless-security.c
	  libnm-util/nm-setting-wireless.c
		- Update for private nm_utils_string_* functions



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4319 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-20 20:17:01 +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
07cccfebb7 Documentation updates
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4315 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-20 15:49:46 +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
9fd459f326 more documentation
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4310 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-20 12:33: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
c47cdcf0e7 2008-11-19 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting.h
	  libnm-util/nm-setting.c
	  src/nm-device.c
	  src/nm-manager.c
	  system-settings/plugins/ifcfg-fedora/plugin.c
		- Prefix compare flag defines with NM_SETTING_



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4299 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-19 16:20:47 +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
87452f1183 Fix undefined variable error on BE arches
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4293 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-14 23:04:06 +00:00
Dan Williams
543d9b995c 2008-11-13 Dan Williams <dcbw@redhat.com>
* libnm-util/crypto.c
		- (crypto_get_private_key_data): fix bad initial arg type checking
			from pkcs#12 patch



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4281 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-13 21:47:52 +00:00
Dan Williams
e2f65ce12a 2008-11-13 Dan Williams <dcbw@redhat.com>
Add support for PKCS#12 private keys (bgo #558982)

	* libnm-util/crypto.c
	  libnm-util/crypto.h
		- (parse_old_openssl_key_file): rename from parse_key_file(); adapt to
			take a GByteArray instead of a filename
		- (file_to_g_byte_array): handle private key files too
		- (decrypt_key): take a GByteArray rather than data + len
		- (crypto_get_private_key_data): refactor crypto_get_private_key() into
			one function that takes a filename, and one that takes raw data;
			detect pkcs#12 files as well
		- (crypto_load_and_verify_certificate): detect file type
		- (crypto_is_pkcs12_data, crypto_is_pkcs12_file): add pkcs#12 detection
			functions

	* libnm-util/crypto_gnutls.c
		- (crypto_decrypt): take GByteArray rather than data + len; fix a bug
			whereby tail padding was incorrectly handled, leading to erroneous
			successes when trying to decrypt the data
		- (crypto_verify_cert): rework somewhat
		- (crypto_verify_pkcs12): validate pkcs#12 keys

	* libnm-util/crypto_nss.c
		- (crypto_init): enable various pkcs#12 ciphers
		- (crypto_decrypt): take a GByteArray rather than data + len
		- (crypto_verify_cert): clean up
		- (crypto_verify_pkcs12): validate pkcs#12 keys

	* libnm-util/test-crypto.c
		- Handle pkcs#12 keys

	* libnm-util/nm-setting-8021x.c
	  libnm-util/nm-setting-8021x.h
	  libnm-util/libnm-util.ver
		- Add two new properties, 'private-key-password' and
			'phase2-private-key-password', to be used in conjunction with
			pkcs#12 keys
		- (nm_setting_802_1x_set_ca_cert_from_file,
		   nm_setting_802_1x_set_client_cert_from_file,
		   nm_setting_802_1x_set_phase2_ca_cert_from_file,
		   nm_setting_802_1x_set_phase2_client_from_file): return certificate
			type
		- (nm_setting_802_1x_get_private_key_password,
		   nm_setting_802_1x_get_phase2_private_key_password): return private
			key passwords
		- (nm_setting_802_1x_set_private_key_from_file,
		   nm_setting_802_1x_set_phase2_private_key_from_file): set the private
			key from a file, and update the private key password at the same time
		- (nm_setting_802_1x_get_private_key_type,
		   nm_setting_802_1x_get_phase2_private_key_type): return the private
			key type

	* src/supplicant-manager/nm-supplicant-settings-verify.c
		- Whitelist private key passwords

	* src/supplicant-manager/nm-supplicant-config.c
		- (nm_supplicant_config_add_setting_8021x): for pkcs#12 private keys,
			add the private key password to the supplicant config, but do not
			add the client certificate (as required by wpa_supplicant)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4280 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-13 21:19:08 +00:00
Dan Williams
26573a3599 2008-11-07 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-wireless.c
		- (nm_setting_wireless_get_seen_bssid): fix bug from accessor conversion
			that cased this function to return garbage, breaking hidden AP
			detection



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4278 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-07 15:55:08 +00:00
Dan Williams
bc971b799b Alphabetize route and address functions; whitelist nm_ip4_address_compare and nm_ip4_route_compare
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4270 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-06 04:00:52 +00:00
Tambet Ingo
98028869cb 2008-11-05 Tambet Ingo <tambet@gmail.com>
* libnm-util/nm-setting-8021x.c: Verify PEAP settings as well.

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4263 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-05 07:09:55 +00:00
Dan Williams
c647258f1b Fix IPv6 prefix length
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4241 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-30 21:02:26 +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