NetworkManager r3892 - in trunk: . libnm-util



Author: dcbw
Date: Mon Aug  4 19:17:10 2008
New Revision: 3892
URL: http://svn.gnome.org/viewvc/NetworkManager?rev=3892&view=rev

Log:
2008-08-04  Dan Williams  <dcbw redhat com>

	* libnm-util/nm-setting-cdma.c
	  libnm-util/nm-setting-gsm.c
		- (verify): validate username & password if they exist
		- (need_secrets): if username given, require a password too



Modified:
   trunk/ChangeLog
   trunk/libnm-util/nm-setting-cdma.c
   trunk/libnm-util/nm-setting-gsm.c

Modified: trunk/libnm-util/nm-setting-cdma.c
==============================================================================
--- trunk/libnm-util/nm-setting-cdma.c	(original)
+++ trunk/libnm-util/nm-setting-cdma.c	Mon Aug  4 19:17:10 2008
@@ -117,9 +117,42 @@
 		return FALSE;
 	}
 
+	if (self->username && !strlen (self->username)) {
+		g_set_error (error,
+		             NM_SETTING_CDMA_ERROR,
+		             NM_SETTING_CDMA_ERROR_INVALID_PROPERTY,
+		             NM_SETTING_CDMA_USERNAME);
+		return FALSE;
+	}
+
+	if (self->password && !strlen (self->password)) {
+		g_set_error (error,
+		             NM_SETTING_CDMA_ERROR,
+		             NM_SETTING_CDMA_ERROR_INVALID_PROPERTY,
+		             NM_SETTING_CDMA_PASSWORD);
+		return FALSE;
+	}
+
 	return TRUE;
 }
 
+static GPtrArray *
+need_secrets (NMSetting *setting)
+{
+	NMSettingCdma *self = NM_SETTING_CDMA (setting);
+	GPtrArray *secrets = NULL;
+
+	if (self->password)
+		return NULL;
+
+	if (self->username) {
+		secrets = g_ptr_array_sized_new (1);
+		g_ptr_array_add (secrets, NM_SETTING_CDMA_PASSWORD);
+	}
+
+	return secrets;
+}
+
 static void
 nm_setting_cdma_init (NMSettingCdma *setting)
 {
@@ -196,6 +229,7 @@
 	object_class->get_property = get_property;
 	object_class->finalize     = finalize;
 	parent_class->verify       = verify;
+	parent_class->need_secrets = need_secrets;
 
 	/* Properties */
 	g_object_class_install_property

Modified: trunk/libnm-util/nm-setting-gsm.c
==============================================================================
--- trunk/libnm-util/nm-setting-gsm.c	(original)
+++ trunk/libnm-util/nm-setting-gsm.c	Mon Aug  4 19:17:10 2008
@@ -133,9 +133,42 @@
 		return FALSE;
 	}
 
+	if (self->username && !strlen (self->username)) {
+		g_set_error (error,
+		             NM_SETTING_GSM_ERROR,
+		             NM_SETTING_GSM_ERROR_INVALID_PROPERTY,
+		             NM_SETTING_GSM_USERNAME);
+		return FALSE;
+	}
+
+	if (self->password && !strlen (self->password)) {
+		g_set_error (error,
+		             NM_SETTING_GSM_ERROR,
+		             NM_SETTING_GSM_ERROR_INVALID_PROPERTY,
+		             NM_SETTING_GSM_USERNAME);
+		return FALSE;
+	}
+
 	return TRUE;
 }
 
+static GPtrArray *
+need_secrets (NMSetting *setting)
+{
+	NMSettingGsm *self = NM_SETTING_GSM (setting);
+	GPtrArray *secrets = NULL;
+
+	if (self->password)
+		return NULL;
+
+	if (self->username) {
+		secrets = g_ptr_array_sized_new (1);
+		g_ptr_array_add (secrets, NM_SETTING_GSM_PASSWORD);
+	}
+
+	return secrets;
+}
+
 static void
 nm_setting_gsm_init (NMSettingGsm *setting)
 {
@@ -256,6 +289,7 @@
 	object_class->get_property = get_property;
 	object_class->finalize     = finalize;
 	parent_class->verify       = verify;
+	parent_class->need_secrets = need_secrets;
 
 	/* Properties */
 	g_object_class_install_property



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]