Add an hardcoded list of activities which are launched

outside rainbow containers.
This commit is contained in:
Marco Pesenti Gritti 2007-11-08 23:37:15 +01:00
parent 1879b9d140
commit 2e9e0f8505

View File

@ -165,9 +165,17 @@ class ActivityCreationHandler(gobject.GObject):
will be delegated to the prototype 'Rainbow' security service. will be delegated to the prototype 'Rainbow' security service.
""" """
gobject.GObject.__init__(self) gobject.GObject.__init__(self)
self._service_name = service_name self._service_name = service_name
self._handle = handle self._handle = handle
self._use_rainbow = os.path.exists('/etc/olpc-security')
if handle.activity_id in [ 'org.laptop.JournalActivity',
'org.laptop.Terminal',
'org.laptop.LogViewer',
'org.laptop.Analyze' ]:
self._use_rainbow = False
bus = dbus.SessionBus() bus = dbus.SessionBus()
bus_object = bus.get_object(_SHELL_SERVICE, _SHELL_PATH) bus_object = bus.get_object(_SHELL_SERVICE, _SHELL_PATH)
@ -209,7 +217,7 @@ class ActivityCreationHandler(gobject.GObject):
self._handle.object_id, self._handle.object_id,
self._handle.uri) self._handle.uri)
if not os.path.exists('/etc/olpc-security'): if not self._use_rainbow:
process = subprocess.Popen(command, env=environ, cwd=activity.path, process = subprocess.Popen(command, env=environ, cwd=activity.path,
stdout=log_file, stderr=log_file) stdout=log_file, stderr=log_file)
else: else: