Esempio n. 1
0
        public void ReadFromBuffer(STUNAttr attr)
        {
            var buffer = attr.data;

            buffer.GetByte();
            family = (AddressFamily)buffer.GetByte();

            // XOR
            port = buffer.GetUShort();
            if (AddressFamily.IPv4 == family)
            {
                ipv4.Read(ref buffer);
            }
            else
            {
                ipv6.Read(ref buffer);
            }

            port ^= attr.stunMessage.GetUShort(4);
            if (AddressFamily.IPv4 == family)
            {
                ipv4.bits ^= attr.stunMessage.GetUInt(4);
            }
            else
            {
                ipv6.msb ^= attr.stunMessage.GetULong(4);
                ipv6.lsb ^= attr.stunMessage.GetULong(12);
            }
        }
Esempio n. 2
0
        public void ReadFromBuffer(STUNAttr attr)
        {
            var buffer = attr.data;

            buffer.GetByte();
            family = (AddressFamily)buffer.GetByte();
            port   = buffer.GetUShort();

            if (AddressFamily.IPv4 == family)
            {
                ipv4.Read(ref buffer);
            }
            else
            {
                ipv6.Read(ref buffer);
            }
        }