Project

General

Profile

Bug #11338 » PR11338_wg_tools.diff

Peter Grehan, 01/31/2021 01:00 AM

View differences:

src/ipc-freebsd.h
nvlist_add_binary(nvl_peer, "pre-shared-key", peer->preshared_key, WG_KEY_LEN); /* TODO: preshared-key instead of pre-shared-key */
if (peer->flags & WGPEER_HAS_PERSISTENT_KEEPALIVE_INTERVAL)
nvlist_add_number(nvl_peer, "persistent-keepalive-interval", peer->persistent_keepalive_interval);
if ((peer->endpoint.addr.sa_family == AF_INET || peer->endpoint.addr.sa_family == AF_INET6) &&
peer->endpoint.addr.sa_len <= sizeof(struct sockaddr))
nvlist_add_binary(nvl_peer, "endpoint", &peer->endpoint.addr, sizeof(struct sockaddr));
if (peer->endpoint.addr.sa_family == AF_INET || peer->endpoint.addr.sa_family == AF_INET6)
nvlist_add_binary(nvl_peer, "endpoint", &peer->endpoint.addr, peer->endpoint.addr.sa_len);
nvlist_add_bool(nvl_peer, "replace-allowedips", !!(peer->flags & WGPEER_REPLACE_ALLOWEDIPS));
nvlist_add_bool(nvl_peer, "peer-remove", !!(peer->flags & WGPEER_REMOVE_ME));
for_each_wgallowedip(peer, aip) {
......
}
if (nvlist_exists_binary(nvl_peer, "endpoint")) {
endpoint = nvlist_get_binary(nvl_peer, "endpoint", &size);
if (size <= sizeof(peer->endpoint.addr))
memcpy(&peer->endpoint.addr, endpoint, endpoint->sa_len);
if (size <= sizeof(peer->endpoint))
memcpy(&peer->endpoint.addr, endpoint, size);
}
if (nvlist_exists_number(nvl_peer, "rx_bytes"))
peer->rx_bytes = nvlist_get_number(nvl_peer, "rx_bytes");
(1-1/2)