<p dir="ltr">On Aug 14, 2014 1:21 AM, "Lennart Poettering" <<a href="mailto:lennart@poettering.net">lennart@poettering.net</a>> wrote:<br>
><br>
> On Mon, 04.08.14 10:05, Michael Marineau (<a href="mailto:michael.marineau@coreos.com">michael.marineau@coreos.com</a>) wrote:<br>
><br>
> Patch looks pretty good, though I'd really prefer if we could do the<br>
> UseDomain= thing as discussed in the other mail, and not propagate<br>
> DHCP-supplied domain names unless explicitly requested.<br>
><br>
> This would means we probably mean we'd need two new sd-network.h calls:<br>
><br>
> int sd_network_get_link_route_domains(int ifindex, char **domains);<br>
> int sd_network_get_link_search_domains(int ifindex, char **domains);<br>
><br>
> The former would return the list of domains whose requests shall be<br>
> routed to the specified interface, and the latter would be the list of<br>
> domains we actively use for searching single-label domains in.<br>
><br>
> Any domains configured statically for a link in the .network files would<br>
> be listed in both lists. And depending on the UseDomains= settings the<br>
> dhcp provides domains might be listed on none, both or only one of<br>
> them. or something like that...<br>
><br>
> ><br>
> >  src/network/networkd-link.c    |  9 +++++++++<br>
> >  src/network/sd-network.c       | 24 ++++++++++++++++++++++++<br>
> >  src/resolve/resolved-link.c    | 20 ++++++++++++++++++++<br>
> >  src/resolve/resolved-link.h    |  2 ++<br>
> >  src/resolve/resolved-manager.c | 10 +++++++++-<br>
> >  src/systemd/sd-network.h       |  3 +++<br>
> >  6 files changed, 67 insertions(+), 1 deletion(-)<br>
> ><br>
> > diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c<br>
> > index 172be64..42d528f 100644<br>
> > --- a/src/network/networkd-link.c<br>
> > +++ b/src/network/networkd-link.c<br>
> > @@ -2385,6 +2385,15 @@ int link_save(Link *link) {<br>
> >                                  (address + 1 ? " " : ""));<br>
> ><br>
> >                  fputs("\n", f);<br>
> > +<br>
> > +                if (link->network->dhcp_domainname &&<br>
> > +                    link->dhcp_lease) {<br>
> > +                        const char *domainname;<br>
> > +<br>
> > +                        r = sd_dhcp_lease_get_domainname(link->dhcp_lease, &domainname);<br>
> > +                        if (r >= 0)<br>
> > +                                fprintf(f, "DOMAINNAME=%s\n",<br>
> > domainname);<br>
><br>
> THis should be plural really, from the beginning. After all the newer<br>
> DHCP specs allow a full list... and we want to allow a full list to be<br>
> provided in the .network files too...<br>
><br>
> Lennart<br>
><br>
> --<br>
> Lennart Poettering, Red Hat</p>
<p dir="ltr">Right now the search domains DHCP option is unsupported so it is indeed singular. Also I had assumed since search domains is both a different DHCP option and a different resolve.conf option that they would be recorded separately but I suppose the two options is more of a legacy artifact than meaningful distinction so it is equally as valid to squash them together into the search domain list. I am happy to write a follow up patch to implement the search domains option and support providing additional domains in the .network file but I think this patch can stand alone since it fixes a regression.<br>

</p>