mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-31 05:55:28 +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
|
||||
Support for DHCPDECLINE (v4) and DECLINE (v6) messages is
|
||||
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,
|
||||
uint16_t opt_type,
|
||||
Option::Factory* factory) {
|
||||
|
@@ -134,19 +134,9 @@ public:
|
||||
///
|
||||
/// @param buf output buffer (assembled options will be stored here)
|
||||
/// @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,
|
||||
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
|
||||
/// Option objects.
|
||||
///
|
||||
|
@@ -143,7 +143,7 @@ Pkt4::pack() {
|
||||
// write DHCP magic 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
|
||||
// (End option is very simple, just a 255 octet)
|
||||
|
@@ -244,7 +244,7 @@ Pkt6::packUDP() {
|
||||
buffer_out_.writeUint8( (transid_) & 0xff );
|
||||
|
||||
// the rest are options
|
||||
LibDHCP::packOptions6(buffer_out_, options_);
|
||||
LibDHCP::packOptions(buffer_out_, options_);
|
||||
}
|
||||
catch (const Exception& e) {
|
||||
// An exception is thrown and message will be written to Logger
|
||||
|
@@ -342,7 +342,7 @@ TEST_F(LibDhcpTest, packOptions6) {
|
||||
|
||||
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(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
|
||||
// they were added. Otherwise, options would get sorted by code and
|
||||
// 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(), opt2));
|
||||
opts.insert(make_pair(rai->getType(), rai));
|
||||
opts.insert(make_pair(opt1->getType(), opt3));
|
||||
opts.insert(make_pair(opt1->getType(), opt4));
|
||||
opts.insert(make_pair(opt1->getType(), opt5));
|
||||
opts.insert(make_pair(opt1->getType(), rai));
|
||||
|
||||
OutputBuffer buf(100);
|
||||
EXPECT_NO_THROW(LibDHCP::packOptions4(buf, opts));
|
||||
EXPECT_NO_THROW(LibDHCP::packOptions(buf, opts));
|
||||
ASSERT_EQ(buf.getLength(), sizeof(v4_opts));
|
||||
EXPECT_EQ(0, memcmp(v4_opts, buf.getData(), sizeof(v4_opts)));
|
||||
}
|
||||
|
Reference in New Issue
Block a user