prevent potential recusion in plugin 'volume_props'

fixed serving of fallback icon for plugins
This commit is contained in:
lars 2007-01-17 22:15:35 +00:00
parent 3a88bde5d5
commit 73df006390
3 changed files with 10 additions and 6 deletions

7
debian/changelog vendored
View File

@ -1,9 +1,8 @@
cryptobox (0.3.2-1) unstable; urgency=low
cryptobox (0.3.3-1) unstable; urgency=low
* improve robustness of startup-script
* fix non-writeable-settings-location problems
* new upstream release
-- Lars Kruse <devel@sumpfralle.de> Fri, 5 Jan 2007 02:20:55 +0100
-- Lars Kruse <devel@sumpfralle.de> Mon, 8 Jan 2007 06:15:20 +0100
cryptobox (0.3.1-1) unstable; urgency=low

View File

@ -47,6 +47,9 @@ class volume_props(cryptobox.plugins.base.CryptoBoxPlugin):
## (e.g. chpasswd for plain containers)
if not p.is_useful(self.device):
continue
## prevent recursion
if p.get_name() == self.get_name():
continue
p.device = self.device
plfname = os.path.join(p.plugin_dir, str(p.do_action(**args)) + ".cs")
#load_string += "<fieldset><legend><?cs var:html_escape(Lang.Plugins.%s.Link) ?></legend><?cs include:'%s' ?></fieldset>" \

View File

@ -114,8 +114,10 @@ class CryptoBoxPlugin:
else:
plugin_icon_file = os.path.join(self.plugin_dir, image)
if not os.access(plugin_icon_file, os.R_OK):
plugin_icon_file = os.path.join(
self.cbox.prefs["Locations"]["PluginDir"], self.fallback_icon_filename)
for ppath in self.cbox.prefs["Locations"]["PluginDir"]:
plugin_icon_file = os.path.join(ppath, self.fallback_icon_filename)
if plugin_icon_file:
break
return cherrypy.lib.cptools.serveFile(plugin_icon_file)