/// <summary> /// Create Trans response /// </summary> /// <param name="connection">the connection on which the response will be sent.</param> /// <param name="request">the corresponding request</param> /// <returns>the default response to the request.</returns> private SmbPacket CreateDefaultTransResponse( CifsServerPerConnection connection, SmbTransactionRequestPacket request) { SmbTransSetNmpipeStateRequestPacket setStateRequest = request as SmbTransSetNmpipeStateRequestPacket; SmbTransRawReadNmpipeRequestPacket rewReadRequest = request as SmbTransRawReadNmpipeRequestPacket; SmbTransQueryNmpipeStateRequestPacket queryStateRequest = request as SmbTransQueryNmpipeStateRequestPacket; SmbTransQueryNmpipeInfoRequestPacket queryInfoRequest = request as SmbTransQueryNmpipeInfoRequestPacket; SmbTransPeekNmpipeRequestPacket peekStateRequest = request as SmbTransPeekNmpipeRequestPacket; SmbTransTransactNmpipeRequestPacket transactRequest = request as SmbTransTransactNmpipeRequestPacket; SmbTransRawWriteNmpipeRequestPacket rawWriteRequest = request as SmbTransRawWriteNmpipeRequestPacket; SmbTransReadNmpipeRequestPacket readRequest = request as SmbTransReadNmpipeRequestPacket; SmbTransWriteNmpipeRequestPacket writeRequest = request as SmbTransWriteNmpipeRequestPacket; SmbTransCallNmpipeRequestPacket callRequest = request as SmbTransCallNmpipeRequestPacket; SmbTransRapRequestPacket rapRequest = request as SmbTransRapRequestPacket; SmbPacket response = null; if (setStateRequest != null) { response = this.CreateTransSetNmpipeStateSuccessResponse(connection, setStateRequest); } else if (rewReadRequest != null) { response = this.CreateTransRawReadNmpipeSuccessResponse(connection, rewReadRequest, new byte[0]); } else if (queryStateRequest != null) { response = this.CreateTransQueryNmpipeStateSuccessResponse(connection, queryStateRequest, SMB_NMPIPE_STATUS.Endpoint); } else if (queryInfoRequest != null) { response = this.CreateTransQueryNmpipeInfoSuccessResponse(connection, queryInfoRequest, 0x0, 0x0, 0x0, 0x0, @"\\Cifs\share"); } else if (peekStateRequest != null) { response = this.CreateTransPeekNmpipeSuccessResponse(connection, peekStateRequest, 0x0, 0x0, SMB_NMPIPE_STATUS.Endpoint, new byte[0]); } else if (transactRequest != null) { response = this.CreateTransTransactNmpipeSuccessResponse(connection, transactRequest, new byte[0]); } else if (rawWriteRequest != null) { response = this.CreateTransRawWriteNmpipeSuccessResponse(connection, rawWriteRequest); } else if (readRequest != null) { response = this.CreateTransReadNmpipeSuccessResponse(connection, readRequest, new byte[0]); } else if (writeRequest != null) { response = this.CreateTransWriteNmpipeSuccessResponse(connection, writeRequest); } else if (callRequest != null) { response = this.CreateTransCallNmpipeSuccessResponse(connection, callRequest, new byte[0]); } else if (rapRequest != null) { response = new SmbTransRapResponsePacket(); response.SmbHeader = CifsMessageUtils.CreateSmbHeader(connection, request); } return response; }
/// <summary> /// Deep copy constructor. /// </summary> public SmbTransRapResponsePacket(SmbTransRapResponsePacket packet) : base(packet) { }
/// <summary> /// Deep copy constructor. /// </summary> public SmbTransRapResponsePacket(SmbTransRapResponsePacket packet) : base(packet) { }