Beispiel #1
0
        public void AddBlacklistedPeer_ShouldReturnFalse()
        {
            IPAddress ipAddress = IPAddress.Parse("12.34.56.67");

            _blackListProvider.AddIpToBlackList(ipAddress);
            _peerPool.AddHandshakingPeer(ipAddress, "somePubKey").ShouldBeFalse();
        }
        public async Task AddPeerAsync_CannotAddBlacklistedPeer()
        {
            var endpoint = IpEndPointHelper.Parse("127.0.0.1:5000");
            var address  = endpoint.Address;

            _blackListProvider.AddIpToBlackList(address);

            (await _networkService.AddPeerAsync(endpoint.ToString())).ShouldBeFalse();
        }
        public async Task AddPeerToBlacklist_ShouldTimeout()
        {
            var ipAddress = IPAddress.Parse("127.0.0.1");

            _blackListProvider.AddIpToBlackList(ipAddress);
            _blackListProvider.IsIpBlackListed(ipAddress).ShouldBeTrue();

            await Task.Delay(TimeSpan.FromSeconds(2));

            _blackListProvider.IsIpBlackListed(ipAddress).ShouldBeFalse();
        }
Beispiel #4
0
        public async Task <bool> RemovePeerByPubkeyAsync(string peerPubKey, bool blacklistPeer = false)
        {
            var peer = _peerPool.FindPeerByPublicKey(peerPubKey);

            if (peer == null)
            {
                Logger.LogWarning($"Could not find peer: {peerPubKey}");
                return(false);
            }

            if (blacklistPeer)
            {
                _blackListedPeerProvider.AddIpToBlackList(peer.RemoteEndpoint.Address);
                Logger.LogDebug($"Blacklisted {peer.RemoteEndpoint.Address} ({peerPubKey})");
            }

            await _networkServer.DisconnectAsync(peer);

            return(true);
        }