Browse Source

spare enough space for UDP packet

tags/4.0.1
Syrone Wong 8 years ago
parent
commit
877644609b
3 changed files with 4 additions and 4 deletions
  1. +2
    -2
      shadowsocks-csharp/Controller/Service/UDPRelay.cs
  2. +1
    -1
      shadowsocks-csharp/Encryption/AEAD/AEADEncryptor.cs
  3. +1
    -1
      shadowsocks-csharp/Encryption/Stream/StreamEncryptor.cs

+ 2
- 2
shadowsocks-csharp/Controller/Service/UDPRelay.cs View File

@@ -53,7 +53,7 @@ namespace Shadowsocks.Controller
private Socket _remote;
private Server _server;
private byte[] _buffer = new byte[1500];
private byte[] _buffer = new byte[65536];
private IPEndPoint _localEndPoint;
private IPEndPoint _remoteEndPoint;
@@ -81,7 +81,7 @@ namespace Shadowsocks.Controller
IEncryptor encryptor = EncryptorFactory.GetEncryptor(_server.method, _server.password);
byte[] dataIn = new byte[length - 3];
Array.Copy(data, 3, dataIn, 0, length - 3);
byte[] dataOut = new byte[length - 3 + 16];
byte[] dataOut = new byte[65536]; // enough space for AEAD ciphers
int outlen;
encryptor.EncryptUDP(dataIn, length - 3, dataOut, out outlen);
Logging.Debug(_localEndPoint, _remoteEndPoint, outlen, "UDP Relay");


+ 1
- 1
shadowsocks-csharp/Encryption/AEAD/AEADEncryptor.cs View File

@@ -18,7 +18,7 @@ namespace Shadowsocks.Encryption.AEAD
private static readonly byte[] InfoBytes = Encoding.ASCII.GetBytes(Info);
// for UDP only
protected static byte[] _udpTmpBuf = new byte[MAX_INPUT_SIZE];
protected static byte[] _udpTmpBuf = new byte[65536];
// every connection should create its own buffer
private CircularBuffer<byte> _encCircularBuffer = new CircularBuffer<byte>(MAX_INPUT_SIZE * 2, false);


+ 1
- 1
shadowsocks-csharp/Encryption/Stream/StreamEncryptor.cs View File

@@ -11,7 +11,7 @@ namespace Shadowsocks.Encryption.Stream
: EncryptorBase
{
// for UDP only
protected static byte[] _udpTmpBuf = new byte[MAX_INPUT_SIZE];
protected static byte[] _udpTmpBuf = new byte[65536];
// every connection should create its own buffer
private CircularBuffer<byte> _encCircularBuffer = new CircularBuffer<byte>(TCPHandler.BufferSize * 2, false);


Loading…
Cancel
Save