OS X アプリをサンドボックス化しようとしています。
私のアプリは NSTask を使用して SSH トンネルを作成します。
com.apple.security.network.client および com.apple.security.network.server 資格を許可しましたが、トンネルの作成時にネットワーク送信エラーが発生します。
エラーは次のとおりです。
25/07/12 18:26:02,488 sandboxd[10677]: ([10676]) ssh(10676) deny network-outbound /private/tmp/launch-1nsmBH/Listeners
レポートには関連情報が表示されません。
ssh(10676) deny network-outbound /private/tmp/launch-1nsmBH/Listeners
Process: ssh [10676]
Path: /usr/bin/ssh
Load Address: 0x100000000
Identifier: ssh
Version: ??? (???)
Code Type: x86_64 (Native)
Parent Process: SSH Tunnlr [10604]
Date/Time: 2012-07-25 18:26:02.482 +0100
OS Version: Mac OS X 10.8 (12A269)
Report Version: 8
Thread 0:
0 libsystem_kernel.dylib 0x00007fff9064fa86 __connect + 10
1 ssh 0x0000000100017251
2 ssh 0x00000001000140ec
3 ssh 0x0000000100011722
4 ssh 0x000000010000e3ff
5 libdyld.dylib 0x00007fff90d837e1 start + 0
Binary Images:
0x100000000 - 0x10004eff7 ssh (175) <97628AED-06A6-3407-9787-148A2FF59925> /usr/bin/ssh
0x7fff9063e000 - 0x7fff90659ff7 libsystem_kernel.dylib (2050.7.9) <E0447BF5-E104-35B0-B28B-4156887D58F1> /usr/lib/system/libsystem_kernel.dylib
0x7fff90d81000 - 0x7fff90d84ff7 libdyld.dylib (210.2.3) <F59367C9-C110-382B-A695-9035A6DD387E> /usr/lib/system/libdyld.dylib
記録のために、これが私の資格 plist です。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.temporary-exception.mach-lookup.global-name</key>
<array>
<string>com.apple.ssh</string>
<string>com.apple.sshd</string>
</array>
ここに手があれば、非常に役に立ちます。
前もって感謝します。