diff options
| author | Michael Biebl <biebl@debian.org> | 2020-06-28 18:58:14 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2020-06-28 18:58:14 +0200 |
| commit | a54ac63bbf9b2c71026ac9028a8ffaf186cf3c82 (patch) | |
| tree | 6a32883bd916c4096357b35298beff6db8bcd0b5 /src/dhcp/nm-dhcp-dhclient-utils.c | |
| parent | 45e8e1149027529194982212c804c0468aa01d98 (diff) | |
New upstream version 1.25.90 upstream/1.25.90
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"); |