X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkctl.c;h=d6d2e1dd274ad980f5c1888264edbb56ea2532b9;hp=33fe8bfc6103d91de4b80bbfe52f12306804f74d;hb=78c958f82e929f015169ce1ed614d1e9c50928aa;hpb=db73295accbec0c6513817f0a64a92018592bb26 diff --git a/src/network/networkctl.c b/src/network/networkctl.c index 33fe8bfc6..d6d2e1dd2 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -141,7 +141,7 @@ static int decode_and_sort_links(sd_rtnl_message *m, LinkInfo **ret) { c++; } - qsort(links, c, sizeof(LinkInfo), link_info_compare); + qsort_safe(links, c, sizeof(LinkInfo), link_info_compare); *ret = links; links = NULL; @@ -366,6 +366,17 @@ static int link_status_one(sd_rtnl *rtnl, struct udev *udev, const char *name) { sd_network_link_get_dns(ifindex, &dns); sd_network_link_get_ntp(ifindex, &ntp); sd_network_link_get_domains(ifindex, &domains); + r = sd_network_link_get_wildcard_domain(ifindex); + if (r > 0) { + char *wildcard; + + wildcard = strdup("*"); + if (!wildcard) + return log_oom(); + + if (strv_consume(&domains, wildcard) < 0) + return log_oom(); + } sprintf(devid, "n%i", ifindex); d = udev_device_new_from_device_id(udev, devid); @@ -416,7 +427,7 @@ static int link_status_one(sd_rtnl *rtnl, struct udev *udev, const char *name) { if (!strv_isempty(dns)) dump_list(" DNS: ", dns); if (!strv_isempty(domains)) - dump_list(" Domains: ", domains); + dump_list(" Domain: ", domains); if (!strv_isempty(ntp)) dump_list(" NTP: ", ntp); @@ -443,7 +454,7 @@ static int link_status(char **args, unsigned n) { if (n <= 1 && !arg_all) { _cleanup_free_ char *operational_state = NULL; - _cleanup_strv_free_ char **dns = NULL, **ntp = NULL; + _cleanup_strv_free_ char **dns = NULL, **ntp = NULL, **domains = NULL; _cleanup_free_ struct local_address *addresses = NULL; const char *on_color_operational, *off_color_operational; int i, c; @@ -469,7 +480,11 @@ static int link_status(char **args, unsigned n) { if (!strv_isempty(dns)) dump_list(" DNS: ", dns); - sd_network_get_dns(&ntp); + sd_network_get_domains(&domains); + if (!strv_isempty(domains)) + dump_list(" Domain: ", domains); + + sd_network_get_ntp(&ntp); if (!strv_isempty(ntp)) dump_list(" NTP: ", ntp);