summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Zeuthen <davidz@redhat.com>2012-02-29 17:27:50 -0500
committerDavid Zeuthen <davidz@redhat.com>2012-02-29 17:27:50 -0500
commit9619d15f3dca99e061c05f893ef9c4f18e051fc8 (patch)
tree1d65ed3be36235e151d653e2b52a3a5d9f70057c
parentf96232a08bf1a294390f5f8875fbe9fb4d2a0a87 (diff)
downloadudisks-wip/iscsi.tar.gz
iscsi: Make job object for Login()/Logout() reference the iSCSITarget objectwip/iscsi
Signed-off-by: David Zeuthen <davidz@redhat.com>
-rw-r--r--src/udisksiscsiprovider.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/udisksiscsiprovider.c b/src/udisksiscsiprovider.c
index 004a9b9..ededa6c 100644
--- a/src/udisksiscsiprovider.c
+++ b/src/udisksiscsiprovider.c
@@ -629,14 +629,21 @@ on_iscsi_target_handle_login_logout (UDisksiSCSITarget *iface,
gint exit_status;
gchar *error_message = NULL;
GString *command_line = NULL;
+ UDisksObject *object = NULL;
+ GError *error;
gchar *s;
- error_message = NULL;
- command_line = NULL;
+ error = NULL;
+ object = udisks_daemon_util_dup_object (iface, &error);
+ if (object == NULL)
+ {
+ g_dbus_method_invocation_take_error (invocation, error);
+ goto out;
+ }
/* TODO: we want nicer authentication message */
if (!udisks_daemon_util_check_authorization_sync (provider->daemon,
- UDISKS_OBJECT (g_dbus_interface_get_object (G_DBUS_INTERFACE (iface))),
+ object,
"org.freedesktop.udisks2.iscsi-initiator.login-logout",
options,
is_login ?
@@ -671,7 +678,7 @@ on_iscsi_target_handle_login_logout (UDisksiSCSITarget *iface,
g_string_append (command_line, " --logout");
if (!udisks_daemon_launch_spawned_job_sync (provider->daemon,
- NULL, /* object */
+ object,
NULL, /* GCancellable */
0, /* uid_t run_as_uid */
0, /* uid_t run_as_euid */
@@ -708,6 +715,7 @@ on_iscsi_target_handle_login_logout (UDisksiSCSITarget *iface,
}
out:
+ g_clear_object (&object);
if (command_line != NULL)
g_string_free (command_line, TRUE);
g_free (error_message);