summaryrefslogtreecommitdiff
path: root/src/network/networkd-link.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/networkd-link.c')
-rw-r--r--src/network/networkd-link.c35
1 files changed, 25 insertions, 10 deletions
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index 9eb2e89091..a37561a04a 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -1722,9 +1722,14 @@ int link_save(Link *link) {
if (link->network) {
char **address;
+ char **domain;
fputs("DNS=", f);
+ STRV_FOREACH(address, link->network->dns)
+ fprintf(f, "%s%s", *address,
+ (address + 1 ? " " : ""));
+
if (link->network->dhcp_dns &&
link->dhcp_lease) {
const struct in_addr *addresses;
@@ -1737,14 +1742,14 @@ int link_save(Link *link) {
}
}
- STRV_FOREACH(address, link->network->dns)
- fprintf(f, "%s%s", *address,
- (address + 1 ? " " : ""));
-
fputs("\n", f);
fprintf(f, "NTP=");
+ STRV_FOREACH(address, link->network->ntp)
+ fprintf(f, "%s%s", *address,
+ (address + 1 ? " " : ""));
+
if (link->network->dhcp_ntp &&
link->dhcp_lease) {
const struct in_addr *addresses;
@@ -1757,21 +1762,31 @@ int link_save(Link *link) {
}
}
- STRV_FOREACH(address, link->network->ntp)
- fprintf(f, "%s%s", *address,
- (address + 1 ? " " : ""));
-
fputs("\n", f);
+ fprintf(f, "DOMAINS=");
+
+ STRV_FOREACH(domain, link->network->domains)
+ fprintf(f, "%s%s", *domain,
+ (domain + 1 ? " " : ""));
+
if (link->network->dhcp_domains &&
link->dhcp_lease) {
const char *domainname;
r = sd_dhcp_lease_get_domainname(link->dhcp_lease, &domainname);
- if (r >= 0)
- fprintf(f, "DOMAINS=%s\n", domainname);
+ if (r >= 0) {
+ fputs(domainname, f);
+ if (link->network->domains)
+ fputs(" ", f);
+ }
}
+ fputs("\n", f);
+
+ fprintf(f, "WILDCARD_DOMAIN=%s\n",
+ yes_no(link->network->wildcard_domain));
+
fprintf(f, "LLMNR=%s\n",
llmnr_support_to_string(link->network->llmnr));
}