diff options
author | Volker Lendecke <vl@samba.org> | 2010-12-16 04:26:02 -0700 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2011-01-21 10:10:03 +0100 |
commit | 1c1a8420712a767df80a15e4b6fc9caa6027f145 (patch) | |
tree | 93d111769d403ee7234566bea527af3b3bdf0be3 | |
parent | d49d2032794c15c797d719eee102e3ba583013e3 (diff) | |
download | samba-1c1a8420712a767df80a15e4b6fc9caa6027f145.tar.gz samba-1c1a8420712a767df80a15e4b6fc9caa6027f145.tar.bz2 samba-1c1a8420712a767df80a15e4b6fc9caa6027f145.zip |
s3:vfs:shadow_copy2: Fix shadow-copy module for drag&drop from a snapshot
We have to return NT_STATUS_NOT_SAME_DEVICE to trigger the Windows client to
start a copy itself. Unbeknownst to us via the ACLs snapshots are read-only, so
a rename would trigger a EACCES. Unfortunately the MacOS/X finder does not do
the smart NOT_SAME_DEVICE fallback that Windows does.
-rw-r--r-- | source3/modules/vfs_shadow_copy2.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source3/modules/vfs_shadow_copy2.c b/source3/modules/vfs_shadow_copy2.c index 0393f30969..0f66f6a453 100644 --- a/source3/modules/vfs_shadow_copy2.c +++ b/source3/modules/vfs_shadow_copy2.c @@ -535,6 +535,10 @@ static int shadow_copy2_rename(vfs_handle_struct *handle, const struct smb_filename *smb_fname_src, const struct smb_filename *smb_fname_dst) { + if (shadow_copy2_match_name(smb_fname_src->base_name, NULL)) { + errno = EXDEV; + return -1; + } SHADOW2_NEXT2_SMB_FNAME(RENAME, (handle, smb_fname_src, smb_fname_dst)); } |