From b40f6852866699080ce700013724bbc582c83329 Mon Sep 17 00:00:00 2001 From: Olga Kornievskaia Date: Fri, 23 Mar 2012 15:31:51 -0400 Subject: [PATCH] return not_supported for windows streams --- sys/nfs41_driver.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sys/nfs41_driver.c b/sys/nfs41_driver.c index 9b70244..4fab055 100644 --- a/sys/nfs41_driver.c +++ b/sys/nfs41_driver.c @@ -3283,6 +3283,19 @@ BOOLEAN isFilenameTooLong( return FALSE; } +BOOLEAN isStream( + PUNICODE_STRING name) +{ + LONG i; + PWCH p = name->Buffer; + for (i = 0; i < name->Length / 2; i++) { + if (p[0] == L':') return TRUE; + else if (p[0] == L'\0') return FALSE; + p++; + } + return FALSE; +} + BOOLEAN areOpenParamsValid(NT_CREATE_PARAMETERS *params) { /* from ms-fsa page 52 */ @@ -3409,6 +3422,11 @@ NTSTATUS nfs41_Create( goto out; } + if (isStream(SrvOpen->pAlreadyPrefixedName)) { + status = STATUS_NOT_SUPPORTED; + goto out; + } + if ((pVNetRootContext->read_only || ((params.FileAttributes & FILE_ATTRIBUTE_READONLY) && params.Disposition == FILE_OPEN)) &&