[PATCH 1/5] dhcp6: Include Client ID in Information-Request
Andrew Zaborowski <[email protected]>
| Newsgroups | dev.linux.lists.ell |
|---|---|
| Message-ID | <[email protected]> |
The Reply parser requires that the Client ID be present in the Reply but the server only includes that if the Information-Request included the Client ID. RFC 8415 Section 18.2.6 has this to say about the Client ID: "The client SHOULD include a Client Identifier option (see Section 21.2) to identify itself to the server (however, see Section 4.3.1 of [RFC7844] for reasons why a client may not want to include this option). If the client does not include a Client Identifier option, the server will not be able to return any client-specific options to the client, or the server may choose not to respond to the message at all." RFC 7833 Section 4.3.1 says this: "When using stateless DHCPv6, clients wanting to protect their privacy SHOULD NOT include client identifiers in their Information-request messages. This will prevent the server from specifying client-specific options if it is configured to do so, but the need for anonymity precludes such options anyway." --- The obvious alternative is to not include the Client ID and not require it in the Reply validation, or make this configurable to avoid privacy concerns. I'm happy to go with either of these options. ell/dhcp6.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ell/dhcp6.c b/ell/dhcp6.c index 2792ff2..0705a7b 100644 --- a/ell/dhcp6.c +++ b/ell/dhcp6.c @@ -738,6 +738,8 @@ static int dhcp6_client_send_information_request(struct l_dhcp6_client *client) option_append_elapsed_time(builder, client->transaction_start_t); option_append_option_request(builder, client->request_options, DHCP6_STATE_REQUESTING_INFORMATION); + option_append_bytes(builder, DHCP6_OPTION_CLIENT_ID, + client->duid, client->duid_len); information_request = dhcp6_message_builder_free(builder, false, &information_request_len); -- 2.34.1