summaryrefslogtreecommitdiff
path: root/source/ntvfs
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2008-07-16 14:00:18 +1000
committerAndrew Bartlett <abartlet@samba.org>2008-07-16 14:00:18 +1000
commit502739ff90d56d2c9aabe8e224317f6ceb175c17 (patch)
treef707a0111ba51aa26dc70cb45ad0dfca0abd33ee /source/ntvfs
parentf13572d9e9f1962b637cbd573588184d1459d252 (diff)
downloadsamba-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.c13
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)) {