private void ChannelOpenPortRequestReceived(object sender, OpenPortRequestEventArgs e)
        {
            var rule = Bootstrapper.Configuration.GetRuleFromTcpPort(e.Request.PortToOpen);

            if (rule == null)
            {
                Log.Error("Received message from unknown port {port} - Check firewall because it should be closed received from ip {ip}", e.Request.PortToOpen, e.Request.IpAddress);
                return;
            }
            Log.Information("Checking udp message in port {port} bound to rule for tcp port {tcpport} received from ip {ip}", e.Request.PortToOpen, rule.TcpPort, e.Request.IpAddress);
            if (rule.TcpPort != e.Request.PortToOpen)
            {
                Log.Error("Received wrong requesto to open port {port} bound to rule for tcp port {tcpport} received from ip {ip}", e.Request.PortToOpen, rule.TcpPort, e.Request.IpAddress);
                return;
            }

            Log.Information("CORRECT! udp message in port {port} bound to rule for tcp port {tcpport} received from ip {ip}", e.Request.PortToOpen, rule.TcpPort, e.Request.IpAddress);
            Sealer.OpenPortWithTimeout(rule.TcpPort, IPEndPoint.Parse(e.Request.IpAddress), new DateTime(Math.Min(e.Request.EndOpeningDate.Ticks, DateTime.Now.AddHours(4).Ticks)));
        }
Beispiel #2
0
 private void DataReceived(object sender, OpenPortRequestEventArgs e)
 {
     ReceivedRequest = e.Request;
 }