]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[288,!158] Changed references from RFC3315 to RFC8415 in the src code.
authorMarcin Siodelski <marcin@isc.org>
Wed, 5 Dec 2018 18:09:13 +0000 (19:09 +0100)
committerMarcin Siodelski <marcin@isc.org>
Thu, 6 Dec 2018 13:20:09 +0000 (08:20 -0500)
25 files changed:
src/bin/admin/tests/dhcpdb_create_1.0.mysql
src/bin/admin/tests/dhcpdb_create_1.0.pgsql
src/bin/dhcp6/dhcp6.dox
src/bin/dhcp6/dhcp6_srv.cc
src/bin/dhcp6/dhcp6_srv.h
src/bin/dhcp6/tests/confirm_unittest.cc
src/bin/dhcp6/tests/dhcp6_srv_unittest.cc
src/bin/dhcp6/tests/dhcp6_test_utils.cc
src/bin/dhcp6/tests/rebind_unittest.cc
src/bin/perfdhcp/command_options.cc
src/bin/perfdhcp/tests/test_control_unittest.cc
src/lib/dhcp/dhcp6.h
src/lib/dhcp/duid.h
src/lib/dhcp/duid_factory.h
src/lib/dhcp/iface_mgr.h
src/lib/dhcp/option6_auth.h
src/lib/dhcp/option6_status_code.h
src/lib/dhcp/option_definition.h
src/lib/dhcp/option_space.h
src/lib/dhcp/option_vendor_class.h
src/lib/dhcp/pkt6.cc
src/lib/dhcpsrv/cfg_duid.h
src/lib/dhcpsrv/host.h
src/share/database/scripts/mysql/dhcpdb_create.mysql
src/share/database/scripts/pgsql/dhcpdb_create.pgsql

