diff options
author | Tomas Bzatek <tbzatek@src.gnome.org> | 2008-09-15 14:48:41 +0000 |
---|---|---|
committer | Tomas Bzatek <tbzatek@src.gnome.org> | 2008-09-15 14:48:41 +0000 |
commit | 77e270ed06726e115faf80243fc5c0e2fa00e165 (patch) | |
tree | 81f2e075fc2c604c068b24d8bb45f3f3399fdb89 | |
parent | 150c3d06b9ac7e49a0209194dc6533afc4c4c069 (diff) | |
download | gvfs-77e270ed06726e115faf80243fc5c0e2fa00e165.tar.gz |
Revert commit #1772. Set the information on the mount spec from the original URI.
svn path=/branches/gnome-2-24/; revision=1980
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | daemon/gvfsbackendsmb.c | 42 |
2 files changed, 29 insertions, 19 deletions
@@ -1,3 +1,9 @@ +2008-09-15 Tomas Bzatek <tbzatek@redhat.com> + + * daemon/gvfsbackendsmb.c: + Revert commit #1772. + Set the information on the mount spec from the original URI + 2008-09-15 Christian Kellner <gicmo@gnome.org> * client/gdaemonfile.c: diff --git a/daemon/gvfsbackendsmb.c b/daemon/gvfsbackendsmb.c index 7b5204e4..6eff57a9 100644 --- a/daemon/gvfsbackendsmb.c +++ b/daemon/gvfsbackendsmb.c @@ -515,6 +515,29 @@ do_mount (GVfsBackend *backend, op_backend->smb_context = smb_context; + /* Set the mountspec according to original uri, no matter whether user changes + credentials during mount loop. Nautilus and other gio clients depend + on correct mountspec, setting it to real (different) credentials would + lead to G_IO_ERROR_NOT_MOUNTED errors + */ + + /* Translators: This is "<sharename> on <servername>" and is used as name for an SMB share */ + display_name = g_strdup_printf (_("%s on %s"), op_backend->share, op_backend->server); + g_vfs_backend_set_display_name (backend, display_name); + g_free (display_name); + g_vfs_backend_set_icon_name (backend, "folder-remote"); + + smb_mount_spec = g_mount_spec_new ("smb-share"); + g_mount_spec_set (smb_mount_spec, "share", op_backend->share); + g_mount_spec_set (smb_mount_spec, "server", op_backend->server); + if (op_backend->user) + g_mount_spec_set (smb_mount_spec, "user", op_backend->user); + if (op_backend->domain) + g_mount_spec_set (smb_mount_spec, "domain", op_backend->domain); + + g_vfs_backend_set_mount_spec (backend, smb_mount_spec); + g_mount_spec_unref (smb_mount_spec); + uri = create_smb_uri (op_backend->server, op_backend->share, NULL); op_backend->mount_source = mount_source; @@ -553,25 +576,6 @@ do_mount (GVfsBackend *backend, /* Mount was successful */ - /* Translators: This is "<sharename> on <servername>" and is used as name for an SMB share */ - display_name = g_strdup_printf (_("%s on %s"), op_backend->share, op_backend->server); - g_vfs_backend_set_display_name (backend, display_name); - g_free (display_name); - g_vfs_backend_set_icon_name (backend, "folder-remote"); - - smb_mount_spec = g_mount_spec_new ("smb-share"); - g_mount_spec_set (smb_mount_spec, "share", op_backend->share); - g_mount_spec_set (smb_mount_spec, "server", op_backend->server); - if (op_backend->last_user && strlen(op_backend->last_user) > 0) - { - g_mount_spec_set (smb_mount_spec, "user", op_backend->last_user); - if (op_backend->last_domain) - g_mount_spec_set (smb_mount_spec, "domain", op_backend->last_domain); - } - - g_vfs_backend_set_mount_spec (backend, smb_mount_spec); - g_mount_spec_unref (smb_mount_spec); - g_vfs_keyring_save_password (op_backend->last_user, op_backend->server, op_backend->last_domain, |