diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2008-09-16 07:54:49 +0200 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2008-09-16 07:54:49 +0200 |
commit | ec1c854f2175823bd1ad39c2e272d1b3fab80bf1 (patch) | |
tree | bb2946e678ce5f5e761f11299abca0179d65913a /source3/smbd/open.c | |
parent | 0016bc40918fb6de71c670b3dd93934690dcee4f (diff) | |
parent | 4dfa72423ef96b411e797eb1b5b4cb3ebd8e3d32 (diff) | |
download | samba-ec1c854f2175823bd1ad39c2e272d1b3fab80bf1.tar.gz samba-ec1c854f2175823bd1ad39c2e272d1b3fab80bf1.tar.bz2 samba-ec1c854f2175823bd1ad39c2e272d1b3fab80bf1.zip |
Merge branch 'master' of ssh://git.samba.org/data/git/samba into wmi
Diffstat (limited to 'source3/smbd/open.c')
-rw-r--r-- | source3/smbd/open.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 8b32907a4b..71191475b3 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -1852,7 +1852,8 @@ NTSTATUS open_file_ntcreate(connection_struct *conn, /* Handle strange delete on close create semantics. */ if ((create_options & FILE_DELETE_ON_CLOSE) - && (is_ntfs_stream_name(fname) + && (((conn->fs_capabilities & FILE_NAMED_STREAMS) + && is_ntfs_stream_name(fname)) || can_set_initial_delete_on_close(lck))) { status = can_set_delete_on_close(fsp, True, new_dos_attributes); @@ -2116,7 +2117,9 @@ NTSTATUS open_directory(connection_struct *conn, (unsigned int)create_disposition, (unsigned int)file_attributes)); - if (!(file_attributes & FILE_FLAG_POSIX_SEMANTICS) && is_ntfs_stream_name(fname)) { + if (!(file_attributes & FILE_FLAG_POSIX_SEMANTICS) && + (conn->fs_capabilities & FILE_NAMED_STREAMS) && + is_ntfs_stream_name(fname)) { DEBUG(2, ("open_directory: %s is a stream name!\n", fname)); return NT_STATUS_NOT_A_DIRECTORY; } @@ -2907,7 +2910,8 @@ NTSTATUS create_file(connection_struct *conn, * Check to see if this is a mac fork of some kind. */ - if (is_ntfs_stream_name(fname)) { + if ((conn->fs_capabilities & FILE_NAMED_STREAMS) && + is_ntfs_stream_name(fname)) { status = NT_STATUS_OBJECT_PATH_NOT_FOUND; goto fail; } |