Exemplo n.º 1
0
    private void PerformHandshake()
    {
        PacketWriter handshake = HandshakePacket.Handshake(VERSION, Riv, Siv, BLOCK_IV, Type, HANDSHAKE_SIZE);

        // No encryption for handshake
        using PoolPacketWriter packet = SendCipher.WriteHeader(handshake.Buffer, 0, handshake.Length);
        Logger.Debug($"Handshake: {packet}");
        SendRaw(packet);
    }
Exemplo n.º 2
0
        public PoolPacketWriter Encrypt(byte[] packet, int offset, int length)
        {
            PoolPacketWriter result = WriteHeader(packet, offset, length);

            foreach (ICrypter crypter in EncryptSeq)
            {
                crypter.Encrypt(result.Buffer, HEADER_SIZE, HEADER_SIZE + length);
            }

            return(result);
        }
Exemplo n.º 3
0
    private void SendInternal(PacketWriter packet, int length)
    {
        if (Disposed)
        {
            return;
        }

        LogSend(packet);
        lock (SendCipher)
        {
            using PoolPacketWriter encryptedPacket = SendCipher.Encrypt(packet.Buffer, 0, length);
            SendRaw(encryptedPacket);
        }
    }