Ignore:
Timestamp:
11/14/2008 2:14:26 PM (4 years ago)
Author:
lowjoel
Message:

Tighten the plugin loading criteria:
-Plugins are first loaded reflection-only, checking for the presence of the IPlugin interface being implemented. If it is not implemented, the DLL is skipped.
-The plugins are then checked for a public key. If the public key is different from the executing assembly, it is not trusted and therefore is foreign.
-Foreign plugins must be approved by the user explicitly before they are loaded.

The SettingsPanel? and the ManagerSettings? classes have therefore been updated.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/Manager/Settings.cs

    r562 r569  
    250250 
    251251        /// <summary> 
     252        /// The GUIDs of unsigned plug-ins which the user has explicitly approved. 
     253        /// </summary> 
     254        public List<Guid> ApprovedPlugins 
     255        { 
     256            get 
     257            { 
     258                if (settings["ApprovedPlugins"] == null) 
     259                    return new List<Guid>(); 
     260                return (List<Guid>)settings["ApprovedPlugins"]; 
     261            } 
     262            set 
     263            { 
     264                settings["ApprovedPlugins"] = value; 
     265            } 
     266        } 
     267 
     268        /// <summary> 
    252269        /// The Settings object which is the data store of this object. 
    253270        /// </summary> 
Note: See TracChangeset for help on using the changeset viewer.