L3DT development blog
Large 3D terrain generator

Vale 'global' plugins

Hi All,

Quite some time ago, a user requested an easy way to share plugins across different versions of L3DT. The idea was to make it possible to install a plugin once, and then use it thereafter in all subsequent versions of L3DT. Quite a reasonable idea [although, hindsight shows it was not a feature users ever touched. But that's beside the point…]

The approach I took to making these shared plugins was to have two classes of plugins, 'local' and 'global'. Local plugins would only be installed for each specific version of L3DT, whereas 'global' plugins would be stored in some agreed place that was accessible to all installed versions of L3DT. You could toggle a plugin to be local/global using the 'make global' / 'make local' toggle button in the extension manager. When you did this, the plugin DLL would be moved from (or to) your current L3DT version's local plugin directory, which was something like:

C:\Program Files\Bundysoft\L3DT [version]\Extensions\

…to (or from) L3DT's global plugin directory, which was something like:

C:\Documents and Settings\[username]\Application Data\Bundysoft\L3DT\Extensions\

This system worked OK, up until the arrival of Vista. With Vista, any program requires administrative privileges to touch anything stored under 'Program Files' because any program that can play around with DLLs in 'Program Files' can replace a legitimate DLL with a malicious Doppelgänger. This obviously creates a problem for the global/local plugin idea, as L3DT won't be able to shuffle the plugins around without first having admin rights. L3DT is a terrain generator, it's not an antivirus program, a system restore tool, nor a network configurator — it shouldn't ever need admin rights! Vista's more strict security policies also highlighted the other problem with the local/global plugin idea: Any DLLs stored outside of 'Program Files' (e.g. the global plugins stored in your profile) having no such UAC protection, are thus easy prey for hacking by non-admin processes.

So, in conclusion, the previous implementation of 'global' (shared) plugins was unworkable in Vista unless L3DT was granted admin rights, and if L3DT was granted admin rights, it was then potentially unsafe. Thus, the 'global' plugin feature has been removed from the next release, and all plugins hereafter will always be stored under 'Program files', and thus safely under Window's aegis.

Cheerio, Aaron.

 
l3dt/2009/mar/03.txt · Last modified: 2017/08/31 04:49 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
L3DT Development Blog RSS Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki