aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/RegionInfo.cs16
-rw-r--r--OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs5
-rw-r--r--OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs13
-rw-r--r--OpenSim/Framework/Util.cs2
-rw-r--r--OpenSim/Framework/WebUtil.cs12
5 files changed, 30 insertions, 18 deletions
diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs
index f71ee86..2390118 100644
--- a/OpenSim/Framework/RegionInfo.cs
+++ b/OpenSim/Framework/RegionInfo.cs
@@ -143,7 +143,6 @@ namespace OpenSim.Framework
143 public string RemotingAddress; 143 public string RemotingAddress;
144 public UUID ScopeID = UUID.Zero; 144 public UUID ScopeID = UUID.Zero;
145 private UUID m_maptileStaticUUID = UUID.Zero; 145 private UUID m_maptileStaticUUID = UUID.Zero;
146 public string m_maptileStaticFile;
147 146
148 public uint WorldLocX = 0; 147 public uint WorldLocX = 0;
149 public uint WorldLocY = 0; 148 public uint WorldLocY = 0;
@@ -351,10 +350,7 @@ namespace OpenSim.Framework
351 get { return m_maptileStaticUUID; } 350 get { return m_maptileStaticUUID; }
352 } 351 }
353 352
354 public string MaptileStaticFile 353 public string MaptileStaticFile { get; private set; }
355 {
356 get { return m_maptileStaticFile; }
357 }
358 354
359 /// <summary> 355 /// <summary>
360 /// The port by which http communication occurs with the region (most noticeably, CAPS communication) 356 /// The port by which http communication occurs with the region (most noticeably, CAPS communication)
@@ -723,7 +719,7 @@ namespace OpenSim.Framework
723 config.Set("MaptileStaticUUID", m_maptileStaticUUID.ToString()); 719 config.Set("MaptileStaticUUID", m_maptileStaticUUID.ToString());
724 } 720 }
725 721
726 m_maptileStaticFile = config.GetString("MaptileStaticFile", String.Empty); 722 MaptileStaticFile = config.GetString("MaptileStaticFile", String.Empty);
727 allKeys.Remove("MaptileStaticFile"); 723 allKeys.Remove("MaptileStaticFile");
728 724
729 #endregion 725 #endregion
@@ -853,8 +849,8 @@ namespace OpenSim.Framework
853 if (m_maptileStaticUUID != UUID.Zero) 849 if (m_maptileStaticUUID != UUID.Zero)
854 config.Set("MaptileStaticUUID", m_maptileStaticUUID.ToString()); 850 config.Set("MaptileStaticUUID", m_maptileStaticUUID.ToString());
855 851
856 if (m_maptileStaticFile != String.Empty) 852 if (MaptileStaticFile != String.Empty)
857 config.Set("MaptileStaticFile", m_maptileStaticFile); 853 config.Set("MaptileStaticFile", MaptileStaticFile);
858 } 854 }
859 855
860 public bool ignoreIncomingConfiguration(string configuration_key, object configuration_result) 856 public bool ignoreIncomingConfiguration(string configuration_key, object configuration_result)
@@ -966,7 +962,7 @@ namespace OpenSim.Framework
966 "UUID of a texture to use as the map for this region", m_maptileStaticUUID.ToString(), true); 962 "UUID of a texture to use as the map for this region", m_maptileStaticUUID.ToString(), true);
967 963
968 configMember.addConfigurationOption("region_static_mapfile", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 964 configMember.addConfigurationOption("region_static_mapfile", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
969 "Filename of a texture to use as the map for this region", m_maptileStaticFile, true); 965 "Filename of a texture to use as the map for this region", MaptileStaticFile, true);
970 } 966 }
971 967
972 public void loadConfigurationOptions() 968 public void loadConfigurationOptions()
@@ -1116,7 +1112,7 @@ namespace OpenSim.Framework
1116 m_maptileStaticUUID = (UUID)configuration_result; 1112 m_maptileStaticUUID = (UUID)configuration_result;
1117 break; 1113 break;
1118 case "region_static_mapfile": 1114 case "region_static_mapfile":
1119 m_maptileStaticFile = (string)configuration_result; 1115 MaptileStaticFile = (string)configuration_result;
1120 break; 1116 break;
1121 } 1117 }
1122 1118
diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
index ea7f195..28324a5 100644
--- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
+++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
@@ -833,7 +833,7 @@ namespace OpenSim.Framework.Servers.HttpServer
833 833
834 Stream inputStream = Util.Copy(request.InputStream); 834 Stream inputStream = Util.Copy(request.InputStream);
835 835
836 if (request.ContentType == "application/x-gzip") 836 if ((request.Headers["Content-Encoding"] == "gzip") || (request.Headers["X-Content-Encoding"] == "gzip"))
837 inputStream = new GZipStream(inputStream, System.IO.Compression.CompressionMode.Decompress); 837 inputStream = new GZipStream(inputStream, System.IO.Compression.CompressionMode.Decompress);
838 838
839 using (StreamReader reader = new StreamReader(inputStream, Encoding.UTF8)) 839 using (StreamReader reader = new StreamReader(inputStream, Encoding.UTF8))
@@ -978,6 +978,9 @@ namespace OpenSim.Framework.Servers.HttpServer
978 { 978 {
979 Stream requestStream = request.InputStream; 979 Stream requestStream = request.InputStream;
980 980
981 if ((request.Headers["Content-Encoding"] == "gzip") || (request.Headers["X-Content-Encoding"] == "gzip"))
982 requestStream = new GZipStream(requestStream, System.IO.Compression.CompressionMode.Decompress);
983
981 Encoding encoding = Encoding.UTF8; 984 Encoding encoding = Encoding.UTF8;
982 StreamReader reader = new StreamReader(requestStream, encoding); 985 StreamReader reader = new StreamReader(requestStream, encoding);
983 986
diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs
index 3171759..05ec6dc 100644
--- a/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs
+++ b/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs
@@ -182,11 +182,22 @@ namespace OpenSim.Framework.Servers.HttpServer
182 _context = context; 182 _context = context;
183 183
184 if (null != req.Headers["content-encoding"]) 184 if (null != req.Headers["content-encoding"])
185 _contentEncoding = Encoding.GetEncoding(_request.Headers["content-encoding"]); 185 {
186 try
187 {
188 _contentEncoding = Encoding.GetEncoding(_request.Headers["content-encoding"]);
189 }
190 catch (Exception)
191 {
192 // ignore
193 }
194 }
195
186 if (null != req.Headers["content-type"]) 196 if (null != req.Headers["content-type"])
187 _contentType = _request.Headers["content-type"]; 197 _contentType = _request.Headers["content-type"];
188 if (null != req.Headers["user-agent"]) 198 if (null != req.Headers["user-agent"])
189 _userAgent = req.Headers["user-agent"]; 199 _userAgent = req.Headers["user-agent"];
200
190 if (null != req.Headers["remote_addr"]) 201 if (null != req.Headers["remote_addr"])
191 { 202 {
192 try 203 try
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index ce4af8b..c7a7341 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -2031,7 +2031,7 @@ namespace OpenSim.Framework
2031 // Maps (ThreadFunc number -> Thread) 2031 // Maps (ThreadFunc number -> Thread)
2032 private static ConcurrentDictionary<long, ThreadInfo> activeThreads = new ConcurrentDictionary<long, ThreadInfo>(); 2032 private static ConcurrentDictionary<long, ThreadInfo> activeThreads = new ConcurrentDictionary<long, ThreadInfo>();
2033 2033
2034 private static readonly int THREAD_TIMEOUT = 60 * 1000; 2034 private static readonly int THREAD_TIMEOUT = 10 * 60 * 1000; // 10 minutes
2035 2035
2036 /// <summary> 2036 /// <summary>
2037 /// Finds threads in the main thread pool that have timed-out, and aborts them. 2037 /// Finds threads in the main thread pool that have timed-out, and aborts them.
diff --git a/OpenSim/Framework/WebUtil.cs b/OpenSim/Framework/WebUtil.cs
index 10a2560..89181a9 100644
--- a/OpenSim/Framework/WebUtil.cs
+++ b/OpenSim/Framework/WebUtil.cs
@@ -250,9 +250,12 @@ namespace OpenSim.Framework
250 250
251 byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strBuffer); 251 byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strBuffer);
252 252
253 request.ContentType = "application/json";
254
253 if (compressed) 255 if (compressed)
254 { 256 {
255 request.ContentType = "application/x-gzip"; 257 request.Headers["X-Content-Encoding"] = "gzip"; // can't set "Content-Encoding" because old OpenSims fail if they get an unrecognized Content-Encoding
258
256 using (MemoryStream ms = new MemoryStream()) 259 using (MemoryStream ms = new MemoryStream())
257 { 260 {
258 using (GZipStream comp = new GZipStream(ms, CompressionMode.Compress)) 261 using (GZipStream comp = new GZipStream(ms, CompressionMode.Compress))
@@ -270,10 +273,9 @@ namespace OpenSim.Framework
270 } 273 }
271 else 274 else
272 { 275 {
273 request.ContentType = "application/json";
274 request.ContentLength = buffer.Length; //Count bytes to send 276 request.ContentLength = buffer.Length; //Count bytes to send
275 using (Stream requestStream = request.GetRequestStream()) 277 using (Stream requestStream = request.GetRequestStream())
276 requestStream.Write(buffer, 0, buffer.Length); //Send it 278 requestStream.Write(buffer, 0, buffer.Length); //Send it
277 } 279 }
278 } 280 }
279 281
@@ -1024,7 +1026,7 @@ namespace OpenSim.Framework
1024 } 1026 }
1025 catch (Exception e) 1027 catch (Exception e)
1026 { 1028 {
1027 m_log.ErrorFormat("[FORMS]: Error sending request to {0}: {1}. Request: {2}", requestUrl, e.Message, 1029 m_log.InfoFormat("[FORMS]: Error sending request to {0}: {1}. Request: {2}", requestUrl, e.Message,
1028 obj.Length > WebUtil.MaxRequestDiagLength ? obj.Remove(WebUtil.MaxRequestDiagLength) : obj); 1030 obj.Length > WebUtil.MaxRequestDiagLength ? obj.Remove(WebUtil.MaxRequestDiagLength) : obj);
1029 throw e; 1031 throw e;
1030 } 1032 }
@@ -1052,7 +1054,7 @@ namespace OpenSim.Framework
1052 } 1054 }
1053 catch (Exception e) 1055 catch (Exception e)
1054 { 1056 {
1055 m_log.ErrorFormat("[FORMS]: Error receiving response from {0}: {1}. Request: {2}", requestUrl, e.Message, 1057 m_log.InfoFormat("[FORMS]: Error receiving response from {0}: {1}. Request: {2}", requestUrl, e.Message,
1056 obj.Length > WebUtil.MaxRequestDiagLength ? obj.Remove(WebUtil.MaxRequestDiagLength) : obj); 1058 obj.Length > WebUtil.MaxRequestDiagLength ? obj.Remove(WebUtil.MaxRequestDiagLength) : obj);
1057 throw e; 1059 throw e;
1058 } 1060 }