You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
control messages used by sendmsg and recvmsg are one of the hardest Unix APIs. Some of Nix's cmsg-related tests currently fail on OpenBSD (see #1001), and others rely on a hard-coded os-dependent value that is not defined anywhere in libc (align_of_cmsg_data). Both of these things hint at underlying bugs in our cmsg implementation. We should audit the entire thing for correctness, and possibly rewrite it to be more C-like. libc already exports versions of the CMSG_DATA family of macros. Nix should use those rather than reinvent their logic.
The text was updated successfully, but these errors were encountered:
Ok, I've got this working now. It passes the tests on FreeBSD, OpenBSD, and NetBSD. But now the scm_credentials tests fail on Linux. I suppose I'll keep working on it.
1020: Major cmsg cleanup r=asomers a=asomers
This PR fixes multiple bugs in the cmsg code.
Fixes#994Fixes#999Fixes#1013
Co-authored-by: Alan Somers <asomers@gmail.com>
control messages used by
sendmsg
andrecvmsg
are one of the hardest Unix APIs. Some of Nix's cmsg-related tests currently fail on OpenBSD (see #1001), and others rely on a hard-coded os-dependent value that is not defined anywhere in libc (align_of_cmsg_data
). Both of these things hint at underlying bugs in our cmsg implementation. We should audit the entire thing for correctness, and possibly rewrite it to be more C-like. libc already exports versions of theCMSG_DATA
family of macros. Nix should use those rather than reinvent their logic.The text was updated successfully, but these errors were encountered: