diff options
author | David Zeuthen <davidz@redhat.com> | 2012-02-29 17:27:50 -0500 |
---|---|---|
committer | David Zeuthen <davidz@redhat.com> | 2012-02-29 17:27:50 -0500 |
commit | 9619d15f3dca99e061c05f893ef9c4f18e051fc8 (patch) | |
tree | 1d65ed3be36235e151d653e2b52a3a5d9f70057c | |
parent | f96232a08bf1a294390f5f8875fbe9fb4d2a0a87 (diff) | |
download | udisks-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.c | 16 |
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); |