aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Servers/BaseOpenSimServer.cs
diff options
context:
space:
mode:
authoronefang2021-08-26 06:21:19 +1000
committeronefang2021-08-26 06:21:19 +1000
commitcdfbb899f1112dab44d5490838765e9bd73bc60e (patch)
tree52cddd0b76e7ad8544a0ada533f91bb5fc402025 /OpenSim/Framework/Servers/BaseOpenSimServer.cs
parentStill failing to reconnect for dbCount(), just set the fucking timeout to a y... (diff)
parentDon't strip (OWNER) out of script error report. (diff)
downloadopensim-SC-cdfbb899f1112dab44d5490838765e9bd73bc60e.zip
opensim-SC-cdfbb899f1112dab44d5490838765e9bd73bc60e.tar.gz
opensim-SC-cdfbb899f1112dab44d5490838765e9bd73bc60e.tar.bz2
opensim-SC-cdfbb899f1112dab44d5490838765e9bd73bc60e.tar.xz
Merge branch 'switch' into Domme.
Diffstat (limited to 'OpenSim/Framework/Servers/BaseOpenSimServer.cs')
-rw-r--r--OpenSim/Framework/Servers/BaseOpenSimServer.cs31
1 files changed, 29 insertions, 2 deletions
diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs
index 81dd357..c09e53d 100644
--- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs
+++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs
@@ -33,6 +33,9 @@ using System.Text;
33using System.Text.RegularExpressions; 33using System.Text.RegularExpressions;
34using System.Threading; 34using System.Threading;
35using System.Timers; 35using System.Timers;
36using System.Net;
37using System.Net.Security;
38using System.Security.Cryptography.X509Certificates;
36using log4net; 39using log4net;
37using log4net.Appender; 40using log4net.Appender;
38using log4net.Core; 41using log4net.Core;
@@ -86,6 +89,26 @@ namespace OpenSim.Framework.Servers
86 m_osSecret = UUID.Random().ToString(); 89 m_osSecret = UUID.Random().ToString();
87 } 90 }
88 91
92 private static bool m_NoVerifyCertChain = false;
93 private static bool m_NoVerifyCertHostname = false;
94
95 public static bool ValidateServerCertificate(
96 object sender,
97 X509Certificate certificate,
98 X509Chain chain,
99 SslPolicyErrors sslPolicyErrors)
100 {
101 if (m_NoVerifyCertChain)
102 sslPolicyErrors &= ~SslPolicyErrors.RemoteCertificateChainErrors;
103
104 if (m_NoVerifyCertHostname)
105 sslPolicyErrors &= ~SslPolicyErrors.RemoteCertificateNameMismatch;
106
107 if (sslPolicyErrors == SslPolicyErrors.None)
108 return true;
109
110 return false;
111 }
89 /// <summary> 112 /// <summary>
90 /// Must be overriden by child classes for their own server specific startup behaviour. 113 /// Must be overriden by child classes for their own server specific startup behaviour.
91 /// </summary> 114 /// </summary>
@@ -96,6 +119,11 @@ namespace OpenSim.Framework.Servers
96 RegisterCommonComponents(Config); 119 RegisterCommonComponents(Config);
97 120
98 IConfig startupConfig = Config.Configs["Startup"]; 121 IConfig startupConfig = Config.Configs["Startup"];
122
123 m_NoVerifyCertChain = startupConfig.GetBoolean("NoVerifyCertChain", m_NoVerifyCertChain);
124 m_NoVerifyCertHostname = startupConfig.GetBoolean("NoVerifyCertHostname", m_NoVerifyCertHostname);
125 ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertificate;
126
99 int logShowStatsSeconds = startupConfig.GetInt("LogShowStatsSeconds", m_periodDiagnosticTimerMS / 1000); 127 int logShowStatsSeconds = startupConfig.GetInt("LogShowStatsSeconds", m_periodDiagnosticTimerMS / 1000);
100 m_periodDiagnosticTimerMS = logShowStatsSeconds * 1000; 128 m_periodDiagnosticTimerMS = logShowStatsSeconds * 1000;
101 m_periodicDiagnosticsTimer.Elapsed += new ElapsedEventHandler(LogDiagnostics); 129 m_periodicDiagnosticsTimer.Elapsed += new ElapsedEventHandler(LogDiagnostics);
@@ -113,11 +141,10 @@ namespace OpenSim.Framework.Servers
113 141
114 MainServer.Stop(); 142 MainServer.Stop();
115 143
116 Thread.Sleep(5000); 144 Thread.Sleep(500);
117 Util.StopThreadPool(); 145 Util.StopThreadPool();
118 WorkManager.Stop(); 146 WorkManager.Stop();
119 147
120 Thread.Sleep(1000);
121 RemovePIDFile(); 148 RemovePIDFile();
122 149
123 m_log.Info("[SHUTDOWN]: Shutdown processing on main thread complete. Exiting..."); 150 m_log.Info("[SHUTDOWN]: Shutdown processing on main thread complete. Exiting...");