From klik-devel Tue Jan 29 02:12:26 2008 From: codesite-noreply () google ! com Date: Tue, 29 Jan 2008 02:12:26 +0000 To: klik-devel Subject: [klik-devel] [klikclient commit] r953 - Message-Id: <00163646d2300444d2f4b45d0aae576 () google ! com> X-MARC-Message: https://marc.info/?l=klik-devel&m=120157277725777 Author: KillerKiwi2005 Date: Mon Jan 28 18:11:45 2008 New Revision: 953 Modified: trunk/client/trunk/klikclient/lib/klik/base.py Log: Auto Jail based upon existing folders Modified: trunk/client/trunk/klikclient/lib/klik/base.py ============================================================================== --- trunk/client/trunk/klikclient/lib/klik/base.py (original) +++ trunk/client/trunk/klikclient/lib/klik/base.py Mon Jan 28 18:11:45 2008 @@ -24,6 +24,7 @@ from klik.exception import SafeException from klik.utils.freedesktop import DesktopParser from klik.utils.debian import MenuParser +from klik.utils.notify import Notify import klik.utils.freedesktop # Declare available events @@ -40,6 +41,7 @@ self.create = KlikCreate(self) self.settings = KlikSettings() self.xdg = XdgUtils() + self.notify = Notify() self.create.events.on_download_progress += self.__download_progress self.create.events.print_to_stdout += self.print_to_stdout @@ -213,9 +215,23 @@ else: if len(desktop_objects) > 0: - exec_array = desktop_objects[0].get_exec_array() + desktop_object = desktop_objects[0] + exec_array = desktop_object.get_exec_array() command = exec_array[0] - return ex.execute( command, cmg_path, args, capture_error ) + + return ex.execute( command, cmg_path, args, capture_error, self.check_for_sandbox(cmg_path) ) + + def check_for_sandbox(self, cmg_path): + basename = os.path.basename(cmg_path) + basepath = os.path.dirname(cmg_path) + # .app.cmg, app.cmg.data + paths = [os.path.join(basepath, "." + basename), os.path.join(basepath, basename + ".data")] + for path in paths: + if os.path.exists( path ) and os.access(path, os.X_OK) and os.access(path, os.W_OK): + self.notify.show( "Application Started in Jail" , path , "application-x-extension-cmg" ) + return path + + return None def check_for_missing_library(self, command, cmg_path): ex = KlikExecute(self) _______________________________________________ klik-devel mailing list klik-devel@kde.org https://mail.kde.org/mailman/listinfo/klik-devel