Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ISC Open Source Projects
Kea
Commits
ecfe0ec2
Commit
ecfe0ec2
authored
Feb 10, 2014
by
Tomek Mrugalski
🛰
Browse files
Merge branch 'master' of
ssh://git.bind10.isc.org/var/bind10/git/bind10
Conflicts: ChangeLog
parents
e3f6de57
9559e3c2
Changes
3
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
ecfe0ec2
7
49
. [func] tomek
7
50
. [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
...
...
src/bin/d2/nc_add.cc
View file @
ecfe0ec2
// Copyright (C) 201
3
Internet Systems Consortium, Inc. ("ISC")
// Copyright (C) 201
4
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
);
...
...
src/bin/d2/tests/nc_test_utils.cc
View file @
ecfe0ec2
...
...
@@ -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
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment