summary refs log tree commit diff
path: root/src/settings/nm-secret-agent.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings/nm-secret-agent.c')
-rw-r--r--src/settings/nm-secret-agent.c36
1 files changed, 21 insertions, 15 deletions
diff --git a/src/settings/nm-secret-agent.c b/src/settings/nm-secret-agent.c
index 74bd9b2f..d7172c63 100644
--- a/src/settings/nm-secret-agent.c
+++ b/src/settings/nm-secret-agent.c
@@ -14,7 +14,7 @@
 #include "nm-glib-aux/nm-dbus-aux.h"
 #include "nm-dbus-interface.h"
 #include "nm-core-internal.h"
-#include "nm-auth-subject.h"
+#include "nm-libnm-core-intern/nm-auth-subject.h"
 #include "nm-simple-connection.h"
 #include "NetworkManagerUtils.h"
 #include "c-list/src/c-list.h"
@@ -34,33 +34,28 @@ enum {
 
 static guint signals[LAST_SIGNAL] = { 0 };
 
-typedef struct {
+typedef struct _NMSecretAgentPrivate {
 	CList permissions;
+	CList requests;
+	GDBusConnection *dbus_connection;
 	char *description;
 	NMAuthSubject *subject;
 	char *identifier;
 	char *owner_username;
 	char *dbus_owner;
-	GDBusConnection *dbus_connection;
 	GCancellable *name_owner_cancellable;
-	CList requests;
-	NMSecretAgentCapabilities capabilities;
 	guint name_owner_changed_id;
+	NMSecretAgentCapabilities capabilities;
 	bool shutdown_wait_obj_registered:1;
 } NMSecretAgentPrivate;
 
-struct _NMSecretAgent {
-	GObject parent;
-	NMSecretAgentPrivate _priv;
-};
-
 struct _NMSecretAgentClass {
 	GObjectClass parent;
 };
 
 G_DEFINE_TYPE (NMSecretAgent, nm_secret_agent, G_TYPE_OBJECT)
 
-#define NM_SECRET_AGENT_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMSecretAgent, NM_IS_SECRET_AGENT)
+#define NM_SECRET_AGENT_GET_PRIVATE(self) _NM_GET_PRIVATE_PTR (self, NMSecretAgent, NM_IS_SECRET_AGENT)
 
 /*****************************************************************************/
 
@@ -112,7 +107,8 @@ G_DEFINE_TYPE (NMSecretAgent, nm_secret_agent, G_TYPE_OBJECT)
 
 /*****************************************************************************/
 
-NM_UTILS_FLAGS2STR_DEFINE_STATIC (_capabilities_to_string, NMSecretAgentCapabilities,
+static
+NM_UTILS_FLAGS2STR_DEFINE (_capabilities_to_string, NMSecretAgentCapabilities,
 	NM_UTILS_FLAGS2STR (NM_SECRET_AGENT_CAPABILITY_NONE,      "none"),
 	NM_UTILS_FLAGS2STR (NM_SECRET_AGENT_CAPABILITY_VPN_HINTS, "vpn-hints"),
 );
@@ -375,7 +371,7 @@ _dbus_call_cb (GObject *source,
 	ret = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
 
 	if (   !ret
-	    && nm_utils_error_is_cancelled (error, FALSE))
+	    && nm_utils_error_is_cancelled (error))
 		return;
 
 	call_id = user_data;
@@ -709,7 +705,8 @@ nm_secret_agent_new (GDBusMethodInvocation *context,
 
 	g_return_val_if_fail (context != NULL, NULL);
 	g_return_val_if_fail (NM_IS_AUTH_SUBJECT (subject), NULL);
-	g_return_val_if_fail (nm_auth_subject_is_unix_process (subject), NULL);
+	g_return_val_if_fail (nm_auth_subject_get_subject_type (subject)
+	                      == NM_AUTH_SUBJECT_TYPE_UNIX_PROCESS, NULL);
 	g_return_val_if_fail (identifier != NULL, NULL);
 
 	dbus_connection = g_dbus_method_invocation_get_connection (context);
@@ -764,8 +761,13 @@ nm_secret_agent_new (GDBusMethodInvocation *context,
 static void
 nm_secret_agent_init (NMSecretAgent *self)
 {
-	NMSecretAgentPrivate *priv = NM_SECRET_AGENT_GET_PRIVATE (self);
+	NMSecretAgentPrivate *priv;
 
+	priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NM_TYPE_SECRET_AGENT, NMSecretAgentPrivate);
+
+	self->_priv = priv;
+
+	c_list_init (&self->agent_lst);
 	c_list_init (&priv->permissions);
 	c_list_init (&priv->requests);
 }
@@ -776,6 +778,8 @@ dispose (GObject *object)
 	NMSecretAgent *self = NM_SECRET_AGENT (object);
 	NMSecretAgentPrivate *priv = NM_SECRET_AGENT_GET_PRIVATE (self);
 
+	nm_assert (c_list_is_empty (&self->agent_lst));
+	nm_assert (!self->auth_chain);
 	nm_assert (c_list_is_empty (&priv->requests));
 
 	nm_clear_g_dbus_connection_signal (priv->dbus_connection,
@@ -813,6 +817,8 @@ nm_secret_agent_class_init (NMSecretAgentClass *config_class)
 {
 	GObjectClass *object_class = G_OBJECT_CLASS (config_class);
 
+	g_type_class_add_private (object_class, sizeof (NMSecretAgentPrivate));
+
 	object_class->dispose = dispose;
 	object_class->finalize = finalize;