From be2003ccfa1b12f372fa1329c38c29fe035f232f Mon Sep 17 00:00:00 2001 From: Michael Chiu Date: Mon, 15 Feb 2021 00:38:26 +0000 Subject: [PATCH] ifconfig: fix incorrect wg allowed-ips netmask Currently when peer information is displayed with `ifconfig wgN peer ..` or `ifconfig wgN peer-list`, the netmask of the first `allowed-ips` will be used as the netmask of all CIDR in `allowed-ips`. For example, if the list is `192.168.1.0/24, 172.16.0.0/16`, it will display as `192.168.1.0/24, 172.16.0.0/24`. While this does not affect the actual functionality, it is very confusing. Submitted by: Michael Chiu Reviewed by: grehan Differential Revision: https://reviews.freebsd.org/D28655 MFC after: 1 day --- sbin/ifconfig/ifwg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/ifconfig/ifwg.c b/sbin/ifconfig/ifwg.c index 8956e3427dd1..a2b22d2dfbef 100644 --- a/sbin/ifconfig/ifwg.c +++ b/sbin/ifconfig/ifwg.c @@ -309,7 +309,7 @@ dump_peer(const nvlist_t *nvl_peer) sa = __DECONST(void *, &aips[i].a_addr); bitmask = __DECONST(void *, - ((const struct sockaddr *)&aips->a_mask)->sa_data); + ((const struct sockaddr *)&(&aips[i])->a_mask)->sa_data); family = aips[i].a_addr.ss_family; getnameinfo(sa, sa->sa_len, addr_buf, INET6_ADDRSTRLEN, NULL, 0, NI_NUMERICHOST);