Commit aacc0c7e authored by Francis Dupont's avatar Francis Dupont
Browse files

[5226] Addressed remaining missing options

parent 85d7ae80
......@@ -1286,6 +1286,7 @@ This rather belong to the DDNS configuration
<row><entry>streettalk-server</entry><entry>75</entry><entry>ipv4-address</entry><entry>true</entry><entry>false</entry></row>
<row><entry>streettalk-directory-assistance-server</entry><entry>76</entry><entry>ipv4-address</entry><entry>true</entry><entry>false</entry></row>
<row><entry>user-class</entry><entry>77</entry><entry>binary</entry><entry>false</entry><entry>false</entry></row>
<row><entry>slp-directory-agent</entry><entry>78</entry><entry>record (boolean, ipv4-address)</entry><entry>true</entry><entry>false</entry></row>
<row><entry>slp-service-scope</entry><entry>79</entry><entry>record (boolean, string)</entry><entry>false</entry><entry>false</entry></row>
<!-- The Client FQDN option value is not explicitly configured.
It is a part of the DDNS/D2 configuration
......@@ -1327,8 +1328,10 @@ It is merely echoed by the server
<row><entry>v4-lost</entry><entry>137</entry><entry>fqdn</entry><entry>false</entry><entry>false</entry></row>
<row><entry>capwap-ac-v4</entry><entry>138</entry><entry>ipv4-address</entry><entry>true</entry><entry>false</entry></row>
<row><entry>sip-ua-cs-domains</entry><entry>142</entry><entry>fqdn</entry><entry>true</entry><entry>false</entry></row>
<row><entry>rdnss-selection</entry><entry>146</entry><entry>record (uint8, ipv4-address, ipv4-address, fqdn)</entry><entry>true</entry><entry>false</entry></row>
<row><entry>v4-portparams</entry><entry>159</entry><entry>record (uint8, uint8, uint16)</entry><entry>false</entry><entry>false</entry></row>
<row><entry>v4-captive-portal</entry><entry>160</entry><entry>string</entry><entry>false</entry><entry>false</entry></row>
<row><entry>option-6rd</entry><entry>212</entry><entry>record (uint8, uint8, ipv6-address, ipv4-address)</entry><entry>true</entry><entry>false</entry></row>
<row><entry>v4-access-domain</entry><entry>213</entry><entry>fqdn</entry><entry>false</entry><entry>false</entry></row>
</tbody>
</tgroup>
......
......@@ -1252,6 +1252,7 @@ temporarily override a list of interface names and listen on all interfaces.
<row><entry>erp-local-domain-name</entry><entry>65</entry><entry>fqdn</entry><entry>false</entry></row>
<row><entry>rsoo</entry><entry>66</entry><entry>empty</entry><entry>false</entry></row>
<row><entry>pd-exclude</entry><entry>67</entry><entry>binary</entry><entry>false</entry></row>
<row><entry>rdnss-selection</entry><entry>74</entry><entry>record (ipv6-address, uint8, fqdn)</entry><entry>true</entry></row>
<row><entry>client-linklayer-addr</entry><entry>79</entry><entry>binary</entry><entry>false</entry></row>
<row><entry>link-address</entry><entry>80</entry><entry>ipv6-address</entry><entry>false</entry></row>
<row><entry>solmax-rt</entry><entry>82</entry><entry>uint32</entry><entry>false</entry></row>
......
......@@ -3120,6 +3120,66 @@ TEST_F(Dhcp4ParserTest, domainSearchOption) {
" domain-search option"));
}
// The goal of this test is to verify that the slp-directory-agent
// option can be set using a trailing array of addresses and
// slp-service-scope without option scope list
TEST_F(Dhcp4ParserTest, slpOptions) {
ConstElementPtr x;
string config = "{ " + genIfaceConfig() + "," +
"\"rebind-timer\": 2000,"
"\"renew-timer\": 1000,"
"\"option-data\": [ {"
" \"name\": \"slp-directory-agent\","
" \"data\": \"true, 10.0.0.3, 127.0.0.1\""
" },"
" {"
" \"name\": \"slp-service-scope\","
" \"data\": \"false, \""
" } ],"
"\"subnet4\": [ { "
" \"pools\": [ { \"pool\": \"192.0.2.1 - 192.0.2.100\" } ],"
" \"subnet\": \"192.0.2.0/24\""
" } ],"
"\"valid-lifetime\": 4000 }";
ConstElementPtr json;
ASSERT_NO_THROW(json = parseDHCP4(config, true));
extractConfig(config);
EXPECT_NO_THROW(x = configureDhcp4Server(*srv_, json));
checkResult(x, 0);
// Get options
OptionContainerPtr options = CfgMgr::instance().getStagingCfg()->
getCfgOption()->getAll(DHCP4_OPTION_SPACE);
ASSERT_EQ(2, options->size());
// Get the search index. Index #1 is to search using option code.
const OptionContainerTypeIndex& idx = options->get<1>();
// Get the options for specified index. Expecting one option to be
// returned but in theory we may have multiple options with the same
// code so we get the range.
std::pair<OptionContainerTypeIndex::const_iterator,
OptionContainerTypeIndex::const_iterator> range =
idx.equal_range(DHO_DIRECTORY_AGENT);
// Expect a single option with the code equal to 78.
ASSERT_EQ(1, std::distance(range.first, range.second));
const uint8_t sda_expected[] = {
0x01, 0x0a, 0x00, 0x00, 0x03, 0x7f, 0x00, 0x00, 0x01
};
// Check if option is valid in terms of code and carried data.
testOption(*range.first, 78, sda_expected, sizeof(sda_expected));
range = idx.equal_range(DHO_SERVICE_SCOPE);
ASSERT_EQ(1, std::distance(range.first, range.second));
// Do another round of testing with second option.
const uint8_t sss_expected[] = {
0x00
};
testOption(*range.first, 79, sss_expected, sizeof(sss_expected));
}
// The goal of this test is to verify that the standard option can
// be configured to encapsulate multiple other options.
TEST_F(Dhcp4ParserTest, stdOptionDataEncapsulate) {
......
......@@ -885,6 +885,35 @@ const char* EXTRACTED_CONFIGS[] = {
" },\n"
" \"option-data\": [\n"
" {\n"
" \"data\": \"true, 10.0.0.3, 127.0.0.1\",\n"
" \"name\": \"slp-directory-agent\"\n"
" },\n"
" {\n"
" \"data\": \"false, \",\n"
" \"name\": \"slp-service-scope\"\n"
" }\n"
" ],\n"
" \"rebind-timer\": 2000,\n"
" \"renew-timer\": 1000,\n"
" \"subnet4\": [\n"
" {\n"
" \"pools\": [\n"
" {\n"
" \"pool\": \"192.0.2.1 - 192.0.2.100\"\n"
" }\n"
" ],\n"
" \"subnet\": \"192.0.2.0/24\"\n"
" }\n"
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 33
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
" },\n"
" \"option-data\": [\n"
" {\n"
" \"data\": \"1234\",\n"
" \"name\": \"foo\",\n"
" \"space\": \"vendor-encapsulated-options-space\"\n"
......@@ -913,7 +942,7 @@ const char* EXTRACTED_CONFIGS[] = {
" \"renew-timer\": 1000,\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 33
// CONFIGURATION 34
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -964,7 +993,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 3000\n"
" }\n",
// CONFIGURATION 34
// CONFIGURATION 35
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -999,7 +1028,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 35
// CONFIGURATION 36
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -1034,7 +1063,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 36
// CONFIGURATION 37
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"eth0\", \"eth1\" ]\n"
......@@ -1043,7 +1072,7 @@ const char* EXTRACTED_CONFIGS[] = {
" \"renew-timer\": 1000,\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 37
// CONFIGURATION 38
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"eth0\", \"*\", \"eth1\" ]\n"
......@@ -1052,7 +1081,7 @@ const char* EXTRACTED_CONFIGS[] = {
" \"renew-timer\": 1000,\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 38
// CONFIGURATION 39
"{\n"
" \"dhcp-ddns\": {\n"
" \"always-include-fqdn\": true,\n"
......@@ -1087,7 +1116,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 39
// CONFIGURATION 40
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -1112,7 +1141,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 40
// CONFIGURATION 41
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -1210,7 +1239,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 41
// CONFIGURATION 42
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -1251,7 +1280,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 42
// CONFIGURATION 43
"{\n"
" \"rebind-timer\": 2000,\n"
" \"renew-timer\": 1000,\n"
......@@ -1294,21 +1323,21 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 43
// CONFIGURATION 44
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
" },\n"
" \"subnet4\": [ ]\n"
" }\n",
// CONFIGURATION 44
// CONFIGURATION 45
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
" },\n"
" \"subnet4\": [ ]\n"
" }\n",
// CONFIGURATION 45
// CONFIGURATION 46
"{\n"
" \"decline-probation-period\": 12345,\n"
" \"interfaces-config\": {\n"
......@@ -1316,7 +1345,7 @@ const char* EXTRACTED_CONFIGS[] = {
" },\n"
" \"subnet4\": [ ]\n"
" }\n",
// CONFIGURATION 46
// CONFIGURATION 47
"{\n"
" \"expired-leases-processing\": {\n"
" \"flush-reclaimed-timer-wait-time\": 35,\n"
......@@ -1331,7 +1360,7 @@ const char* EXTRACTED_CONFIGS[] = {
" },\n"
" \"subnet4\": [ ]\n"
" }\n",
// CONFIGURATION 47
// CONFIGURATION 48
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -1350,7 +1379,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 48
// CONFIGURATION 49
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -1370,7 +1399,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 49
// CONFIGURATION 50
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -1390,7 +1419,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 50
// CONFIGURATION 51
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -1411,7 +1440,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 51
// CONFIGURATION 52
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -1431,7 +1460,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 52
// CONFIGURATION 53
"{\n"
" \"client-classes\": [\n"
" {\n"
......@@ -1461,7 +1490,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 53
// CONFIGURATION 54
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -1480,7 +1509,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 54
// CONFIGURATION 55
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -1500,7 +1529,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 55
// CONFIGURATION 56
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -1524,7 +1553,7 @@ const char* EXTRACTED_CONFIGS[] = {
" ],\n"
" \"valid-lifetime\": 4000\n"
" }\n",
// CONFIGURATION 56
// CONFIGURATION 57
"{\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ]\n"
......@@ -4084,6 +4113,89 @@ const char* UNPARSED_CONFIGS[] = {
" },\n"
" \"option-data\": [\n"
" {\n"
" \"code\": 78,\n"
" \"csv-format\": true,\n"
" \"data\": \"true, 10.0.0.3, 127.0.0.1\",\n"
" \"name\": \"slp-directory-agent\",\n"
" \"space\": \"dhcp4\"\n"
" },\n"
" {\n"
" \"code\": 79,\n"
" \"csv-format\": true,\n"
" \"data\": \"false, \",\n"
" \"name\": \"slp-service-scope\",\n"
" \"space\": \"dhcp4\"\n"
" }\n"
" ],\n"
" \"option-def\": [ ],\n"
" \"subnet4\": [\n"
" {\n"
" \"4o6-interface\": \"\",\n"
" \"4o6-interface-id\": \"\",\n"
" \"4o6-subnet\": \"\",\n"
" \"id\": 1,\n"
" \"interface\": \"\",\n"
" \"match-client-id\": true,\n"
" \"next-server\": \"0.0.0.0\",\n"
" \"option-data\": [ ],\n"
" \"pools\": [\n"
" {\n"
" \"option-data\": [ ],\n"
" \"pool\": \"192.0.2.1-192.0.2.100\"\n"
" }\n"
" ],\n"
" \"rebind-timer\": 2000,\n"
" \"relay\": {\n"
" \"ip-address\": \"0.0.0.0\"\n"
" },\n"
" \"renew-timer\": 1000,\n"
" \"reservation-mode\": \"all\",\n"
" \"reservations\": [ ],\n"
" \"subnet\": \"192.0.2.0/24\",\n"
" \"valid-lifetime\": 4000\n"
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 33
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
" \"always-include-fqdn\": false,\n"
" \"enable-updates\": false,\n"
" \"generated-prefix\": \"myhost\",\n"
" \"max-queue-size\": 1024,\n"
" \"ncr-format\": \"JSON\",\n"
" \"ncr-protocol\": \"UDP\",\n"
" \"override-client-update\": false,\n"
" \"override-no-update\": false,\n"
" \"qualifying-suffix\": \"\",\n"
" \"replace-client-name\": \"never\",\n"
" \"sender-ip\": \"0.0.0.0\",\n"
" \"sender-port\": 0,\n"
" \"server-ip\": \"127.0.0.1\",\n"
" \"server-port\": 53001\n"
" },\n"
" \"dhcp4o6-port\": 0,\n"
" \"echo-client-id\": true,\n"
" \"expired-leases-processing\": {\n"
" \"flush-reclaimed-timer-wait-time\": 25,\n"
" \"hold-reclaimed-time\": 3600,\n"
" \"max-reclaim-leases\": 100,\n"
" \"max-reclaim-time\": 250,\n"
" \"reclaim-timer-wait-time\": 10,\n"
" \"unwarned-reclaim-cycles\": 5\n"
" },\n"
" \"hooks-libraries\": [ ],\n"
" \"host-reservation-identifiers\": [ \"hw-address\", \"duid\", \"circuit-id\", \"client-id\" ],\n"
" \"interfaces-config\": {\n"
" \"interfaces\": [ \"*\" ],\n"
" \"re-detect\": false\n"
" },\n"
" \"lease-database\": {\n"
" \"type\": \"memfile\"\n"
" },\n"
" \"option-data\": [\n"
" {\n"
" \"code\": 1,\n"
" \"csv-format\": true,\n"
" \"data\": \"1234\",\n"
......@@ -4120,7 +4232,7 @@ const char* UNPARSED_CONFIGS[] = {
" ],\n"
" \"subnet4\": [ ]\n"
" }\n",
// CONFIGURATION 33
// CONFIGURATION 34
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -4229,7 +4341,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 34
// CONFIGURATION 35
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -4310,7 +4422,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 35
// CONFIGURATION 36
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -4396,7 +4508,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 36
// CONFIGURATION 37
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -4438,7 +4550,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"option-def\": [ ],\n"
" \"subnet4\": [ ]\n"
" }\n",
// CONFIGURATION 37
// CONFIGURATION 38
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -4480,7 +4592,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"option-def\": [ ],\n"
" \"subnet4\": [ ]\n"
" }\n",
// CONFIGURATION 38
// CONFIGURATION 39
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -4548,7 +4660,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 39
// CONFIGURATION 40
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -4616,7 +4728,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 40
// CONFIGURATION 41
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -4831,7 +4943,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 41
// CONFIGURATION 42
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -4928,7 +5040,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 42
// CONFIGURATION 43
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -5071,7 +5183,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 43
// CONFIGURATION 44
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -5113,7 +5225,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"option-def\": [ ],\n"
" \"subnet4\": [ ]\n"
" }\n",
// CONFIGURATION 44
// CONFIGURATION 45
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -5155,7 +5267,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"option-def\": [ ],\n"
" \"subnet4\": [ ]\n"
" }\n",
// CONFIGURATION 45
// CONFIGURATION 46
"{\n"
" \"decline-probation-period\": 12345,\n"
" \"dhcp-ddns\": {\n"
......@@ -5197,7 +5309,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"option-def\": [ ],\n"
" \"subnet4\": [ ]\n"
" }\n",
// CONFIGURATION 46
// CONFIGURATION 47
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -5239,7 +5351,7 @@ const char* UNPARSED_CONFIGS[] = {
" \"option-def\": [ ],\n"
" \"subnet4\": [ ]\n"
" }\n",
// CONFIGURATION 47
// CONFIGURATION 48
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -5307,7 +5419,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 48
// CONFIGURATION 49
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -5375,7 +5487,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 49
// CONFIGURATION 50
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -5443,7 +5555,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 50
// CONFIGURATION 51
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -5511,7 +5623,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 51
// CONFIGURATION 52
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -5579,7 +5691,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 52
// CONFIGURATION 53
"{\n"
" \"client-classes\": [\n"
" {\n"
......@@ -5670,7 +5782,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 53
// CONFIGURATION 54
"{\n"
" \"decline-probation-period\": 86400,\n"
" \"dhcp-ddns\": {\n"
......@@ -5738,7 +5850,7 @@ const char* UNPARSED_CONFIGS[] = {
" }\n"
" ]\n"
" }\n",
// CONFIGURATION 54