[RFC] netconfig: Global option to send hostname with dhcp request for all networks

Bryce Johnson <[email protected]>
Newsgroups dev.linux.lists.iwd
Message-ID <CADXxVS+UQfrbWFfsDnW1QvkpvmEnkxMdv+OPBy=XpPXEFdcU8Q@mail.gmail.com>
Add global option to send hostname with dhcp always with
[IPv4].SendHostnameAlways so the first DHCP request will include the
hostname on first connection and don't need to modify the .psk files
to add SendHostname after they are created.

---
diff --git a/src/iwd.config.rst b/src/iwd.config.rst
index 4ba7b4e7..4f473e07 100644
--- a/src/iwd.config.rst
+++ b/src/iwd.config.rst
@@ -429,6 +429,11 @@ The group ``[IPv4]`` contains settings related to
IPv4 network configuration.
        will limit the number of access points that can be running
        simultaneously on different interfaces.

+   * - SendHostnameAlways
+     - Values: true, **false**
+
+       Always send the hostname in the DHCP request for all networks.
+
 DriverQuirks
 ------------

diff --git a/src/netconfig.c b/src/netconfig.c
index cd19217c..5959a5ac 100644
--- a/src/netconfig.c
+++ b/src/netconfig.c
@@ -375,7 +375,9 @@ gateway:
    }

 send_hostname:
-   if (l_settings_has_key(active_settings, "IPv4", "SendHostname") &&
+   l_settings_get_bool(iwd_get_config(), "IPv4",
"SendHostnameAlways", &send_hostname);
+
+   if (!send_hostname && l_settings_has_key(active_settings, "IPv4",
"SendHostname") &&
            !l_settings_get_bool(active_settings, "IPv4",
                        "SendHostname",
                        &send_hostname)) {
@@ -391,13 +393,20 @@ send_hostname:
        goto mdns;
    }

-   if (send_hostname &&
-           !l_netconfig_set_hostname(netconfig->nc, hostname)) {
-       l_error("netconfig: l_netconfig_set_hostname() failed");
-       success = false;
-       goto mdns;
+   if (send_hostname) {
+       if (!l_netconfig_set_hostname(netconfig->nc, hostname)) {
+           l_error("netconfig: l_netconfig_set_hostname() failed");
+           success = false;
+       } else {
+           l_debug("netconfig: Hostname '%s' will be sent in DHCP
requests", hostname);
+       }
+   } else {
+       l_debug("netconfig: No hostname will be sent in DHCP requests");
    }

+   goto mdns;
+
+
 mdns:
    /* If the networks has this set take that over the global */
    if (l_settings_has_key(active_settings, "Network", "MulticastDNS")) {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.