index b4823afbfff166e5700fbb43e847a8cdb9612ea8..1a66106c45e1f17e20d235c548577e67be01082a 100644 (file)
@@ -55,7 +55,7 @@ CREATE TABLE lease6 (
     pref_lifetime INT UNSIGNED,                 # Preferred lifetime
     lease_type TINYINT,                         # Lease type (see lease6_types
                                                 #    table for possible values)
-    iaid INT UNSIGNED,                          # See Section 10 of RFC 3315
+    iaid INT UNSIGNED,                          # See Section 12 of RFC 8415
     prefix_len TINYINT UNSIGNED,                # For IA_PD only
     fqdn_fwd BOOL,                              # Has forward DNS update been performed by a server
     fqdn_rev BOOL,                              # Has reverse DNS update been performed by a server
index aa79252d003277f5d6d27eeff58e451b6513fa5e..b48d6e29e540e57ef39c322b8cb514cbabe45249 100644 (file)
@@ -55,7 +55,7 @@ CREATE TABLE lease6 (
     pref_lifetime BIGINT,                       -- Preferred lifetime
     lease_type SMALLINT,                        -- Lease type (see lease6_types
                                                 --    table for possible values)
-    iaid INT,                                   -- See Section 10 of RFC 3315
+    iaid INT,                                   -- See Section 12 of RFC 8415
     prefix_len SMALLINT,                        -- For IA_PD only
     fqdn_fwd BOOLEAN,                           -- Has forward DNS update been performed by a server
     fqdn_rev BOOLEAN,                           -- Has reverse DNS update been performed by a server
index 8918d3bbf7c18b98b7f86d1a7c47f0f30afb2413..133c3599250cb8daf96912223aff745e7297f50f 100644 (file)
@@ -518,7 +518,7 @@ and is described in @ref dhcpv6ClassifierFull.
 
 For each incoming packet, @ref isc::dhcp::Dhcpv6Srv::classifyPacket() method is
 called.  It attempts to extract content of the vendor class option and interprets
-as a name of the class. Although the RFC3315 says that the vendor class may
+as a name of the class. Although the RFC 8415 says that the vendor class may
 contain more than one chunk of data, the existing code handles only one data
 block, because that is what actual devices use. For now, the code has been
 tested with two classes used in cable modem networks: eRouter1.0 and docsis3.0,
index c0adebbba3b033039d9cb75b4eb3cacf6b2c79f3..0e9465d657153bf3bebaaacbb8661c741267423c 100644 (file)
@@ -258,7 +258,7 @@ void Dhcpv6Srv::sendPacket(const Pkt6Ptr& packet) {
 bool
 Dhcpv6Srv::testServerID(const Pkt6Ptr& pkt) {
     /// @todo Currently we always check server identifier regardless if
-    /// it is allowed in the received message or not (per RFC3315).
+    /// it is allowed in the received message or not (per RFC 8415).
     /// If the server identifier is not allowed in the message, the
     /// sanityCheck function should deal with it.
     OptionPtr server_id = pkt->getOption(D6O_SERVERID);
@@ -2115,7 +2115,7 @@ Dhcpv6Srv::extendIA_PD(const Pkt6Ptr& query,
     // information about client's leases from lease database. We treat this
     // as no binding for the client.
     if (!subnet) {
-        // Per RFC3633, section 12.2, if there is no binding and we are
+        // Per RFC 8415, section 18.3.4, if there is no binding and we are
         // processing a Renew, the NoBinding status code should be returned.
         if (query->getType() == DHCPV6_RENEW) {
             // Insert status code NoBinding
@@ -2124,7 +2124,7 @@ Dhcpv6Srv::extendIA_PD(const Pkt6Ptr& query,
                                                " for this duid/iaid."));
             return (ia_rsp);
 
-        // Per RFC3633, section 12.2, if there is no binding and we are
+        // Per RFC 8415, section 18.3.5, if there is no binding and we are
         // processing Rebind, the message has to be discarded (assuming that
         // the server doesn't know if the prefix in the IA_PD option is
         // appropriate for the client's link). The exception being thrown
@@ -2132,8 +2132,14 @@ Dhcpv6Srv::extendIA_PD(const Pkt6Ptr& query,
         // be discarded.
         } else {
 
-            /// @todo: RFC3315bis will probably change that behavior. Client
-            /// may rebind prefixes and addresses at the same time.
+            /// @todo: We may consider in which cases we could determine
+            /// whether the delegated prefixes are appropriate for the
+            /// link to which the client's interface is attached. Just not
+            /// being able to select the subnet may not be enough, because
+            /// there might be other DHCP servers around that are configured
+            /// to handle that subnet. Therefore we don't fully follow all
+            /// the paths in section 18.3.5 of RFC 8415 to respond with
+            /// zero lifetimes for the prefixes being rebound.
             isc_throw(DHCPv6DiscardMessageError, "no subnet found for the"
                       " client sending Rebind to extend lifetime of the"
                       " prefix (DUID=" << duid->toText() << ", IAID="
@@ -2318,15 +2324,15 @@ void
 Dhcpv6Srv::releaseLeases(const Pkt6Ptr& release, Pkt6Ptr& reply,
                          AllocEngine::ClientContext6& ctx) {
 
-    // We need to release addresses for all IA_NA options in the client's
+    // We need to release addresses for all IA options in the client's
     // RELEASE message.
-    // @todo Add support for IA_TA
-    // @todo Add support for IA_PD
-    // @todo Consider supporting more than one address in a single IA_NA.
-    // That was envisaged by RFC3315, but it never happened. The only
-    // software that supports that is Dibbler, but its author seriously doubts
-    // if anyone is really using it. Clients that want more than one address
-    // just include more instances of IA_NA options.
+
+    /// @todo Add support for IA_TA
+    /// @todo Consider supporting more than one address in a single IA.
+    /// It is allowed by RFC 8415, but it is not widely implemented. The only
+    /// software that supports that is Dibbler, but its author seriously doubts
+    /// if anyone is really using it. Clients that want more than one address
+    /// or prefix just include more instances of IA options.
 
     // Let's set the status to be success by default. We can override it with
     // error status if needed. The important thing to understand here is that
@@ -2368,9 +2374,7 @@ Dhcpv6Srv::releaseLeases(const Pkt6Ptr& release, Pkt6Ptr& reply,
         }
     }
 
-    // To be pedantic, we should also include status code in the top-level
-    // scope, not just in each IA_NA. See RFC3315, section 18.2.6.
-    // This behavior will likely go away in RFC3315bis.
+    // Include top-level status code as well.
     reply->addOption(createStatusCode(*release, general_status,
                      "Summary status for all processed IA_NAs"));
 }
@@ -3081,16 +3085,17 @@ Dhcpv6Srv::declineIA(const Pkt6Ptr& decline, const DuidPtr& duid,
             LOG_INFO(lease6_logger, DHCP6_DECLINE_FAIL_NO_LEASE)
                 .arg(decline->getLabel()).arg(decline_addr->getAddress().toText());
 
-            // RFC3315, section 18.2.7: "For each IA in the Decline message for
-            // which the server has no binding information, the server adds an
-            // IA option using the IAID from the Release message and includes
-            // a Status Code option with the value NoBinding in the IA option.
+            // According to RFC 8415, section 18.3.8:
+            // "For each IA in the Decline message for which the server has no
+            // binding information, the server adds an IA option using the IAID
+            // from the Decline message and includes a Status Code option with
+            // the value NoBinding in the IA option".
             setStatusCode(ia_rsp, createStatusCode(*decline, *ia_rsp, STATUS_NoBinding,
                                   "Server does not know about such an address."));
 
-            // RFC3315, section 18.2.7:  The server ignores addresses not
-            // assigned to the IA (though it may choose to log an error if it
-            // finds such an address).
+            // In the same section of RFC 8415:
+            // "The server ignores addresses not assigned to the IAs (though it may"
+            // choose to log an error if it finds such addresses)."
             continue; // There may be other addresses.
         }
 
index 0fd97b76c9eee30bc1320094cb446456013de892..8c6f2ee1ac35bf14d24546b1cc5006bd9fc7cb10 100644 (file)
@@ -193,9 +193,9 @@ protected:
 
     /// @brief Check if the message can be sent to unicast.
     ///
-    /// This function checks if the received message conforms to the section 15
-    /// of RFC3315 which says that: "A server MUST discard any Solicit, Confirm,
-    /// Rebind or Information-request messages it receives with a unicast
+    /// This function checks if the received message conforms to the section 16
+    /// of RFC 8415 which says that: "A server MUST discard any Solicit, Confirm,
+    /// Rebind or Information-request messages it receives with a Layer 3 unicast
     /// destination address.
     ///
     /// @param pkt DHCPv6 message to be checked.
@@ -284,7 +284,7 @@ protected:
     /// @brief Processes incoming Confirm message and returns Reply.
     ///
     /// This function processes Confirm message from the client according
-    /// to section 18.2.2. of RFC3315. It discards the Confirm message if
+    /// to section 18.3.3. of RFC 8415. It discards the Confirm message if
     /// the message sent by the client contains no addresses, i.e. it has
     /// no IA_NA options or all IA_NA options contain no IAAddr options.
     ///
@@ -396,18 +396,6 @@ protected:
     /// lease is found, an IA_NA response is generated with an appropriate
     /// status code.
     ///
-    /// @todo The behavior of this function will need to be extended to support
-    /// draft-ietf-dhc-dhcpv6-stateful-issues. This draft modifies the behavior
-    /// described in RFC3315 with respect to Renew and Rebind processing. Key
-    /// changes are (version -05):
-    /// - Renewing and Rebinding client MAY request additional bindings by
-    /// putting an IA for all bindings it desires but has been unable to obtain.
-    /// Server MAY allocate addresses if it finds that they are appropriate for
-    /// the link that client is attached to.
-    /// - When receiving Rebind, if the server determines that the addresses are
-    /// not appropriate for the link the client is attached to, the server MAY
-    /// send the IA with address lifetimes set to 0 or discard the message.
-    ///
     /// @param query client's message (Renew or Rebind)
     /// @param answer server's response to the client's message. This
     /// message should contain Client FQDN option being sent by the server
@@ -449,8 +437,8 @@ protected:
     /// lease is found, an IA_NA response is generated with an appropriate
     /// status code.
     ///
-    /// As RFC 3315 requires that a single status code be sent for the whole message,
-    /// this method may update the passed general_status: it is set to SUCCESS when
+    /// The server sends top-level Status Code option. This method may update the
+    /// passed value of that option, i.e. general_status. It is set to SUCCESS when
     /// message processing begins, but may be updated to some error code if the
     /// release process fails.
     ///
index da7bf230631c768d386b18471203e1f37d3d7824..c61873667cb7f4e6323fb0db61c29ee38f15e400 100644 (file)
@@ -111,7 +111,7 @@ TEST_F(ConfirmTest, sanityCheck) {
 // Test that directly connected client's Confirm message is processed and Reply
 // message is sent back. In this test case, the client sends Confirm for two
 // addresses that belong to the same IAID and are sent within the same IA_NA
-// option (RFC3315, section 18.2.2).
+// option (RFC 8415, section 18.3.3).
 TEST_F(ConfirmTest, directClientSameIAID) {
     Dhcp6Client client;
     // Configure client to request IA_NA.
@@ -153,7 +153,7 @@ TEST_F(ConfirmTest, directClientSameIAID) {
 // Test that directly connected client's Confirm message is processed and Reply
 // message is sent back. In this test case, the client sends Confirm for two
 // addresses that belong to different IAIDs and are sent within the different
-// IA_NA options (RFC3315, section 18.2.2).
+// IA_NA options (RFC 8415, section 18.3.3).
 TEST_F(ConfirmTest, directClientDifferentIAID) {
     Dhcp6Client client;
     // Configure client to request IA_NA.
@@ -199,7 +199,7 @@ TEST_F(ConfirmTest, directClientDifferentIAID) {
 
 
 // Test that relayed client's Confirm message is processed and Reply message
-// is sent back (RFC3315, section 18.2.2).
+// is sent back (RFC 8415, section 18.3.3).
 TEST_F(ConfirmTest, relayedClient) {
     Dhcp6Client client;
     // Client to send relayed message.
@@ -241,7 +241,7 @@ TEST_F(ConfirmTest, relayedClient) {
 }
 
 // Test that the Confirm message without any addresses is discarded
-// (RFC3315, section 18.2.2).
+// (RFC 8415, section 18.3.3).
 TEST_F(ConfirmTest, relayedClientNoAddress) {
     Dhcp6Client client;
     // Configure the server.
@@ -259,7 +259,7 @@ TEST_F(ConfirmTest, relayedClientNoAddress) {
 }
 
 // This test checks that the server processes Confirm message correctly if
-// the subnet can't be selected for the client (RFC3315, section 18.2.2).
+// the subnet can't be selected for the client (RFC 8415, section 18.3.3).
 TEST_F(ConfirmTest, relayedClientNoSubnet) {
     Dhcp6Client client;
     // Client to send relayed message.
@@ -299,7 +299,7 @@ TEST_F(ConfirmTest, relayedClientNoSubnet) {
 }
 
 // This test checks that the relayed Confirm message is processed by the server
-// when sent to unicast address RFC3315, section 18.2.8).
+// when sent to unicast address.
 TEST_F(ConfirmTest, relayedUnicast) {
     Dhcp6Client client;
     // Client to send relayed message.
@@ -325,7 +325,7 @@ TEST_F(ConfirmTest, relayedUnicast) {
 }
 
 // This test checks that the Confirm message is discarded by the server if it
-// has been sent to unicast address (RFC3315, section 15).
+// has been sent to unicast address (RFC 8415, section 18.3.3).
 TEST_F(ConfirmTest, unicast) {
     Dhcp6Client client;
     // Configure client to request IA_NA.
index 8a8d1708b07b9c89b3960a720d1788211c8b0d1a..2a2f505fb68a56d9e20c5f03d69e210780d9a4cd 100644 (file)
@@ -361,7 +361,7 @@ TEST_F(Dhcpv6SrvTest, DUID) {
 
         // No failure here. There's really no way for test LL DUID. It doesn't
         // even make sense to check if that Link Layer is actually present on
-        // a physical interface. RFC3315 says a server should write its DUID
+        // a physical interface. RFC 8415 says a server should write its DUID
         // and keep it despite hardware changes.
         break;
     }
@@ -1274,7 +1274,7 @@ TEST_F(Dhcpv6SrvTest, testUnicast) {
             << "server accepts message type "
             << static_cast<int>(not_allowed_unicast[i])
             << "being sent to unicast address; this message should"
-            " be discarded according to section 15 of RFC3315";
+            " be discarded according to section 18.4 of RFC 8415";
     }
     // Explicitly list client/relay message types which are allowed to
     // be sent to unicast.
index 45d449b844cc4b53761e85d504454bd5831256fc..f25e164586057124be688ccb18ab50ba28307075 100644 (file)
@@ -501,7 +501,7 @@ Dhcpv6SrvTest::testReleaseBasic(Lease::Type type, const IOAddress& existing,
     checkIA_NAStatusCode(ia, STATUS_Success, 0, 0);
     checkMsgStatusCode(reply, STATUS_Success);
 
-    // There should be no address returned in RELEASE (see RFC3315, 18.2.6)
+    // There should be no address returned in RELEASE (see RFC 8415, 18.3.7)
     // There should be no prefix
     EXPECT_FALSE(tmp->getOption(D6O_IAADDR));
     EXPECT_FALSE(tmp->getOption(D6O_IAPREFIX));
index 207db8e0f1db515bb707110b846410df90e72079..915794382e43c24256c48a3f30d87d58cd41bb47 100644 (file)
@@ -829,7 +829,7 @@ TEST_F(RebindTest, directClientPDChangingPrefix) {
 /// @todo Extend PD tests to cover same prefix by different length.
 
 // This test checks that the Rebind message is discarded by the server if it
-// has been sent to unicast address (RFC3315, section 15).
+// has been sent to unicast address (RFC 8415, section 18.4).
 TEST_F(RebindTest, unicast) {
     Dhcp6Client client;
     // Configure client to request IA_NA.
@@ -840,7 +840,7 @@ TEST_F(RebindTest, unicast) {
     Lease6 lease_client = client.getLease(0);
     // Set the unicast destination address for the Rebind message.
     // The Rebind should be discarded when sent to unicast address,
-    // according to section 15 of RFC3315.
+    // according to section 18.4 of RFC 8415.
     client.setDestAddress(IOAddress("2001:db8:1::1"));
     // Send the Rebind message to a unicast address.
     ASSERT_NO_THROW(client.doRebind());
index 154deabc17beeea89a8b9440ab26c3c266fce74f..d264248236629bdd0f324a41fc10cef09c7f17bf 100644 (file)
@@ -548,7 +548,7 @@ CommandOptions::initialize(int argc, char** argv, bool print_cmd_line) {
     }
 
     // Get server argument
-    // NoteFF02::1:2 and FF02::1:3 are defined in RFC3315 as
+    // NoteFF02::1:2 and FF02::1:3 are defined in RFC 8415 as
     // All_DHCP_Relay_Agents_and_Servers and All_DHCP_Servers
     // addresses
     check(optind < argc -1, "extra arguments?");
@@ -726,7 +726,7 @@ CommandOptions::generateDuidTemplate() {
     duid_template_[2] = HWTYPE_ETHERNET >> 8;
     duid_template_[3] = HWTYPE_ETHERNET & 0xff;
 
-    // As described in RFC3315: 'the time value is the time
+    // As described in RFC 8415: 'the time value is the time
     // that the DUID is generated represented in seconds
     // since midnight (UTC), January 1, 2000, modulo 2^32.'
     ptime now = microsec_clock::universal_time();
index 4f8b2b79a1daa35d005d3328711f0316b6457829..75a9848cd66a5d9af022875b17dd5e575ae3c9a3 100644 (file)
@@ -387,7 +387,7 @@ public:
             EXPECT_TRUE(std::equal(new_duid.begin(), new_duid.begin() + 4,
                                    duid_llt_and_hw));
 
-            // As described in RFC3315: 'the time value is the time
+            // As described in RFC 8415: 'the time value is the time
             // that the DUID is generated represented in seconds
             // since midnight (UTC), January 1, 2000, modulo 2^32.'
             uint32_t duid_time = 0;
index dc343686c030dafa4ac92f5b74792387d13b07fb..b2b84b872a3ea10f36f7abf61a5b1e3fc9d74916 100644 (file)
@@ -18,7 +18,7 @@
 
 /* DHCPv6 Option codes: */
 enum DHCPv6OptionType {
-   D6O_CLIENTID                            = 1, /* RFC3315 */
+   D6O_CLIENTID                            = 1, /* RFC 8415 */
    D6O_SERVERID                            = 2,
    D6O_IA_NA                               = 3,
    D6O_IA_TA                               = 4,
@@ -167,7 +167,7 @@ enum DHCPv6OptionType {
 };
 
 /*
- * Status Codes, from RFC 3315 section 24.4, and RFC 3633, 5007, 5460.
+ * Status Codes, from RFC 8415 section 21.13, 5007, 5460.
  */
 enum DHCPv6StatusCode {
    STATUS_Success                    = 0,
@@ -207,7 +207,7 @@ enum DHCPv6StatusCode {
 };
 
 /*
- * DHCPv6 message types, defined in section 5.3 of RFC 3315
+ * DHCPv6 message types, defined in section 7.3 of RFC 8415
  */
 enum DHCPv6MessageType {
    DHCPV6_SOLICIT              = 1,
@@ -256,7 +256,7 @@ enum DHCPv6MessageType {
 extern const char *dhcpv6_type_names[];
 extern const int dhcpv6_type_name_max;
 
-// DUID type definitions (RFC3315 section 9).
+// DUID type definitions (RFC 8415 section 11).
 // see isc::dhcp::DUID::DUIDType enum in dhcp/duid.h
 
 // Define hardware types
@@ -296,7 +296,7 @@ static const uint16_t IAPREFIX_OFFSET = 25;
 static const uint16_t LQ_QUERY_OFFSET = 17;
 
 /*
- * DHCPv6 well-known multicast addresses, from section 5.1 of RFC 3315
+ * DHCPv6 well-known multicast addresses, from section 7.1 of RFC 8415
  */
 // TODO
 #define ALL_DHCP_RELAY_AGENTS_AND_SERVERS "ff02::1:2"
@@ -306,7 +306,7 @@ static const uint16_t DHCP6_CLIENT_PORT = 546;
 static const uint16_t DHCP6_SERVER_PORT = 547;
 
 /*
- * DHCPv6 Retransmission Constants (RFC3315 section 5.5, RFC 5007)
+ * DHCPv6 Retransmission Constants (RFC 8415 section 7.6, RFC 5007)
  */
 
 // TODO
index 1b4e42bd6c50db61b78b2f21001fad90a412be4d..5ce8b2b0a936be52b7aab4bbcaae80c82f6e9a34 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2016 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2012-2018 Internet Systems Consortium, Inc. ("ISC")
 //
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -27,21 +27,20 @@ typedef boost::shared_ptr<DUID> DuidPtr;
 class DUID {
  public:
     /// @brief maximum duid size
-    /// As defined in RFC3315, section 9.1
+    /// As defined in RFC 8415, section 11.1
     static const size_t MAX_DUID_LEN = 128;
 
     /// @brief minimum duid size
-    /// There's no explicit minimal DUID size specified in RFC3315,
-    /// so let's use absolute minimum
+    /// The minimal DUID size specified in RFC 8415 is 1.
     static const size_t MIN_DUID_LEN = 1;
 
     /// @brief specifies DUID type
     typedef enum {
         DUID_UNKNOWN = 0, ///< invalid/unknown type
-        DUID_LLT = 1,     ///< link-layer + time, see RFC3315, section 9.2
-        DUID_EN = 2,      ///< enterprise-id, see RFC3315, section 9.3
-        DUID_LL = 3,      ///< link-layer, see RFC3315, section 9.4
-        DUID_UUID = 4,    ///< UUID, see RFC6355
+        DUID_LLT = 1,     ///< link-layer + time, see RFC3315, section 11.2
+        DUID_EN = 2,      ///< enterprise-id, see RFC3315, section 11.3
+        DUID_LL = 3,      ///< link-layer, see RFC3315, section 11.4
+        DUID_UUID = 4,    ///< UUID, see RFC3315, section 11.5
         DUID_MAX          ///< not a real type, just maximum defined value + 1
     } DUIDType;
 
index 4d422d93687bd644b7454fb595498730b548666f..d3d6f714dd13267aeb76ada1c95be6cc0f97a5a6 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2018 Internet Systems Consortium, Inc. ("ISC")
 //
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -18,17 +18,17 @@ namespace dhcp {
 
 /// @brief Factory for generating DUIDs (DHCP Unique Identifiers).
 ///
-/// DHCPv6 clients and servers are identified by DUIDs (see RFC3315).
+/// DHCPv6 clients and servers are identified by DUIDs (see RFC 8415).
 /// DUIDs are unique identifiers carried in the appropriate DHCP
-/// options. RFC3315 defines 3 types of DUIDs:
+/// options. RFC 8415 defines 4 types of DUIDs:
 /// -# DUID-LLT
 /// -# DUID-EN
 /// -# DUID-LL
+/// -# DUID-UUID
 ///
 /// of which the DUID-LLT is recommended for all general purpose computing
-/// devices. RFC6355 defines new DUID-UUID and any future specifications may
-/// define new DUID types. The current implementation of the class only
-/// supports DUID types defined in RFC3315.
+/// devices. Future specifications may define new DUID types. The current
+/// implementation of the class only supports DUID types defined in RFC 8415.
 ///
 /// In most cases DUIDs can be generated automatically, i.e. no manual
 /// configuration is required. For example, DUID-LLT is composed of the
index 43fc90881545ccdf63b7df7f1995cf3276e7fddf..700bc74a7c0eefb20e258696ab02f2a7c02a6ed2 100644 (file)
@@ -494,7 +494,7 @@ public:
 
     /// @brief Packet reception buffer size
     ///
-    /// RFC3315 states that server responses may be
+    /// RFC 8415 states that server responses may be
     /// fragmented if they are over MTU. There is no
     /// text whether client's packets may be larger
     /// than 1500. For now, we can assume that
index f2d98d55cdcd7bbc230ea0807e2a6fe8e97f83a2..1a442a7147ff8b9ddd1ab2adeffb373fe0f7e0e7 100644 (file)
@@ -23,7 +23,7 @@ typedef boost::shared_ptr<Option6Auth> Option6AuthPtr;
 
 /// @brief This class represents Authentication (11) DHCPv6 option.
 ///
-/// For details, see draft-ietf-rfc3315bis-13, Section 21.11.
+/// For details, see RFC 8415 Section 21.11.
 class Option6Auth: public Option {
 
 public:
index c4f13e890aad70bc9fe5288de8f05795c4f38210..5e9f3111dbe703084443580e54e5dfc869f38045 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2017 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2018 Internet Systems Consortium, Inc. ("ISC")
 //
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -20,7 +20,7 @@ class Option6StatusCode;
 /// @brief Pointer to the @c isc::dhcp::Option6StatusCode.
 typedef boost::shared_ptr<Option6StatusCode> Option6StatusCodePtr;
 
-/// @brief This class represents Status Code option (13) from RFC3315.
+/// @brief This class represents Status Code option (13) from RFC 8415.
 class Option6StatusCode: public Option {
 public:
     /// @brief Constructor, used for options constructed (during transmission).
index 076b96187b75cf980623a6d3d5ec9ecbf900ec25..b0a311decee7c53dbea5b0aad88a6cd098d53656 100644 (file)
@@ -86,7 +86,7 @@ class OptionIntArray;
 /// this is a single value the option type points to the data type of the
 /// value. For example, DHCPv6 option 8 comprises a two-byte option code, a
 /// two-byte option length and two-byte field that carries a uint16 value
-/// (RFC 3315 - http://ietf.org/rfc/rfc3315.txt).  In such a case, the option
+/// (RFC 8415 - http://ietf.org/rfc/rfc8415.txt).  In such a case, the option
 /// type is defined as "uint16". Length and string tuples are a length
 /// on one (DHCPv4) or two (DHCPv6) bytes followed by a string of
 /// the given length.
@@ -96,7 +96,7 @@ class OptionIntArray;
 ///
 /// Array types should be used when the option contains multiple contiguous
 /// data values of the same type laid. For example, DHCPv6 option 6 includes
-/// multiple fields holding uint16 codes of requested DHCPv6 options (RFC 3315).
+/// multiple fields holding uint16 codes of requested DHCPv6 options (RFC 8415).
 /// Such an option can be represented with this class by setting the option
 /// type to "uint16" and the array indicator (array_type) to true.  The number
 /// of elements in the array is effectively unlimited (although it is actually
index 96c401d1849f749c106741b6009ba5b275291e6e..a19fb8910f0f46c9ca8b2fa06593ed79be54b5fc 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2016 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2012-2018 Internet Systems Consortium, Inc. ("ISC")
 //
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -129,7 +129,7 @@ private:
 /// This class extends the base class with the support for enterprise numbers.
 /// The enterprise numbers are assigned by IANA to various organizations
 /// and they are carried as uint32_t integers in DHCPv6 Vendor Specific
-/// Information Options (VSIO). For more information refer to RFC3315.
+/// Information Options (VSIO). For more information refer to RFC 8415.
 /// All option spaces that group VSIO options must have enterprise number
 /// set. It can be set using a constructor or \ref setVendorSpace function.
 /// The extra functionality of this class (enterprise numbers) allows to
index 0bff59aa1d2552f31b8ddaa7993506cf37885803..e616ebe7047c66ab1420fda908c918fde86a1ec9 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2017 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2014-2018 Internet Systems Consortium, Inc. ("ISC")
 //
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -21,8 +21,8 @@ namespace dhcp {
 /// @brief This class encapsulates DHCPv6 Vendor Class and DHCPv4 V-I Vendor
 /// Class options.
 ///
-/// The format of DHCPv6 Vendor Class option (16) is described in section 22.16
-/// of RFC3315 and the format of the DHCPv4 V-I Vendor Class option (124) is
+/// The format of DHCPv6 Vendor Class option (16) is described in section 21.16
+/// of RFC 8415 and the format of the DHCPv4 V-I Vendor Class option (124) is
 /// described in section 3 of RFC3925. Each of these options carries enterprise
 /// id followed by the collection of tuples carrying opaque data. A single tuple
 /// consists of the field holding opaque data length and the actual data.
@@ -178,7 +178,7 @@ private:
     ///
     /// For DHCPv6, The Vendor Class option mandates a 2-byte
     /// OPTION_VENDOR_CLASS followed by a 2-byte option-len with a 4-byte
-    /// enterprise-number.  While section 22.16 of RFC3315 specifies that the
+    /// enterprise-number.  While section 21.16 of RFC 8415 specifies that the
     /// information contained within the data area can contain one or more
     /// opaque fields, the inclusion of the vendor-class-data is not mandatory
     /// and therefore not factored into the overall possible minimum length.
index e19666ba8b87ec17c3178e821332a4202393f165..99fc68c00219a9478fdf90e2a2b671088ecad67c 100644 (file)
@@ -298,7 +298,7 @@ Pkt6::packUDP() {
             for (vector<RelayInfo>::iterator relay = relay_info_.begin();
                  relay != relay_info_.end(); ++relay) {
 
-                // build relay-forw/relay-repl header (see RFC3315, section 7)
+                // build relay-forw/relay-repl header (see RFC 8415, section 9)
                 buffer_out_.writeUint8(relay->msg_type_);
                 buffer_out_.writeUint8(relay->hop_count_);
                 buffer_out_.writeData(&(relay->linkaddr_.toBytes()[0]),
index a38d3684eaf03eba3bf56521442367aa3fdd31bf..70554443d1f43ed597d91a0ea5bb62b1147f6568 100644 (file)
@@ -22,11 +22,11 @@ namespace dhcp {
 /// The DHCPv6 server uses DHCPv6 Unique Identifier (DUID) to identify itself
 /// to the clients. Typically, the server generates the DUID on the first
 /// startup and writes it to the persistent storage so as it doesn't change
-/// across restarts of the server. RFC3315 and RFC6355 define different DUID
-/// types. Kea allows for selecting a type of DUID that the server should
-/// generate. It also allows for overriding entire default DUID or parts of
-/// it via configuration file. This class holds the DUID configuration
-/// specified in the server configuration file.
+/// across restarts of the server. RFC 8415 defines different DUID types.
+/// Kea allows for selecting a type of DUID that the server should generate.
+/// It also allows for overriding entire default DUID or parts of it via
+/// configuration file. This class holds the DUID configuration specified
+/// in the server configuration file.
 class CfgDUID : public data::UserContext, public isc::data::CfgToElement {
 public:
 
index 149d6f3578e5c9d386ab03a2de3a6b53e55eca91..e98b8bbaf11079c4e08c6fbb04035067f83aae63 100644 (file)
@@ -715,9 +715,9 @@ private:
     /// @brief key for authentication .
     ///
     /// key is a 16 byte value to be used in the authentication field.
-    /// Server replies will contain the below key in authentication field as specified in the RFC 3315bis. 
-    //  While sending reconfigure message authentication field 
-    /// shall contain MD5 hash computed using this key.
+    /// Server replies will contain the below key in authentication field
+    /// as specified in the RFC 8415. While sending reconfigure message
+    /// authentication field shall contain MD5 hash computed using this key.
     AuthKey key_;
 };
 
index 3b9e86731f592095bdd4340684bb59f9bb87e320..4468a98101b7259198538768811478a29d6c53b0 100644 (file)
@@ -63,7 +63,7 @@ CREATE TABLE lease6 (
     pref_lifetime INT UNSIGNED,                 # Preferred lifetime
     lease_type TINYINT,                         # Lease type (see lease6_types
                                                 #    table for possible values)
-    iaid INT UNSIGNED,                          # See Section 10 of RFC 3315
+    iaid INT UNSIGNED,                          # See Section 12 of RFC 8415
     prefix_len TINYINT UNSIGNED,                # For IA_PD only
     fqdn_fwd BOOL,                              # Has forward DNS update been performed by a server
     fqdn_rev BOOL,                              # Has reverse DNS update been performed by a server
index e9c4479a03492c71f15cf14902e4bb9905ffb528..96aec175c3bd9144a25e12b50602a73962c44280 100644 (file)
@@ -54,7 +54,7 @@ CREATE TABLE lease6 (
     pref_lifetime BIGINT,                       -- Preferred lifetime
     lease_type SMALLINT,                        -- Lease type (see lease6_types
                                                 --    table for possible values)
-    iaid INT,                                   -- See Section 10 of RFC 3315
+    iaid INT,                                   -- See Section 12 of RFC 8415
     prefix_len SMALLINT,                        -- For IA_PD only
     fqdn_fwd BOOLEAN,                           -- Has forward DNS update been performed by a server
     fqdn_rev BOOLEAN,                           -- Has reverse DNS update been performed by a server