refactor(platform): phase 6 migrate daemon IPC lifecycle - #1334
Conversation
|
Warning Review limit reached
Next review available in: 55 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (27)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Darwin does not support fchmod() on socket fds; interprocess maps the EINVAL from ListenerOptions::mode() to ErrorKind::Unsupported, so every macOS local-endpoint bind failed (Check macOS on #1334: 'bind local endpoint: Kind(Unsupported)'). Linux keeps the atomic pre-bind fchmod. On macOS, bind first and chmod the socket path to 0600 immediately after, failing closed if the chmod fails. Co-Authored-By: Claude <noreply@anthropic.com>
22d86d9 to
722ad4c
Compare
The Darwin post-bind-chmod change moved the PermissionsExt import and usage lines in macos/ipc.rs and dropped the unused ListenerOptionsExt import; the committed inventory drifted accordingly. Co-Authored-By: Claude <noreply@anthropic.com>
Closes #1312
Summary
fbuild_core::platform::ipclocal endpoint, peer-facts, TCP listener, and readiness APIsmode()relies on fchmod-on-socket-fd, which Darwin rejects), and a protected Windows Owner Rights DACLinterprocess/socket2ownership intofbuild-coreand extend exact boundary enforcement for the IPC capabilityCompatibility
fbuild-daemon; only one-attempt native listener construction movedCharacterization and validation
-D warningspassesclud-review: cleanfbuild-packages-fetch: 131/131,fbuild-serial: 184 passed/1 ignored)Inventory