diff options
| author | Sebastien Bacher <seb128@ubuntu.com> | 2020-07-02 12:20:27 +0200 |
|---|---|---|
| committer | Sebastien Bacher <seb128@ubuntu.com> | 2020-07-02 12:20:27 +0200 |
| commit | 486e0bef719d78ee55d2166b0bfb4fa684c09854 (patch) | |
| tree | aead4c1cc30eb61a2d9dec70f7c8339904506fad /src/dhcp/nm-dhcp-dhclient-utils.c | |
| parent | 39143df7aed46e83f8c68ea9ad6d24cfdf5a1dd8 (diff) | |
| parent | 10ae7d8cd706062742d0cdb1803d49909aef9e06 (diff) | |
Merge branch 'upstream/latest' of https://salsa.debian.org/utopia-team/network-manager into upstream/latest
Diffstat (limited to 'src/dhcp/nm-dhcp-dhclient-utils.c')
| -rw-r--r-- | src/dhcp/nm-dhcp-dhclient-utils.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/dhcp/nm-dhcp-dhclient-utils.c b/src/dhcp/nm-dhcp-dhclient-utils.c index da28abad..76fc1a89 100644 --- a/src/dhcp/nm-dhcp-dhclient-utils.c +++ b/src/dhcp/nm-dhcp-dhclient-utils.c @@ -33,6 +33,13 @@ #define ALSOREQ_TAG "also request " #define REQ_TAG "request " +#define MUDURLv4_DEF "option mudurl code 161 = text;\n" +#define MUDURLv4_FMT "send mudurl \"%s\";\n" + +#define MUDURLv6_DEF "option dhcp6.mudurl code 112 = text;\n" +#define MUDURLv6_FMT "send dhcp6.mudurl \"%s\";\n" + + static void add_request (GPtrArray *array, const char *item) { @@ -183,6 +190,19 @@ add_hostname6 (GString *str, } } +static void add_mud_url_config(GString *str, const char *mud_url, int addr_family) +{ + if (mud_url) { + if (addr_family == AF_INET) { + g_string_append (str, MUDURLv4_DEF); + g_string_append_printf (str, MUDURLv4_FMT, mud_url); + } else { + g_string_append (str, MUDURLv6_DEF); + g_string_append_printf (str, MUDURLv6_FMT, mud_url); + } + } +} + static GBytes * read_client_id (const char *str) { @@ -286,6 +306,7 @@ nm_dhcp_dhclient_create_config (const char *interface, guint32 timeout, gboolean use_fqdn, NMDhcpHostnameFlags hostname_flags, + const char *mud_url, const char *orig_path, const char *orig_contents, GBytes **out_new_client_id) @@ -451,6 +472,7 @@ nm_dhcp_dhclient_create_config (const char *interface, g_string_append_printf (new_contents, "timeout %u;\n", timeout); } + add_mud_url_config (new_contents, mud_url, addr_family); if (addr_family == AF_INET) { add_ip4_config (new_contents, client_id, hostname, use_fqdn, hostname_flags); add_request (reqs, "rfc3442-classless-static-routes"); |