From e7277a6cec1d07830efdede47e633bf7750c997e Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sun, 4 Oct 2020 13:48:15 +0530 Subject: [PATCH] Scope: added IsAddressInNetwork() to check if an address is in the network defined by the subnet mask. --- DnsServerCore/Dhcp/Scope.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/DnsServerCore/Dhcp/Scope.cs b/DnsServerCore/Dhcp/Scope.cs index 4d60839f..aed13f6b 100644 --- a/DnsServerCore/Dhcp/Scope.cs +++ b/DnsServerCore/Dhcp/Scope.cs @@ -515,6 +515,15 @@ namespace DnsServerCore.Dhcp return IsAddressInRange(address, _startingAddress, _endingAddress); } + internal bool IsAddressInNetwork(IPAddress address) + { + uint addressNumber = address.ConvertIpToNumber(); + uint networkAddressNumber = _networkAddress.ConvertIpToNumber(); + uint broadcastAddressNumber = _broadcastAddress.ConvertIpToNumber(); + + return (networkAddressNumber < addressNumber) && (addressNumber < broadcastAddressNumber); + } + internal Lease GetReservedLease(DhcpMessage request) { return GetReservedLease(new ClientIdentifierOption((byte)request.HardwareAddressType, request.ClientHardwareAddress));