diff --git a/src/n-dhcp4/src/n-dhcp4-c-connection.c b/src/n-dhcp4/src/n-dhcp4-c-connection.c index 5abd6f5991..dd1a573a67 100644 --- a/src/n-dhcp4/src/n-dhcp4-c-connection.c +++ b/src/n-dhcp4/src/n-dhcp4-c-connection.c @@ -543,12 +543,14 @@ static int n_dhcp4_c_connection_new_message(NDhcp4CConnection *connection, if (r) return r; - r = n_dhcp4_outgoing_append(message, - N_DHCP4_OPTION_CLIENT_IDENTIFIER, - connection->client_config->client_id, - connection->client_config->n_client_id); - if (r) - return r; + if (connection->client_config->n_client_id > 0) { + r = n_dhcp4_outgoing_append(message, + N_DHCP4_OPTION_CLIENT_IDENTIFIER, + connection->client_config->client_id, + connection->client_config->n_client_id); + if (r) + return r; + } switch (message_type) { case N_DHCP4_MESSAGE_DISCOVER: diff --git a/src/n-dhcp4/src/n-dhcp4-client.c b/src/n-dhcp4/src/n-dhcp4-client.c index 3b4a70c802..7689ba938a 100644 --- a/src/n-dhcp4/src/n-dhcp4-client.c +++ b/src/n-dhcp4/src/n-dhcp4-client.c @@ -403,7 +403,7 @@ _c_public_ int n_dhcp4_client_new(NDhcp4Client **clientp, NDhcp4ClientConfig *co return N_DHCP4_E_INVALID_TRANSPORT; } - if (config->n_client_id < 1) + if (config->n_client_id != 0 && config->n_client_id < 2) return N_DHCP4_E_INVALID_CLIENT_ID; }