Repository navigation
freebsd support - #2492
freebsd support#2492romanov wants to merge 1 commit into
Conversation
|
Thanks for opening this — it has been seen, and it is queued. This note is automated, but it is not a brush-off: it exists so you know where your PR stands instead of having to guess from silence. Current review status: working through a backlog. What that means for this PR, concretely:
Things that will genuinely speed it up whenever review does happen:
If this fixes a bug, a reproduction we can run is worth more than a description of the symptom. Thanks for contributing, and sorry in advance for the wait. |
|
Thanks for working on FreeBSD support. A quick look shows the peer-credential addition plus broader startup/connect timeout increases. Could you expand the description with the FreeBSD version/toolchain and test results, and explain why each timeout change is needed? That will make the intended support scope reviewable. |
|
Thanks again for taking on FreeBSD support. The To make this mergeable, here are a few concrete steps on top of the questions above:
Thanks for your patience with the review backlog, and for helping widen the platforms this runs on. |
|
Thank you again for the FreeBSD peer-credential fix. The October 20 questions remain: sign off the commit and clarify whether the cross-platform timeout increases are still needed with peer lookup fixed. A focused ipc.c revision, or the FreeBSD version/toolchain and observed timeout evidence, would let the next review proceed. |
|
Hi @romanov, thank you again for tracking down the missing FreeBSD case in the daemon's peer-credential lookup. That was the real problem: without it the daemon cannot read the connecting process id on FreeBSD and closes every connection. We have not heard back since early October, and the commit on this branch has no What we kept from you, unchanged: the What we left out, and why: the three timeout increases in We will close this PR once #2967 has merged. Thanks again for helping widen the platforms this runs on. |
|
Closing in favour of #2967, which merged as a3e9c91 and carries your Co-authored-by credit. Thank you, @romanov: your |
cbm_daemon_ipc_connection_peer_pid() had branches for Linux (SO_PEERCRED), macOS (LOCAL_PEERPID) and NetBSD (LOCAL_PEEREID), but FreeBSD defines none of them, so it fell through to `return 0`, and runtime_accept_connection() closes every connection whose peer pid is 0: on FreeBSD the daemon rejected every client. Read the peer credentials with getsockopt(SOL_LOCAL, LOCAL_PEERCRED) into a struct xucred and accept only the expected layout version, the caller's effective uid and a positive pid, mirroring the Linux branch. The branch and its <sys/ucred.h> include compile only on FreeBSD. Carried forward from DeusData#2492, which also raised three timeouts on every platform; those are left out (CBM_STARTUP_TIMEOUT_MS covers slow hosts). Co-authored-by: Yury Romanov <[email protected]> Signed-off-by: Martin Vogel <[email protected]>
What does this PR do?
Added FreeBSD support
Checklist
git commit -s) — required, CI rejectsunsigned commits (DCO, see CONTRIBUTING.md)
make -f Makefile.cbm test)make -f Makefile.cbm lint-ci)