Server: SMB1: Increased MaxBufferSize to 65535

This commit is contained in:
Tal Aloni 2017-10-04 19:18:23 +03:00
parent 3234ed3138
commit 78aa93276a

View file

@ -19,16 +19,21 @@ namespace SMBLibrary.Server.SMB1
/// </summary> /// </summary>
internal class NegotiateHelper internal class NegotiateHelper
{ {
public const ushort ServerMaxMpxCount = 50;
public const ushort ServerNumberVcs = 1;
public const ushort ServerMaxBufferSize = 65535;
public const uint ServerMaxRawSize = 65536;
internal static NegotiateResponse GetNegotiateResponse(SMB1Header header, NegotiateRequest request, GSSProvider securityProvider, ConnectionState state) internal static NegotiateResponse GetNegotiateResponse(SMB1Header header, NegotiateRequest request, GSSProvider securityProvider, ConnectionState state)
{ {
NegotiateResponse response = new NegotiateResponse(); NegotiateResponse response = new NegotiateResponse();
response.DialectIndex = (ushort)request.Dialects.IndexOf(SMBServer.NTLanManagerDialect); response.DialectIndex = (ushort)request.Dialects.IndexOf(SMBServer.NTLanManagerDialect);
response.SecurityMode = SecurityMode.UserSecurityMode | SecurityMode.EncryptPasswords; response.SecurityMode = SecurityMode.UserSecurityMode | SecurityMode.EncryptPasswords;
response.MaxMpxCount = 50; response.MaxMpxCount = ServerMaxMpxCount;
response.MaxNumberVcs = 1; response.MaxNumberVcs = ServerNumberVcs;
response.MaxBufferSize = 16644; response.MaxBufferSize = ServerMaxBufferSize;
response.MaxRawSize = 65536; response.MaxRawSize = ServerMaxRawSize;
response.Capabilities = Capabilities.Unicode | response.Capabilities = Capabilities.Unicode |
Capabilities.LargeFiles | Capabilities.LargeFiles |
Capabilities.NTSMB | Capabilities.NTSMB |
@ -58,10 +63,10 @@ namespace SMBLibrary.Server.SMB1
NegotiateResponseExtended response = new NegotiateResponseExtended(); NegotiateResponseExtended response = new NegotiateResponseExtended();
response.DialectIndex = (ushort)request.Dialects.IndexOf(SMBServer.NTLanManagerDialect); response.DialectIndex = (ushort)request.Dialects.IndexOf(SMBServer.NTLanManagerDialect);
response.SecurityMode = SecurityMode.UserSecurityMode | SecurityMode.EncryptPasswords; response.SecurityMode = SecurityMode.UserSecurityMode | SecurityMode.EncryptPasswords;
response.MaxMpxCount = 50; response.MaxMpxCount = ServerMaxMpxCount;
response.MaxNumberVcs = 1; response.MaxNumberVcs = ServerNumberVcs;
response.MaxBufferSize = 16644; response.MaxBufferSize = ServerMaxBufferSize;
response.MaxRawSize = 65536; response.MaxRawSize = ServerMaxRawSize;
response.Capabilities = Capabilities.Unicode | response.Capabilities = Capabilities.Unicode |
Capabilities.LargeFiles | Capabilities.LargeFiles |
Capabilities.NTSMB | Capabilities.NTSMB |