mirror of
https://github.com/TalAloni/SMBLibrary.git
synced 2025-05-15 17:06:59 +02:00
Improved compatibility with Windows Native API
This commit is contained in:
parent
917f7f40f1
commit
25d1714fe7
2 changed files with 6 additions and 2 deletions
|
@ -40,7 +40,9 @@ namespace SMBLibrary.Server.SMB1
|
|||
object handle;
|
||||
FileStatus fileStatus;
|
||||
FileAttributes fileAttributes = ToFileAttributes(request.ExtFileAttributes);
|
||||
NTStatus createStatus = share.FileStore.CreateFile(out handle, out fileStatus, path, request.DesiredAccess, fileAttributes, request.ShareAccess, request.CreateDisposition, request.CreateOptions, session.SecurityContext);
|
||||
// GetFileInformation/FileNetworkOpenInformation requires FILE_READ_ATTRIBUTES
|
||||
FileAccessMask desiredAccess = request.DesiredAccess | FileAccessMask.FILE_READ_ATTRIBUTES;
|
||||
NTStatus createStatus = share.FileStore.CreateFile(out handle, out fileStatus, path, desiredAccess, fileAttributes, request.ShareAccess, request.CreateDisposition, request.CreateOptions, session.SecurityContext);
|
||||
if (createStatus != NTStatus.STATUS_SUCCESS)
|
||||
{
|
||||
state.LogToServer(Severity.Verbose, "Create: Opening '{0}{1}' failed. NTStatus: {2}.", share.Name, path, createStatus);
|
||||
|
|
|
@ -35,7 +35,9 @@ namespace SMBLibrary.Server.SMB2
|
|||
|
||||
object handle;
|
||||
FileStatus fileStatus;
|
||||
NTStatus createStatus = share.FileStore.CreateFile(out handle, out fileStatus, path, request.DesiredAccess, request.FileAttributes, request.ShareAccess, request.CreateDisposition, request.CreateOptions, session.SecurityContext);
|
||||
// GetFileInformation/FileNetworkOpenInformation requires FILE_READ_ATTRIBUTES
|
||||
AccessMask desiredAccess = request.DesiredAccess.File | FileAccessMask.FILE_READ_ATTRIBUTES;
|
||||
NTStatus createStatus = share.FileStore.CreateFile(out handle, out fileStatus, path, desiredAccess, request.FileAttributes, request.ShareAccess, request.CreateDisposition, request.CreateOptions, session.SecurityContext);
|
||||
if (createStatus != NTStatus.STATUS_SUCCESS)
|
||||
{
|
||||
state.LogToServer(Severity.Verbose, "Create: Opening '{0}{1}' failed. NTStatus: {2}.", share.Name, path, createStatus);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue