mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-31 05:55:28 +00:00
Merge branch 'master' of ssh://git.bind10.isc.org/var/bind10/git/bind10
Conflicts: ChangeLog
This commit is contained in:
@@ -1,10 +1,16 @@
|
||||
749. [func] tomek
|
||||
750. [func] tomek
|
||||
b10-dhcp4, b10-dhcp6: Simple client classification has been
|
||||
implemented. Incoming packets can be assigned to zero or more
|
||||
client classes. It is possible to restrict subnet usage to a given
|
||||
client class. User's Guide and Developer's Guide has been updated.
|
||||
(Trac #3274, git 1791d19899b92a6ee411199f664bdfc690ec08b2)
|
||||
|
||||
749. [bug] tmark
|
||||
b10-dhcp-ddns now sets the TTL value in RRs that add A, AAAA, or PTR DNS
|
||||
entries to the lease length provided in instigating NameChangeRequest.
|
||||
This corrected a bug in which the TTL was always set to 0.
|
||||
(Trac# 3299, git dbacf27ece77f3d857da793341c6bd31ef1ea239)
|
||||
|
||||
748. [bug] marcin
|
||||
b10-dhcp4 server picks a subnet, to assign address for a directly
|
||||
connected client, using IP address of the interface on which the
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
|
||||
// Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
|
||||
//
|
||||
// Permission to use, copy, modify, and/or distribute this software for any
|
||||
// purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -588,10 +588,13 @@ NameAddTransaction::buildAddFwdAddressRequest() {
|
||||
|
||||
// Next build the Update Section.
|
||||
|
||||
// Create the TTL based on lease length.
|
||||
dns::RRTTL lease_ttl(getNcr()->getLeaseLength());
|
||||
|
||||
// Create the FQDN/IP 'add' RR and add it to the to update section.
|
||||
// Based on RFC 2136, section 2.5.1
|
||||
dns::RRsetPtr update(new dns::RRset(fqdn, dns::RRClass::IN(),
|
||||
getAddressRRType(), dns::RRTTL(0)));
|
||||
getAddressRRType(), lease_ttl));
|
||||
|
||||
addLeaseAddressRdata(update);
|
||||
request->addRRset(D2UpdateMessage::SECTION_UPDATE, update);
|
||||
@@ -599,7 +602,7 @@ NameAddTransaction::buildAddFwdAddressRequest() {
|
||||
// Now create the FQDN/DHCID 'add' RR and add it to update section.
|
||||
// Based on RFC 2136, section 2.5.1
|
||||
update.reset(new dns::RRset(fqdn, dns::RRClass::IN(),
|
||||
dns::RRType::DHCID(), dns::RRTTL(0)));
|
||||
dns::RRType::DHCID(), lease_ttl));
|
||||
addDhcidRdata(update);
|
||||
request->addRRset(D2UpdateMessage::SECTION_UPDATE, update);
|
||||
|
||||
@@ -635,6 +638,9 @@ NameAddTransaction::buildReplaceFwdAddressRequest() {
|
||||
|
||||
// Next build the Update Section.
|
||||
|
||||
// Create the TTL based on lease length.
|
||||
dns::RRTTL lease_ttl(getNcr()->getLeaseLength());
|
||||
|
||||
// Create the FQDN/IP 'delete' RR and add it to the update section.
|
||||
// Based on RFC 2136, section 2.5.2
|
||||
dns::RRsetPtr update(new dns::RRset(fqdn, dns::RRClass::ANY(),
|
||||
@@ -644,7 +650,7 @@ NameAddTransaction::buildReplaceFwdAddressRequest() {
|
||||
// Create the FQDN/IP 'add' RR and add it to the update section.
|
||||
// Based on RFC 2136, section 2.5.1
|
||||
update.reset(new dns::RRset(fqdn, dns::RRClass::IN(),
|
||||
getAddressRRType(), dns::RRTTL(0)));
|
||||
getAddressRRType(), lease_ttl));
|
||||
addLeaseAddressRdata(update);
|
||||
request->addRRset(D2UpdateMessage::SECTION_UPDATE, update);
|
||||
|
||||
@@ -661,6 +667,9 @@ NameAddTransaction::buildReplaceRevPtrsRequest() {
|
||||
std::string rev_addr = D2CfgMgr::reverseIpAddress(getNcr()->getIpAddress());
|
||||
dns::Name rev_ip(rev_addr);
|
||||
|
||||
// Create the TTL based on lease length.
|
||||
dns::RRTTL lease_ttl(getNcr()->getLeaseLength());
|
||||
|
||||
// Content on this request is based on RFC 4703, section 5.4
|
||||
// Reverse replacement has no prerequisites so straight on to
|
||||
// building the Update section.
|
||||
@@ -678,14 +687,14 @@ NameAddTransaction::buildReplaceRevPtrsRequest() {
|
||||
// Create the FQDN/IP PTR 'add' RR, add the FQDN as the PTR Rdata
|
||||
// then add it to update section.
|
||||
update.reset(new dns::RRset(rev_ip, dns::RRClass::IN(),
|
||||
dns::RRType::PTR(), dns::RRTTL(0)));
|
||||
dns::RRType::PTR(), lease_ttl));
|
||||
addPtrRdata(update);
|
||||
request->addRRset(D2UpdateMessage::SECTION_UPDATE, update);
|
||||
|
||||
// Create the FQDN/IP PTR 'add' RR, add the DHCID Rdata
|
||||
// then add it to update section.
|
||||
update.reset(new dns::RRset(rev_ip, dns::RRClass::IN(),
|
||||
dns::RRType::DHCID(), dns::RRTTL(0)));
|
||||
dns::RRType::DHCID(), lease_ttl));
|
||||
addDhcidRdata(update);
|
||||
request->addRRset(D2UpdateMessage::SECTION_UPDATE, update);
|
||||
|
||||
|
@@ -427,15 +427,19 @@ void checkAddFwdAddressRequest(NameChangeTransaction& tran) {
|
||||
// Should be 2 RRs: 1 to add the FQDN/IP and one to add the DHCID RR
|
||||
checkRRCount(request, D2UpdateMessage::SECTION_UPDATE, 2);
|
||||
|
||||
// Fetch ttl.
|
||||
uint32_t ttl = ncr->getLeaseLength();
|
||||
|
||||
// First, Verify the FQDN/IP add RR.
|
||||
ASSERT_TRUE(rrset = getRRFromSection(request, D2UpdateMessage::
|
||||
SECTION_UPDATE, 0));
|
||||
checkRR(rrset, exp_fqdn, dns::RRClass::IN(), exp_ip_rr_type, 0, ncr);
|
||||
checkRR(rrset, exp_fqdn, dns::RRClass::IN(), exp_ip_rr_type, ttl, ncr);
|
||||
|
||||
// Now, verify the DHCID add RR.
|
||||
ASSERT_TRUE(rrset = getRRFromSection(request, D2UpdateMessage::
|
||||
SECTION_UPDATE, 1));
|
||||
checkRR(rrset, exp_fqdn, dns::RRClass::IN(), dns::RRType::DHCID(), 0, ncr);
|
||||
checkRR(rrset, exp_fqdn, dns::RRClass::IN(), dns::RRType::DHCID(),
|
||||
ttl, ncr);
|
||||
|
||||
// Verify there are no RRs in the ADDITIONAL Section.
|
||||
checkRRCount(request, D2UpdateMessage::SECTION_ADDITIONAL, 0);
|
||||
@@ -483,6 +487,9 @@ void checkReplaceFwdAddressRequest(NameChangeTransaction& tran) {
|
||||
// adds the new one.
|
||||
checkRRCount(request, D2UpdateMessage::SECTION_UPDATE, 2);
|
||||
|
||||
// Fetch ttl.
|
||||
uint32_t ttl = ncr->getLeaseLength();
|
||||
|
||||
// Verify the FQDN delete RR.
|
||||
ASSERT_TRUE(rrset = getRRFromSection(request, D2UpdateMessage::
|
||||
SECTION_UPDATE, 0));
|
||||
@@ -491,7 +498,7 @@ void checkReplaceFwdAddressRequest(NameChangeTransaction& tran) {
|
||||
// Verify the FQDN/IP add RR.
|
||||
ASSERT_TRUE(rrset = getRRFromSection(request, D2UpdateMessage::
|
||||
SECTION_UPDATE, 1));
|
||||
checkRR(rrset, exp_fqdn, dns::RRClass::IN(), exp_ip_rr_type, 0, ncr);
|
||||
checkRR(rrset, exp_fqdn, dns::RRClass::IN(), exp_ip_rr_type, ttl, ncr);
|
||||
|
||||
// Verify there are no RRs in the ADDITIONAL Section.
|
||||
checkRRCount(request, D2UpdateMessage::SECTION_ADDITIONAL, 0);
|
||||
@@ -520,6 +527,9 @@ void checkReplaceRevPtrsRequest(NameChangeTransaction& tran) {
|
||||
// Verify there are no RRs in the PREREQUISITE Section.
|
||||
checkRRCount(request, D2UpdateMessage::SECTION_PREREQUISITE, 0);
|
||||
|
||||
// Fetch ttl.
|
||||
uint32_t ttl = ncr->getLeaseLength();
|
||||
|
||||
// Verify the UPDATE Section.
|
||||
// It should contain 4 RRs:
|
||||
// 1. A delete all PTR RRs for the given IP
|
||||
@@ -545,13 +555,13 @@ void checkReplaceRevPtrsRequest(NameChangeTransaction& tran) {
|
||||
ASSERT_TRUE(rrset = getRRFromSection(request, D2UpdateMessage::
|
||||
SECTION_UPDATE, 2));
|
||||
checkRR(rrset, exp_rev_addr, dns::RRClass::IN(), dns::RRType::PTR(),
|
||||
0, ncr);
|
||||
ttl, ncr);
|
||||
|
||||
// Verify the DHCID add RR.
|
||||
ASSERT_TRUE(rrset = getRRFromSection(request, D2UpdateMessage::
|
||||
SECTION_UPDATE, 3));
|
||||
checkRR(rrset, exp_rev_addr, dns::RRClass::IN(), dns::RRType::DHCID(),
|
||||
0, ncr);
|
||||
ttl, ncr);
|
||||
|
||||
// Verify there are no RRs in the ADDITIONAL Section.
|
||||
checkRRCount(request, D2UpdateMessage::SECTION_ADDITIONAL, 0);
|
||||
|
Reference in New Issue
Block a user