From eae394355671c31257f4a6f910030b002b183c39 Mon Sep 17 00:00:00 2001 From: Gang Zhuo Date: Sat, 19 Sep 2015 13:51:32 +0800 Subject: [PATCH] reserve buffer for one-time auth --- shadowsocks-csharp/Controller/Service/TCPRelay.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/shadowsocks-csharp/Controller/Service/TCPRelay.cs b/shadowsocks-csharp/Controller/Service/TCPRelay.cs index 64535644..86907f9a 100644 --- a/shadowsocks-csharp/Controller/Service/TCPRelay.cs +++ b/shadowsocks-csharp/Controller/Service/TCPRelay.cs @@ -93,17 +93,18 @@ namespace Shadowsocks.Controller private int _firstPacketLength; // Size of receive buffer. public const int RecvSize = 8192; - public const int BufferSize = RecvSize + (RecvSize / IVEncryptor.CRC_BUF_LEN + 1) * IVEncryptor.CRC_BYTES + 48; + public const int RecvReserveSize = (RecvSize / IVEncryptor.CRC_BUF_LEN + 1) * IVEncryptor.CRC_BYTES + 16; // reserve for one-time auth + public const int BufferSize = RecvSize + RecvReserveSize + 32; private int totalRead = 0; private int totalWrite = 0; // remote receive buffer - private byte[] remoteRecvBuffer = new byte[RecvSize]; + private byte[] remoteRecvBuffer = new byte[BufferSize]; // remote send buffer private byte[] remoteSendBuffer = new byte[BufferSize]; // connection receive buffer - private byte[] connetionRecvBuffer = new byte[RecvSize]; + private byte[] connetionRecvBuffer = new byte[BufferSize]; // connection send buffer private byte[] connetionSendBuffer = new byte[BufferSize]; // Received data string.