Exemplo n.º 1
0
 private void ScanPathForTranscoders(string sPath)
 {
     try
     {
         if (Directory.Exists(sPath))
         {
             Evidence securityEvidence = Assembly.GetExecutingAssembly().Evidence;
             bool     boolPref         = SDVPApplication.Prefs.GetBoolPref("SDVP.debug.extensions.verbose", false);
             if (boolPref)
             {
                 //SDVPApplication.Log.LogFormat("Searching for Transcoders under {0}", new object[] { sPath });
             }
             foreach (FileInfo info in new DirectoryInfo(sPath).GetFiles())
             {
                 if (info.FullName.EndsWith(".dll", StringComparison.OrdinalIgnoreCase) && !info.FullName.StartsWith("_", StringComparison.OrdinalIgnoreCase))
                 {
                     Assembly assembly;
                     if (boolPref)
                     {
                         //SDVPApplication.Log.LogFormat("Looking for Transcoders inside {0}", new object[] { info.FullName.ToString() });
                     }
                     try
                     {
                         if (Browser.bRunningOnCLRv4)
                         {
                             assembly = Assembly.LoadFrom(info.FullName);
                         }
                         else
                         {
                             assembly = Assembly.LoadFrom(info.FullName, securityEvidence);
                         }
                     }
                     catch (Exception exception)
                     {
                         SDVPApplication.LogAddonException(exception, "Failed to load " + info.FullName);
                         continue;
                     }
                     this.ScanAssemblyForTranscoders(assembly);
                 }
             }
         }
     }
     catch (Exception exception2)
     {
         SDVPApplication.DoNotifyUser(string.Format("[Web Browser] Failure loading Transcoders: {0}", exception2.Message), "Transcoders Load Error");
     }
 }
Exemplo n.º 2
0
        private static ICertificateProvider LoadOverrideCertProvider()
        {
            string stringPref = SDVPApplication.Prefs.GetStringPref("SDVP.certmaker.assembly", Browser.GetPath("App") + "CertMaker.dll");

            if (File.Exists(stringPref))
            {
                Assembly assembly;
                try
                {
                    assembly = Assembly.LoadFrom(stringPref);
                    if (!Utilities.SDVPMeetsVersionRequirement(assembly, "Certificate Maker"))
                    {
                        return(null);
                    }
                }
                catch (Exception exception)
                {
                    SDVPApplication.LogAddonException(exception, "Failed to load CertMaker" + stringPref);
                    return(null);
                }
                foreach (Type type in assembly.GetExportedTypes())
                {
                    if ((!type.IsAbstract && type.IsPublic) && (type.IsClass && typeof(ICertificateProvider).IsAssignableFrom(type)))
                    {
                        try
                        {
                            return((ICertificateProvider)Activator.CreateInstance(type));
                        }
                        catch (Exception exception2)
                        {
                            SDVPApplication.DoNotifyUser(string.Format("[Web Browser] Failure loading {0} CertMaker from {1}: {2}\n\n{3}\n\n{4}", new object[] { type.Name, assembly.CodeBase, exception2.Message, exception2.StackTrace, exception2.InnerException }), "Load Error");
                        }
                    }
                }
            }
            return(null);
        }