diff --git a/DnsServerCore/Dhcp/DhcpServer.cs b/DnsServerCore/Dhcp/DhcpServer.cs index 0e752af2..3122e834 100644 --- a/DnsServerCore/Dhcp/DhcpServer.cs +++ b/DnsServerCore/Dhcp/DhcpServer.cs @@ -456,7 +456,7 @@ namespace DnsServerCore.Dhcp //update hostname in reserved leases { - Lease reservedLease = scope.GetReservedLease(leaseOffer.ClientIdentifier); + Lease reservedLease = scope.GetReservedLease(request); if (reservedLease != null) reservedLease.SetHostName(request.HostName?.HostName); } diff --git a/DnsServerCore/Dhcp/Scope.cs b/DnsServerCore/Dhcp/Scope.cs index fa701d08..d1179b6d 100644 --- a/DnsServerCore/Dhcp/Scope.cs +++ b/DnsServerCore/Dhcp/Scope.cs @@ -588,7 +588,12 @@ namespace DnsServerCore.Dhcp return GetReservedLease(new ClientIdentifierOption((byte)request.HardwareAddressType, request.ClientHardwareAddress)); } - internal Lease GetReservedLease(ClientIdentifierOption clientIdentifier) + internal Lease GetReservedLease(DhcpMessageHardwareAddressType hardwareAddressType, byte[] identifier) + { + return GetReservedLease(new ClientIdentifierOption((byte)hardwareAddressType, identifier)); + } + + private Lease GetReservedLease(ClientIdentifierOption clientIdentifier) { if (_reservedLeases.TryGetValue(clientIdentifier, out Lease reservedLease)) {