aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Data/PGSQL/PGSQLFramework.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Data/PGSQL/PGSQLFramework.cs29
1 files changed, 29 insertions, 0 deletions
diff --git a/OpenSim/Data/PGSQL/PGSQLFramework.cs b/OpenSim/Data/PGSQL/PGSQLFramework.cs
index 494b0aa..1028e4e 100644
--- a/OpenSim/Data/PGSQL/PGSQLFramework.cs
+++ b/OpenSim/Data/PGSQL/PGSQLFramework.cs
@@ -29,6 +29,7 @@ using System;
29using System.Collections; 29using System.Collections;
30using System.Collections.Generic; 30using System.Collections.Generic;
31using System.Data; 31using System.Data;
32using System.Reflection;
32using OpenMetaverse; 33using OpenMetaverse;
33using OpenSim.Framework; 34using OpenSim.Framework;
34using Npgsql; 35using Npgsql;
@@ -50,8 +51,36 @@ namespace OpenSim.Data.PGSQL
50 protected PGSqlFramework(string connectionString) 51 protected PGSqlFramework(string connectionString)
51 { 52 {
52 m_connectionString = connectionString; 53 m_connectionString = connectionString;
54 InitializeMonoSecurity();
53 } 55 }
54 56
57 public void InitializeMonoSecurity()
58 {
59 if (!Util.IsPlatformMono)
60 {
61
62 if (AppDomain.CurrentDomain.GetData("MonoSecurityPostgresAdded") == null)
63 {
64 AppDomain.CurrentDomain.SetData("MonoSecurityPostgresAdded", "true");
65
66 AppDomain currentDomain = AppDomain.CurrentDomain;
67 currentDomain.AssemblyResolve += new ResolveEventHandler(ResolveEventHandlerMonoSec);
68 }
69 }
70 }
71
72 private System.Reflection.Assembly ResolveEventHandlerMonoSec(object sender, ResolveEventArgs args)
73 {
74 Assembly MyAssembly = null;
75
76 if (args.Name.Substring(0, args.Name.IndexOf(",")) == "Mono.Security")
77 {
78 MyAssembly = Assembly.LoadFrom("lib/NET/Mono.Security.dll");
79 }
80
81 //Return the loaded assembly.
82 return MyAssembly;
83 }
55 ////////////////////////////////////////////////////////////// 84 //////////////////////////////////////////////////////////////
56 // 85 //
57 // All non queries are funneled through one connection 86 // All non queries are funneled through one connection