diff --git a/CHANGELOG.md b/CHANGELOG.md index 507275c..bfbf6c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,8 +28,10 @@ * battery/network/script: `poll-interval` unit changed from seconds to milliseconds ([#244][244]). * all modules: minimum poll interval changed from 500ms to 250ms. +* network: do not use IPv6 link-local ([#281][281]) [244]: https://codeberg.org/dnkl/yambar/issues/244 +[281]: https://codeberg.org/dnkl/yambar/pulls/281 ### Deprecated diff --git a/modules/network.c b/modules/network.c index 6773fcf..7166e24 100644 --- a/modules/network.c +++ b/modules/network.c @@ -150,7 +150,8 @@ content(struct module *mod) if (it->item.family == AF_INET) inet_ntop(AF_INET, &it->item.addr.ipv4, ipv4_str, sizeof(ipv4_str)); else if (it->item.family == AF_INET6) - inet_ntop(AF_INET6, &it->item.addr.ipv6, ipv6_str, sizeof(ipv6_str)); + if(!IN6_IS_ADDR_LINKLOCAL(&it->item.addr.ipv6)) + inet_ntop(AF_INET6, &it->item.addr.ipv6, ipv6_str, sizeof(ipv6_str)); } struct tag_set tags = {