pombreda / syphon-framework

Automatically exported from code.google.com/p/syphon-framework
Other
0 stars 0 forks source link

Syphon.framework does not work in the app sandbox #20

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
This issue tracks opinions and potential solutions to getting Syphon working in 
the app sandbox, allowing Syphon to be used in apps distributed via Apple's Mac 
App Store.

Original issue reported on code.google.com by bangnoise@gmail.com on 24 Apr 2012 at 5:41

GoogleCodeExporter commented 9 years ago
v002 forum topic 
http://v002.info/forums/topic/syphon-server-osx-lion-sandboxed-environment/

Original comment by bangnoise@gmail.com on 24 Apr 2012 at 5:46

GoogleCodeExporter commented 9 years ago
There are two (at least) problems here

1. Server announce and discovery currently use NSDistributedNotificationCenter. 
This is crippled inside the app sandbox (can carry no content) and ceases to be 
useful. Consider it obsolete.
2. Mach lookup inside the app sandbox is restricted to a temporary entitlement 
for a pre-determined name. We currently use runtime-generated UUIDs as names to 
connect to remote CFMessagePorts to transmit details of our IOSurfaces

This could use some input from anyone who's worked with sandboxing (ie not me)

Potential solutions for 1. Server announce and discovery
- Bonjour (requires network in/out entitlements but otherwise works)
- Shared memory or somesuch using a file in a fixed position in the file 
system. Is there a location multiple apps are permitted to use? Would it 
require user consent once per app? Per launch?
- Others?

Potential solutions for 2. Messaging
- Uhhhhh... hopefully not pushing things through network sockets...
- A long list of pre-baked names we work through until we find a usable one? 
Hopefully not... Hard to see the entitlement being granted anyway...
- Every app has one receiving CFMessagePort of its own naming which all 
messaging is channelled through. Would require a small amount of setup by 
developers
- Any others?

Sandbox IPC is geared towards app/helper communication and NOT communication 
between true peers such as Syphon currently uses...

Original comment by bangnoise@gmail.com on 15 Jun 2012 at 11:43

GoogleCodeExporter commented 9 years ago
I haven't used sandboxing, but I'm interested in this as I've made a few max 
syphon patches that I'd love to port over to the app store. My 2c (worth about 
same):

Bonjour would work for me as long as there's not too many CPU interrupts for 
network stuff (and if we can't use syphon across the network, why involve the 
network stack unless we have to?)

I'd be find with pre-baked names as well, you could even have a simple standard 
and protocol for naming conventions and for resolving any contention. 

Original comment by michaelt...@gmail.com on 5 Jul 2012 at 4:41