public void NegativeIPv4NetworkLengthShouldNotBeParsed()
        {
            bool parsed = IpNetworkParser.TryParse("127.0.0.1/-1", out IPNetwork? network);

            Assert.False(parsed);
            Assert.Null(network);
        }
        public void NullAddressShouldNotBeParsed()
        {
            bool parsed = IpNetworkParser.TryParse(null, out IPNetwork? network);

            Assert.False(parsed);
            Assert.Null(network);
        }
        public void MissingSeparatorShouldNotBeParsed()
        {
            bool parsed = IpNetworkParser.TryParse("127.0.0.1", out IPNetwork? network);

            Assert.False(parsed);
            Assert.Null(network);
        }
        public void Ipv4NetworkOutOfRangeLengthShouldNotBeParsed()
        {
            bool parsed = IpNetworkParser.TryParse("127.0.0.1/33", out IPNetwork? network);

            Assert.False(parsed);
            Assert.Null(network);
        }
        public void InvalidIpv4AddressShouldNotBeParsed()
        {
            bool parsed = IpNetworkParser.TryParse("256.0.0.1/32", out IPNetwork? network);

            Assert.False(parsed);
            Assert.Null(network);
        }
        public void DoubleSeparatorsShouldNotBeParsed()
        {
            bool parsed = IpNetworkParser.TryParse("127.0.0.1//32", out IPNetwork? network);

            Assert.False(parsed);
            Assert.Null(network);
        }
Ejemplo n.º 7
0
        public DefaultAuthorizationHandler(
            IKeyValueConfiguration keyValueConfiguration,
            ILogger logger,
            IEnumerable <AllowedEmail> allowedEmails,
            IEnumerable <AllowedEmailDomain> allowedEmailDomains)
        {
            _logger = logger;
            _allowedEmailDomains = allowedEmailDomains.SafeToImmutableArray();
            _allowedEmails       = allowedEmails.SafeToImmutableArray();

            IPAddress[] ipAddressesFromConfig = keyValueConfiguration[DeployerAppConstants.AllowedIPs]
                                                .Split(',', StringSplitOptions.RemoveEmptyEntries)
                                                .Select(IPAddress.Parse)
                                                .ToArray();

            IPNetwork[] ipNetworksFromConfig = keyValueConfiguration[DeployerAppConstants.AllowedIpNetworks]
                                               .Split(',', StringSplitOptions.RemoveEmptyEntries)
                                               .Select(network => (HasValue: IpNetworkParser.TryParse(network, out var ipNetwork), ipNetwork))
                                               .Where(network => network.HasValue)
                                               .Select(network => network.ipNetwork !)
                                               .ToArray();

            _allowedNetworks = ipNetworksFromConfig.ToImmutableHashSet();

            _allowed = new HashSet <IPAddress> {
                IPAddress.Parse("::1"), IPAddress.Parse("127.0.0.1")
            };

            foreach (IPAddress address in ipAddressesFromConfig)
            {
                _allowed.Add(address);
            }
        }
        public void SingleIPv6AddressShouldBeParsed()
        {
            _ = IpNetworkParser.TryParse("::1/32", out IPNetwork? network);

            Assert.NotNull(network);
            Assert.Equal(IPAddress.Parse("::1"), network?.Prefix);
            Assert.Equal(32, network?.PrefixLength);
        }
        public void SingleIPv4AddressShouldBeParsed()
        {
            IpNetworkParser.TryParse("127.0.0.1/32", out var network);

            Assert.NotNull(network);
            Assert.Equal(IPAddress.Loopback, network?.Prefix);
            Assert.Equal(32, network?.PrefixLength);
        }