diff options
author | Andrew Bartlett <abartlet@samba.org> | 2008-07-16 14:00:18 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2008-07-16 14:00:18 +1000 |
commit | 502739ff90d56d2c9aabe8e224317f6ceb175c17 (patch) | |
tree | f707a0111ba51aa26dc70cb45ad0dfca0abd33ee /source/ntvfs | |
parent | f13572d9e9f1962b637cbd573588184d1459d252 (diff) | |
download | samba-502739ff90d56d2c9aabe8e224317f6ceb175c17.tar.gz |
Ignore and handle more NT Create & X options.
The MS-SMB document explains that some of these options should be
ignored. The test proves it.
/* Must be ignored by the server, per MS-SMB 2.2.8 */
/* Must be ignored by the server, per MS-SMB 2.2.8 */
If we implement HSM in samba4 (likely) we should honour this bit.
/* Don't pull this file off tape in a HSM system */
Andrew Bartlett
Diffstat (limited to 'source/ntvfs')
-rw-r--r-- | source/ntvfs/posix/pvfs_open.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/source/ntvfs/posix/pvfs_open.c b/source/ntvfs/posix/pvfs_open.c index 43203086f87..5302fc3f509 100644 --- a/source/ntvfs/posix/pvfs_open.c +++ b/source/ntvfs/posix/pvfs_open.c @@ -1206,11 +1206,22 @@ NTSTATUS pvfs_open(struct ntvfs_module_context *ntvfs, return NT_STATUS_INVALID_PARAMETER; } - /* some create options are not supported */ if (create_options & NTCREATEX_OPTIONS_NOT_SUPPORTED_MASK) { return NT_STATUS_NOT_SUPPORTED; } + /* TODO: When we implement HSM, add a hook here not to pull + * the actual file off tape, when this option is passed from + * the client */ + if (create_options & NTCREATEX_OPTIONS_NO_RECALL) { + /* no-op */ + } + + /* These options are ignored */ + if (create_options & (NTCREATEX_OPTIONS_FREE_SPACE_QUERY | NTCREATEX_OPTIONS_OPFILTER)) { + /* no-op */ + } + /* other create options are not allowed */ if ((create_options & NTCREATEX_OPTIONS_DELETE_ON_CLOSE) && !(access_mask & SEC_STD_DELETE)) { |