9e45fb09bf
This also makes sure the control buffer is properly aligned. This matters, as otherwise the control buffer might not be aligned and the cmsg buffer counting might be off. The incorrect alignment is becoming visible by using recvmsg_safe() as we suddenly notice the MSG_CTRUNC bit set because of this. That said, apparently this isn't enough to make this work on all kernels. Since I couldn't figure this out, we now add 1K to the buffer to be sure. We do this once already, also for a pktinfo structure (though an IPv4/IPv6) one. I am puzzled by this, but this shouldn't matter much. it works locally just fine, except for those ubuntu CI kernels... While we are at it, make some other changes too, to simplify and modernize the function. |
||
---|---|---|
.. | ||
sd-bus | ||
sd-daemon | ||
sd-device | ||
sd-event | ||
sd-hwdb | ||
sd-id128 | ||
sd-login | ||
sd-netlink | ||
sd-network | ||
sd-path | ||
sd-resolve | ||
sd-utf8 | ||
disable-mempool.c | ||
libsystemd.pc.in | ||
libsystemd.sym | ||
meson.build |