mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-09-03 15:35:17 +00:00
[master] Revert only the trac4121 merge
This commit is contained in:
@@ -1,3 +1,12 @@
|
|||||||
|
1054. [func] [tmark]
|
||||||
|
Replaced underscores, "_", with hyphens "-", in the parameter
|
||||||
|
names used in the kea-ddns server's configuration as well as
|
||||||
|
those in the DDNS messages (NCRs) sent to the server. For
|
||||||
|
example, "ip_address" is now "ip-address", "change_type" is
|
||||||
|
now "change-type". This makes JSON element naming consistent
|
||||||
|
throughout Kea.
|
||||||
|
(Trac #4202 git 91bf527662060d4b1e294cd53e79b431edf0e910)
|
||||||
|
|
||||||
1053. [doc] tomek
|
1053. [doc] tomek
|
||||||
Support for DHCPDECLINE (v4) and DECLINE (v6) messages is
|
Support for DHCPDECLINE (v4) and DECLINE (v6) messages is
|
||||||
now described in the Kea User's Guide.
|
now described in the Kea User's Guide.
|
||||||
|
@@ -682,39 +682,6 @@ LibDHCP::packOptions(isc::util::OutputBuffer& buf,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
LibDHCP::packOptions4(isc::util::OutputBuffer& buf,
|
|
||||||
const OptionCollection& options) {
|
|
||||||
OptionCollection::const_iterator it = options.begin();
|
|
||||||
for (; it != options.end(); ++it) {
|
|
||||||
// Some options must be last
|
|
||||||
if ((it->first == DHO_DHCP_AGENT_OPTIONS) ||
|
|
||||||
(it->first == DHO_END)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
it->second->pack(buf);
|
|
||||||
}
|
|
||||||
// Add the RAI option if it exists
|
|
||||||
it = options.find(DHO_DHCP_AGENT_OPTIONS);
|
|
||||||
if (it != options.end()) {
|
|
||||||
it->second->pack(buf);
|
|
||||||
}
|
|
||||||
// And at the end the END option
|
|
||||||
it = options.find(DHO_END);
|
|
||||||
if (it != options.end()) {
|
|
||||||
it->second->pack(buf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
LibDHCP::packOptions6(isc::util::OutputBuffer& buf,
|
|
||||||
const OptionCollection& options) {
|
|
||||||
for (OptionCollection::const_iterator it = options.begin();
|
|
||||||
it != options.end(); ++it) {
|
|
||||||
it->second->pack(buf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LibDHCP::OptionFactoryRegister(Option::Universe u,
|
void LibDHCP::OptionFactoryRegister(Option::Universe u,
|
||||||
uint16_t opt_type,
|
uint16_t opt_type,
|
||||||
Option::Factory* factory) {
|
Option::Factory* factory) {
|
||||||
|
@@ -134,19 +134,9 @@ public:
|
|||||||
///
|
///
|
||||||
/// @param buf output buffer (assembled options will be stored here)
|
/// @param buf output buffer (assembled options will be stored here)
|
||||||
/// @param options collection of options to store to
|
/// @param options collection of options to store to
|
||||||
|
|
||||||
/// Generic version: to be used when there is no specific order
|
|
||||||
static void packOptions(isc::util::OutputBuffer& buf,
|
static void packOptions(isc::util::OutputBuffer& buf,
|
||||||
const isc::dhcp::OptionCollection& options);
|
const isc::dhcp::OptionCollection& options);
|
||||||
|
|
||||||
/// DHCPv4 version: put some options last
|
|
||||||
static void packOptions4(isc::util::OutputBuffer& buf,
|
|
||||||
const isc::dhcp::OptionCollection& options);
|
|
||||||
|
|
||||||
/// DHCPv6 version (currently same than the generic one)
|
|
||||||
static void packOptions6(isc::util::OutputBuffer& buf,
|
|
||||||
const isc::dhcp::OptionCollection& options);
|
|
||||||
|
|
||||||
/// @brief Parses provided buffer as DHCPv6 options and creates
|
/// @brief Parses provided buffer as DHCPv6 options and creates
|
||||||
/// Option objects.
|
/// Option objects.
|
||||||
///
|
///
|
||||||
|
@@ -143,7 +143,7 @@ Pkt4::pack() {
|
|||||||
// write DHCP magic cookie
|
// write DHCP magic cookie
|
||||||
buffer_out_.writeUint32(DHCP_OPTIONS_COOKIE);
|
buffer_out_.writeUint32(DHCP_OPTIONS_COOKIE);
|
||||||
|
|
||||||
LibDHCP::packOptions4(buffer_out_, options_);
|
LibDHCP::packOptions(buffer_out_, options_);
|
||||||
|
|
||||||
// add END option that indicates end of options
|
// add END option that indicates end of options
|
||||||
// (End option is very simple, just a 255 octet)
|
// (End option is very simple, just a 255 octet)
|
||||||
|
@@ -244,7 +244,7 @@ Pkt6::packUDP() {
|
|||||||
buffer_out_.writeUint8( (transid_) & 0xff );
|
buffer_out_.writeUint8( (transid_) & 0xff );
|
||||||
|
|
||||||
// the rest are options
|
// the rest are options
|
||||||
LibDHCP::packOptions6(buffer_out_, options_);
|
LibDHCP::packOptions(buffer_out_, options_);
|
||||||
}
|
}
|
||||||
catch (const Exception& e) {
|
catch (const Exception& e) {
|
||||||
// An exception is thrown and message will be written to Logger
|
// An exception is thrown and message will be written to Logger
|
||||||
|
@@ -342,7 +342,7 @@ TEST_F(LibDhcpTest, packOptions6) {
|
|||||||
|
|
||||||
OutputBuffer assembled(512);
|
OutputBuffer assembled(512);
|
||||||
|
|
||||||
EXPECT_NO_THROW(LibDHCP::packOptions6(assembled, opts));
|
EXPECT_NO_THROW(LibDHCP::packOptions(assembled, opts));
|
||||||
EXPECT_EQ(sizeof(v6packed), assembled.getLength());
|
EXPECT_EQ(sizeof(v6packed), assembled.getLength());
|
||||||
EXPECT_EQ(0, memcmp(assembled.getData(), v6packed, sizeof(v6packed)));
|
EXPECT_EQ(0, memcmp(assembled.getData(), v6packed, sizeof(v6packed)));
|
||||||
}
|
}
|
||||||
@@ -528,16 +528,15 @@ TEST_F(LibDhcpTest, packOptions4) {
|
|||||||
// the map. This gurantees that options are packed in the same order
|
// the map. This gurantees that options are packed in the same order
|
||||||
// they were added. Otherwise, options would get sorted by code and
|
// they were added. Otherwise, options would get sorted by code and
|
||||||
// the resulting buffer wouldn't match with the reference buffer.
|
// the resulting buffer wouldn't match with the reference buffer.
|
||||||
// But this doesn't apply to the RAI code which is always the last one
|
|
||||||
opts.insert(make_pair(opt1->getType(), opt1));
|
opts.insert(make_pair(opt1->getType(), opt1));
|
||||||
opts.insert(make_pair(opt1->getType(), opt2));
|
opts.insert(make_pair(opt1->getType(), opt2));
|
||||||
opts.insert(make_pair(rai->getType(), rai));
|
|
||||||
opts.insert(make_pair(opt1->getType(), opt3));
|
opts.insert(make_pair(opt1->getType(), opt3));
|
||||||
opts.insert(make_pair(opt1->getType(), opt4));
|
opts.insert(make_pair(opt1->getType(), opt4));
|
||||||
opts.insert(make_pair(opt1->getType(), opt5));
|
opts.insert(make_pair(opt1->getType(), opt5));
|
||||||
|
opts.insert(make_pair(opt1->getType(), rai));
|
||||||
|
|
||||||
OutputBuffer buf(100);
|
OutputBuffer buf(100);
|
||||||
EXPECT_NO_THROW(LibDHCP::packOptions4(buf, opts));
|
EXPECT_NO_THROW(LibDHCP::packOptions(buf, opts));
|
||||||
ASSERT_EQ(buf.getLength(), sizeof(v4_opts));
|
ASSERT_EQ(buf.getLength(), sizeof(v4_opts));
|
||||||
EXPECT_EQ(0, memcmp(v4_opts, buf.getData(), sizeof(v4_opts)));
|
EXPECT_EQ(0, memcmp(v4_opts, buf.getData(), sizeof(v4_opts)));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user