fix macOS PTY: cmsghdr layout, signing, sandbox removal
macOS cmsghdr uses socklen_t (4 bytes) for cmsg_len, not size_t (8 bytes like Linux). The Dart FFI struct was reading at wrong offsets causing SCM_RIGHTS fd transfer to fail. Added CmsghdrDarwin with Uint32 cmsg_len alongside the existing Linux layout. SOL_SOCKET is 0xffff on macOS (was hardcoded to 1 for Linux). Now platform-detected. Switched from ad-hoc to Apple Development signing with team ID. Removed app sandbox from entitlements — proper signing makes it unnecessary. All SBPL hacks eliminated. PtySession.spawn() runs recvFd in a child isolate to avoid blocking the backend isolate's event loop. Terminal testmode test now passes: pane.spawn via backend isolate successfully forks and execs the shell. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
45e8132a41
commit
243a92798c
@@ -525,7 +525,8 @@
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
DEVELOPMENT_TEAM = 54XXM3ZQTX;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
@@ -601,7 +602,8 @@
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
DEVELOPMENT_TEAM = 54XXM3ZQTX;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
@@ -657,7 +659,8 @@
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
DEVELOPMENT_TEAM = 54XXM3ZQTX;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
|
||||
Reference in New Issue
Block a user