chiark / gitweb /
networkd: always write out locally configured settings first, dhcp-acquired ones...
[elogind.git] / src / network / networkd-link.c
index d25343ba2ba4d87125a444132bdabed7f6d51f3b..a37561a04ada49267a3a9175821582a172c501be 100644 (file)
@@ -1726,6 +1726,10 @@ int link_save(Link *link) {
 
                 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;
@@ -1738,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;
@@ -1758,14 +1762,14 @@ 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;
@@ -1778,12 +1782,11 @@ int link_save(Link *link) {
                         }
                 }
 
-                STRV_FOREACH(domain, link->network->domains)
-                        fprintf(f, "%s%s", *domain,
-                                (domain + 1 ? " " : ""));
-
                 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));
         }