]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#1860] document lenient option parsing
authorAndrei Pavel <andrei@isc.org>
Fri, 14 May 2021 14:14:05 +0000 (17:14 +0300)
committerAndrei Pavel <andrei@isc.org>
Wed, 19 May 2021 12:59:03 +0000 (15:59 +0300)
doc/examples/kea4/all-keys.json
doc/examples/kea6/all-keys.json
doc/sphinx/arm/dhcp6-srv.rst

index e841456cd3861c7d1e6b69dba26cadda5865e226..864c1eba19146536e9bc1222065069e4585d54d0 100644 (file)
             }
         ],
 
+        // Parameters for triggering behaviors compatible with broken or
+        // non-compliant clients, relays or other agents
+        "compatibility": {
+            // Parse options more leniently where fields can be deduced
+            // deterministically even if against RFC or common practice.
+            "lenient-option-parsing": true
+        },
+
         // Command control socket configuration parameters for Kea DHCPv4 server.
         "control-socket": {
             // Location of the unix domain socket file the DHCPv4 server uses
index bde412bcb4fb930935245273a5f71b92f380478e..694942af62b86d3268cc71e7e30416dd3ce81508 100644 (file)
             }
         ],
 
+        // Parameters for triggering behaviors compatible with broken or
+        // non-compliant clients, relays or other agents
+        "compatibility": {
+            // Parse options more leniently where fields can be deduced
+            // deterministically even if against RFC or common practice.
+            "lenient-option-parsing": true
+        },
+
         // Command control socket configuration parameters for Kea DHCPv6 server.
         "control-socket": {
             // Location of the unix domain socket file the DHCPv6 server uses
index cffc968f3a05c8f6926cd739f426021b4a4334f3..7520d3f76b002fa4de98f049eaf0a8eb0eefc71d 100644 (file)
@@ -6943,3 +6943,24 @@ Configuration Backend for the DHCPv6 server:
 
 The configuration structure is almost identical to that of the DHCPv4 server
 (see :ref:`dhcp4-cb-json` for the detailed description).
+
+.. _dhcp6-compatibility:
+
+Kea DHCPv6 Compatibility Configuration Parameters
+=================================================
+
+Kea is friendly towards broken or non-compliant clients. In that purpose, flags
+have to be enabled in order to keep Kea's default behavior of conforming to RFCs
+or to common practices.
+
+Lenient Option Parsing
+----------------------
+
+By default, DHCPv6 option 16's vendor-class-data field is parsed as a set of
+length-value pairs.
+
+With ``lenient-option-parsing: "true"``, if a length ever exceeds the rest of
+the option's buffer, Kea no longer complains with the log message ``unable to
+parse the opaque data tuple, the buffer length is x, but the tuple length is y``
+with ``x < y``. Instead, the value is considered to be the rest of the buffer,
+or in terms of the log message above, the tuple length ``y`` becomes ``x``.