update sharpcifs

This commit is contained in:
Luke Pulverenti
2017-07-07 23:12:21 -04:00
parent a30e22c3a2
commit 0d10dfe471
221 changed files with 23704 additions and 25614 deletions

View File

@@ -18,81 +18,80 @@ using System;
namespace SharpCifs.Smb
{
internal class TransCallNamedPipe : SmbComTransaction
{
private byte[] _pipeData;
internal class TransCallNamedPipe : SmbComTransaction
{
private byte[] _pipeData;
private int _pipeDataOff;
private int _pipeDataOff;
private int _pipeDataLen;
private int _pipeDataLen;
internal TransCallNamedPipe(string pipeName, byte[] data, int off, int len)
{
Name = pipeName;
_pipeData = data;
_pipeDataOff = off;
_pipeDataLen = len;
Command = SmbComTransaction;
SubCommand = TransCallNamedPipe;
Timeout = unchecked((int)(0xFFFFFFFF));
MaxParameterCount = 0;
MaxDataCount = unchecked(0xFFFF);
MaxSetupCount = unchecked(unchecked(0x00));
SetupCount = 2;
}
internal TransCallNamedPipe(string pipeName, byte[] data, int off, int len)
{
Name = pipeName;
_pipeData = data;
_pipeDataOff = off;
_pipeDataLen = len;
Command = SmbComTransaction;
SubCommand = TransCallNamedPipe;
Timeout = unchecked((int)(0xFFFFFFFF));
MaxParameterCount = 0;
MaxDataCount = unchecked(0xFFFF);
MaxSetupCount = unchecked(unchecked(0x00));
SetupCount = 2;
}
internal override int WriteSetupWireFormat(byte[] dst, int dstIndex)
{
dst[dstIndex++] = SubCommand;
dst[dstIndex++] = unchecked(unchecked(0x00));
// this says "Transaction priority" in netmon
dst[dstIndex++] = unchecked(unchecked(0x00));
// no FID
dst[dstIndex++] = unchecked(unchecked(0x00));
return 4;
}
internal override int WriteSetupWireFormat(byte[] dst, int dstIndex)
{
dst[dstIndex++] = SubCommand;
dst[dstIndex++] = unchecked(unchecked(0x00));
// this says "Transaction priority" in netmon
dst[dstIndex++] = unchecked(unchecked(0x00));
// no FID
dst[dstIndex++] = unchecked(unchecked(0x00));
return 4;
}
internal override int ReadSetupWireFormat(byte[] buffer, int bufferIndex, int len)
{
return 0;
}
internal override int ReadSetupWireFormat(byte[] buffer, int bufferIndex, int len
)
{
return 0;
}
internal override int WriteParametersWireFormat(byte[] dst, int dstIndex)
{
return 0;
}
internal override int WriteParametersWireFormat(byte[] dst, int dstIndex)
{
return 0;
}
internal override int WriteDataWireFormat(byte[] dst, int dstIndex)
{
if ((dst.Length - dstIndex) < _pipeDataLen)
{
if (Log.Level >= 3)
{
Log.WriteLine("TransCallNamedPipe data too long for buffer");
}
return 0;
}
Array.Copy(_pipeData, _pipeDataOff, dst, dstIndex, _pipeDataLen);
return _pipeDataLen;
}
internal override int WriteDataWireFormat(byte[] dst, int dstIndex)
{
if ((dst.Length - dstIndex) < _pipeDataLen)
{
if (Log.Level >= 3)
{
Log.WriteLine("TransCallNamedPipe data too long for buffer");
}
return 0;
}
Array.Copy(_pipeData, _pipeDataOff, dst, dstIndex, _pipeDataLen);
return _pipeDataLen;
}
internal override int ReadParametersWireFormat(byte[] buffer,
int bufferIndex,
int len)
{
return 0;
}
internal override int ReadParametersWireFormat(byte[] buffer, int bufferIndex, int
len)
{
return 0;
}
internal override int ReadDataWireFormat(byte[] buffer, int bufferIndex, int len)
{
return 0;
}
internal override int ReadDataWireFormat(byte[] buffer, int bufferIndex, int len)
{
return 0;
}
public override string ToString()
{
return "TransCallNamedPipe["
+ base.ToString()
+ ",pipeName=" + Name + "]";
}
}
public override string ToString()
{
return "TransCallNamedPipe[" + base.ToString() + ",pipeName=" + Name +
"]";
}
}
}