From: Susant Sahani Date: Thu, 18 Jun 2020 15:01:21 +0000 (+0900) Subject: networkctl: display DHCPv4 server address X-Git-Tag: v246-rc1~113^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F16213%2Fhead;p=thirdparty%2Fsystemd.git networkctl: display DHCPv4 server address --- diff --git a/src/network/networkctl.c b/src/network/networkctl.c index 6d2bb110b4d..8049912f437 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1+ */ +#include #include #include #include @@ -958,12 +959,18 @@ static int dump_addresses( return r; if (local[i].family == AF_INET && in4_addr_equal(&local[i].address.in, &dhcp4_address)) { - _cleanup_free_ char *p = NULL; + struct in_addr server_address; + char *p, s[INET_ADDRSTRLEN]; - p = pretty; - pretty = strjoin(pretty , " (DHCP4)"); - if (!pretty) + r = sd_dhcp_lease_get_server_identifier(lease, &server_address); + if (r >= 0 && inet_ntop(AF_INET, &server_address, s, sizeof(s))) + p = strjoin(pretty, " (DHCP4 via ", s, ")"); + else + p = strjoin(pretty, " (DHCP4)"); + if (!p) return log_oom(); + + free_and_replace(pretty, p); } r = strv_extendf(&buf, "%s%s%s",