|
From: <fli...@us...> - 2009-10-24 23:19:26
|
Revision: 271
http://structuremap.svn.sourceforge.net/structuremap/?rev=271&view=rev
Author: flimflan
Date: 2009-10-24 23:19:17 +0000 (Sat, 24 Oct 2009)
Log Message:
-----------
Resolved Code Access Security issue when running under ASP.NET attempting to read default config file (reported by Eric Sowell).
- When configuration your container, you must specify IgnoreDefaultFile = true
Modified Paths:
--------------
trunk/Source/StructureMap/Configuration/ConfigurationParserBuilder.cs
trunk/Source/StructureMap/Emitting/DynamicAssembly.cs
Modified: trunk/Source/StructureMap/Configuration/ConfigurationParserBuilder.cs
===================================================================
--- trunk/Source/StructureMap/Configuration/ConfigurationParserBuilder.cs 2009-10-19 02:59:11 UTC (rev 270)
+++ trunk/Source/StructureMap/Configuration/ConfigurationParserBuilder.cs 2009-10-24 23:19:17 UTC (rev 271)
@@ -126,9 +126,10 @@
private void addConfigurationFromStructureMapConfig(ICollection<ConfigurationParser> list)
{
-// Pick up the configuration in the default StructureMap.config
- string pathToStructureMapConfig = GetStructureMapConfigurationPath();
- if (shouldUseStructureMapConfigFileAt(pathToStructureMapConfig))
+ if (_ignoreDefaultFile) return;
+ // Pick up the configuration in the default StructureMap.config
+ var pathToStructureMapConfig = GetStructureMapConfigurationPath();
+ if ((_useAndEnforceExistenceOfDefaultFile || File.Exists(pathToStructureMapConfig)))
{
_log.Try(() =>
{
@@ -138,14 +139,7 @@
}
}
- private bool shouldUseStructureMapConfigFileAt(string pathToStructureMapConfig)
- {
- return
- (_useAndEnforceExistenceOfDefaultFile ||
- File.Exists(pathToStructureMapConfig)) && !_ignoreDefaultFile;
- }
-
public static ConfigurationParser[] GetParsers(XmlNode node, GraphLog log)
{
var builder = new ConfigurationParserBuilder(log);
Modified: trunk/Source/StructureMap/Emitting/DynamicAssembly.cs
===================================================================
--- trunk/Source/StructureMap/Emitting/DynamicAssembly.cs 2009-10-19 02:59:11 UTC (rev 270)
+++ trunk/Source/StructureMap/Emitting/DynamicAssembly.cs 2009-10-24 23:19:17 UTC (rev 271)
@@ -16,7 +16,6 @@
private AssemblyBuilder _assemblyBuilder;
private bool _isCompiled;
private ModuleBuilder _module;
- private string DLLName;
public DynamicAssembly(string name)
{
@@ -46,14 +45,9 @@
assemName.CultureInfo = new CultureInfo("en");
assemName.SetPublicKeyToken(null);
- DLLName = Name + ".dll";
- _assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(assemName, AssemblyBuilderAccess.RunAndSave);
- //_assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(assemName, AssemblyBuilderAccess.Run);
+ _assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(assemName, AssemblyBuilderAccess.Run);
- _module = _assemblyBuilder.DefineDynamicModule(Name, DLLName);
-
-
- //_module = _assemblyBuilder.DefineDynamicModule(Name);
+ _module = _assemblyBuilder.DefineDynamicModule(Name);
}
@@ -84,13 +78,8 @@
newClass.Bake();
}
- //_assemblyBuilder.Save(_name + ".dll");
-
- //assemBuilder.Save(DLLName);
- //Assembly assem = AppDomain.CurrentDomain.Load(this.Name);
_isCompiled = true;
return _assemblyBuilder;
- //return assem;
}
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|