protected override Socket CreateSocket(IPcb pcb)
 {
     if (pcb == null)
     {
         return(null);
     }
     return(this.m_tun2socks.CreateSocket(pcb));
 }
        public override bool BeginAccept(IPcb pcb)
        {
            if (!base.BeginAccept(pcb))
            {
                return(false);
            }

            IPEndPoint server = (IPEndPoint)pcb.RemoteEndPoint;

            if (IPEndPoint.MinPort >= server.Port || server.Port > IPEndPoint.MaxPort)
            {
                return(false);
            }

            if (server.AddressFamily != AddressFamily.InterNetwork)
            {
                return(false);
            }

            return(true);
        }
Пример #3
0
 protected internal virtual TUN2SocksSocket CreateSocket(IPcb pcb)
 {
     return(new TUN2SocksSocket(this, pcb));
 }
Пример #4
0
 public TUN2SocksSocket(TUN2Socks tun2socks, IPcb pcb) : base(pcb)
 {
     this.m_tun2socks = tun2socks ?? throw new ArgumentNullException(nameof(tun2socks));
 }