mirror of
https://github.com/opensim/opensim.git
synced 2026-08-09 10:46:00 +08:00
bad merge?
This commit is contained in:
@@ -40,7 +40,7 @@ namespace OpenSim.Server.Base
|
||||
{
|
||||
public class HttpServerBase : ServicesServerBase
|
||||
{
|
||||
// private static readonly ILog m_Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
private uint m_consolePort;
|
||||
|
||||
@@ -70,6 +70,7 @@ namespace OpenSim.Server.Base
|
||||
|
||||
bool ssl_main = networkConfig.GetBoolean("https_main",false);
|
||||
bool ssl_listener = networkConfig.GetBoolean("https_listener",false);
|
||||
bool ssl_external = networkConfig.GetBoolean("https_external",false);
|
||||
|
||||
m_consolePort = (uint)networkConfig.GetInt("ConsolePort", 0);
|
||||
|
||||
@@ -115,6 +116,7 @@ namespace OpenSim.Server.Base
|
||||
{
|
||||
uint https_port = (uint)networkConfig.GetInt("https_port", 0);
|
||||
|
||||
<<<<<<< HEAD
|
||||
string cert_path = networkConfig.GetString("cert_path",String.Empty);
|
||||
if (cert_path == String.Empty)
|
||||
{
|
||||
@@ -127,9 +129,31 @@ namespace OpenSim.Server.Base
|
||||
{
|
||||
System.Console.WriteLine("ERROR: Password for X509 certificate is missing, server can't start.");
|
||||
Environment.Exit(1);
|
||||
}
|
||||
=======
|
||||
m_log.WarnFormat("[SSL]: External flag is {0}", ssl_external);
|
||||
if (!ssl_external)
|
||||
{
|
||||
string cert_path = networkConfig.GetString("cert_path",String.Empty);
|
||||
if ( cert_path == String.Empty )
|
||||
{
|
||||
System.Console.WriteLine("Path to X509 certificate is missing, server can't start.");
|
||||
Thread.CurrentThread.Abort();
|
||||
}
|
||||
string cert_pass = networkConfig.GetString("cert_pass",String.Empty);
|
||||
if ( cert_pass == String.Empty )
|
||||
{
|
||||
System.Console.WriteLine("Password for X509 certificate is missing, server can't start.");
|
||||
Thread.CurrentThread.Abort();
|
||||
}
|
||||
|
||||
MainServer.AddHttpServer(new BaseHttpServer(https_port, ssl_listener, cert_path, cert_pass));
|
||||
MainServer.AddHttpServer(new BaseHttpServer(https_port, ssl_listener, cert_path, cert_pass));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_log.WarnFormat("[SSL]: SSL port is active but no SSL is used because external SSL was requested.");
|
||||
MainServer.AddHttpServer(new BaseHttpServer(https_port));
|
||||
>>>>>>> avn/ubitvar
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -45,12 +45,19 @@ namespace OpenSim.Server.Handlers.BakedTextures
|
||||
{
|
||||
public class BakesServerPostHandler : BaseStreamHandler
|
||||
{
|
||||
<<<<<<< HEAD:OpenSim/Server/Handlers/BakedTextures/XBakesPostHandler.cs
|
||||
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
private IBakedTextureService m_BakesService;
|
||||
|
||||
public BakesServerPostHandler(IBakedTextureService service, IServiceAuth auth) :
|
||||
base("POST", "/bakes", auth)
|
||||
=======
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
public MSSQLAvatarData(string connectionString, string realm) :
|
||||
base(connectionString, realm, "Avatar")
|
||||
>>>>>>> avn/ubitvar:OpenSim/Data/MSSQL/MSSQLAvatarData.cs
|
||||
{
|
||||
m_BakesService = service;
|
||||
}
|
||||
@@ -73,4 +80,4 @@ namespace OpenSim.Server.Handlers.BakedTextures
|
||||
return new byte[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -185,6 +185,9 @@ namespace OpenSim.Server.Handlers.GridUser
|
||||
|
||||
GridUserInfo guinfo = m_GridUserService.GetGridUserInfo(user);
|
||||
|
||||
if (guinfo == null)
|
||||
return FailureResult();
|
||||
|
||||
Dictionary<string, object> result = new Dictionary<string, object>();
|
||||
if (guinfo != null)
|
||||
result["result"] = guinfo.ToKeyValuePairs();
|
||||
|
||||
@@ -132,8 +132,13 @@ namespace OpenSim.Server.Handlers.Login
|
||||
|
||||
//m_log.InfoFormat("[LOGIN]: XMLRPC Login Requested for {0} {1}, starting in {2}, using {3}", first, last, startLocation, clientVersion);
|
||||
|
||||
|
||||
bool LibOMVclient = false;
|
||||
if (request.Params.Count > 4 && (string)request.Params[4] == "gridproxy")
|
||||
LibOMVclient = true;
|
||||
|
||||
LoginResponse reply = null;
|
||||
reply = m_LocalService.Login(first, last, passwd, startLocation, scopeID, clientVersion, channel, mac, id0, remoteClient);
|
||||
reply = m_LocalService.Login(first, last, passwd, startLocation, scopeID, clientVersion, channel, mac, id0, remoteClient, LibOMVclient);
|
||||
|
||||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
response.Value = reply.ToHashtable();
|
||||
@@ -216,7 +221,7 @@ namespace OpenSim.Server.Handlers.Login
|
||||
|
||||
LoginResponse reply = null;
|
||||
reply = m_LocalService.Login(map["first"].AsString(), map["last"].AsString(), map["passwd"].AsString(), startLocation, scopeID,
|
||||
map["version"].AsString(), map["channel"].AsString(), map["mac"].AsString(), map["id0"].AsString(), remoteClient);
|
||||
map["version"].AsString(), map["channel"].AsString(), map["mac"].AsString(), map["id0"].AsString(), remoteClient,false);
|
||||
return reply.ToOSDMap();
|
||||
|
||||
}
|
||||
@@ -259,7 +264,7 @@ namespace OpenSim.Server.Handlers.Login
|
||||
(sender as WebSocketHttpServerHandler).GetRemoteIPEndpoint();
|
||||
LoginResponse reply = null;
|
||||
reply = m_LocalService.Login(first, last, passwd, start, scope, version,
|
||||
channel, mac, id0, endPoint);
|
||||
channel, mac, id0, endPoint,false);
|
||||
sock.SendMessage(OSDParser.SerializeJsonString(reply.ToOSDMap()));
|
||||
|
||||
}
|
||||
|
||||
@@ -118,9 +118,19 @@ namespace OpenSim.Server.Handlers.MapImage
|
||||
httpResponse.StatusCode = (int)OSHttpStatusCode.ClientErrorBadRequest;
|
||||
return FailureResult("Bad request.");
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
uint x = 0, y = 0;
|
||||
UInt32.TryParse(request["X"].ToString(), out x);
|
||||
UInt32.TryParse(request["Y"].ToString(), out y);
|
||||
=======
|
||||
int x = 0, y = 0;
|
||||
// UUID scopeID = new UUID("07f8d88e-cd5e-4239-a0ed-843f75d09992");
|
||||
UUID scopeID = UUID.Zero;
|
||||
Int32.TryParse(request["X"].ToString(), out x);
|
||||
Int32.TryParse(request["Y"].ToString(), out y);
|
||||
if (request.ContainsKey("SCOPE"))
|
||||
UUID.TryParse(request["SCOPE"].ToString(), out scopeID);
|
||||
>>>>>>> avn/ubitvar
|
||||
|
||||
m_log.DebugFormat("[MAP ADD SERVER CONNECTOR]: Received map data for region at {0}-{1}", x, y);
|
||||
|
||||
@@ -132,7 +142,11 @@ namespace OpenSim.Server.Handlers.MapImage
|
||||
if (m_GridService != null)
|
||||
{
|
||||
System.Net.IPAddress ipAddr = GetCallerIP(httpRequest);
|
||||
<<<<<<< HEAD
|
||||
GridRegion r = m_GridService.GetRegionByPosition(UUID.Zero, (int)Util.RegionToWorldLoc(x), (int)Util.RegionToWorldLoc(y));
|
||||
=======
|
||||
GridRegion r = m_GridService.GetRegionByPosition(UUID.Zero, (int)Util.RegionToWorldLoc((uint)x), (int)Util.RegionToWorldLoc((uint)y));
|
||||
>>>>>>> avn/ubitvar
|
||||
if (r != null)
|
||||
{
|
||||
if (r.ExternalEndPoint.Address.ToString() != ipAddr.ToString())
|
||||
@@ -153,7 +167,11 @@ namespace OpenSim.Server.Handlers.MapImage
|
||||
byte[] data = Convert.FromBase64String(request["DATA"].ToString());
|
||||
|
||||
string reason = string.Empty;
|
||||
<<<<<<< HEAD
|
||||
bool result = m_MapService.AddMapTile((int)x, (int)y, data, out reason);
|
||||
=======
|
||||
bool result = m_MapService.AddMapTile(x, y, data, scopeID, out reason);
|
||||
>>>>>>> avn/ubitvar
|
||||
|
||||
if (result)
|
||||
return SuccessResult();
|
||||
|
||||
@@ -29,6 +29,7 @@ using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
|
||||
using Nini.Config;
|
||||
using log4net;
|
||||
@@ -37,6 +38,7 @@ using OpenSim.Server.Base;
|
||||
using OpenSim.Services.Interfaces;
|
||||
using OpenSim.Framework.Servers.HttpServer;
|
||||
using OpenSim.Server.Handlers.Base;
|
||||
using OpenMetaverse;
|
||||
|
||||
namespace OpenSim.Server.Handlers.MapImage
|
||||
{
|
||||
@@ -70,6 +72,8 @@ namespace OpenSim.Server.Handlers.MapImage
|
||||
|
||||
class MapServerGetHandler : BaseStreamHandler
|
||||
{
|
||||
public static ManualResetEvent ev = new ManualResetEvent(true);
|
||||
|
||||
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
private IMapImageService m_MapService;
|
||||
@@ -82,10 +86,25 @@ namespace OpenSim.Server.Handlers.MapImage
|
||||
|
||||
protected override byte[] ProcessRequest(string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
|
||||
{
|
||||
byte[] result = new byte[0];
|
||||
ev.WaitOne();
|
||||
lock (ev)
|
||||
{
|
||||
ev.Reset();
|
||||
}
|
||||
|
||||
byte[] result = new byte[0];
|
||||
string format = string.Empty;
|
||||
result = m_MapService.GetMapTile(path.Trim('/'), out format);
|
||||
|
||||
// UUID scopeID = new UUID("07f8d88e-cd5e-4239-a0ed-843f75d09992");
|
||||
UUID scopeID = UUID.Zero;
|
||||
|
||||
string[] bits = path.Trim('/').Split(new char[] {'/'});
|
||||
if (bits.Length > 1)
|
||||
{
|
||||
scopeID = new UUID(bits[0]);
|
||||
path = bits[1];
|
||||
}
|
||||
result = m_MapService.GetMapTile(path.Trim('/'), scopeID, out format);
|
||||
if (result.Length > 0)
|
||||
{
|
||||
httpResponse.StatusCode = (int)HttpStatusCode.OK;
|
||||
@@ -100,6 +119,11 @@ namespace OpenSim.Server.Handlers.MapImage
|
||||
httpResponse.ContentType = "text/plain";
|
||||
}
|
||||
|
||||
lock (ev)
|
||||
{
|
||||
ev.Set();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
253
OpenSim/Server/Handlers/Map/MapRemoveServerConnector.cs
Normal file
253
OpenSim/Server/Handlers/Map/MapRemoveServerConnector.cs
Normal file
@@ -0,0 +1,253 @@
|
||||
/*
|
||||
* Copyright (c) Contributors, http://opensimulator.org/
|
||||
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of the OpenSimulator Project nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Xml;
|
||||
|
||||
using Nini.Config;
|
||||
using log4net;
|
||||
using OpenMetaverse;
|
||||
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Server.Base;
|
||||
using OpenSim.Services.Interfaces;
|
||||
using OpenSim.Framework.Servers.HttpServer;
|
||||
using OpenSim.Server.Handlers.Base;
|
||||
|
||||
using GridRegion = OpenSim.Services.Interfaces.GridRegion;
|
||||
|
||||
namespace OpenSim.Server.Handlers.MapImage
|
||||
{
|
||||
public class MapRemoveServiceConnector : ServiceConnector
|
||||
{
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
private IMapImageService m_MapService;
|
||||
private IGridService m_GridService;
|
||||
private string m_ConfigName = "MapImageService";
|
||||
|
||||
public MapRemoveServiceConnector(IConfigSource config, IHttpServer server, string configName) :
|
||||
base(config, server, configName)
|
||||
{
|
||||
IConfig serverConfig = config.Configs[m_ConfigName];
|
||||
if (serverConfig == null)
|
||||
throw new Exception(String.Format("No section {0} in config file", m_ConfigName));
|
||||
|
||||
string mapService = serverConfig.GetString("LocalServiceModule",
|
||||
String.Empty);
|
||||
|
||||
if (mapService == String.Empty)
|
||||
throw new Exception("No LocalServiceModule in config file");
|
||||
|
||||
Object[] args = new Object[] { config };
|
||||
m_MapService = ServerUtils.LoadPlugin<IMapImageService>(mapService, args);
|
||||
|
||||
string gridService = serverConfig.GetString("GridService", String.Empty);
|
||||
if (gridService != string.Empty)
|
||||
m_GridService = ServerUtils.LoadPlugin<IGridService>(gridService, args);
|
||||
|
||||
if (m_GridService != null)
|
||||
m_log.InfoFormat("[MAP IMAGE HANDLER]: GridService check is ON");
|
||||
else
|
||||
m_log.InfoFormat("[MAP IMAGE HANDLER]: GridService check is OFF");
|
||||
|
||||
bool proxy = serverConfig.GetBoolean("HasProxy", false);
|
||||
server.AddStreamHandler(new MapServerRemoveHandler(m_MapService, m_GridService, proxy));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
class MapServerRemoveHandler : BaseStreamHandler
|
||||
{
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
private IMapImageService m_MapService;
|
||||
private IGridService m_GridService;
|
||||
bool m_Proxy;
|
||||
|
||||
public MapServerRemoveHandler(IMapImageService service, IGridService grid, bool proxy) :
|
||||
base("POST", "/removemap")
|
||||
{
|
||||
m_MapService = service;
|
||||
m_GridService = grid;
|
||||
m_Proxy = proxy;
|
||||
}
|
||||
|
||||
public override byte[] Handle(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
|
||||
{
|
||||
// m_log.DebugFormat("[MAP SERVICE IMAGE HANDLER]: Received {0}", path);
|
||||
StreamReader sr = new StreamReader(requestData);
|
||||
string body = sr.ReadToEnd();
|
||||
sr.Close();
|
||||
body = body.Trim();
|
||||
|
||||
try
|
||||
{
|
||||
Dictionary<string, object> request = ServerUtils.ParseQueryString(body);
|
||||
|
||||
if (!request.ContainsKey("X") || !request.ContainsKey("Y"))
|
||||
{
|
||||
httpResponse.StatusCode = (int)OSHttpStatusCode.ClientErrorBadRequest;
|
||||
return FailureResult("Bad request.");
|
||||
}
|
||||
int x = 0, y = 0;
|
||||
Int32.TryParse(request["X"].ToString(), out x);
|
||||
Int32.TryParse(request["Y"].ToString(), out y);
|
||||
// UUID scopeID = new UUID("07f8d88e-cd5e-4239-a0ed-843f75d09992");
|
||||
UUID scopeID = UUID.Zero;
|
||||
if (request.ContainsKey("SCOPE"))
|
||||
UUID.TryParse(request["SCOPE"].ToString(), out scopeID);
|
||||
|
||||
m_log.DebugFormat("[MAP REMOVE SERVER CONNECTOR]: Received position data for region at {0}-{1}", x, y);
|
||||
|
||||
if (m_GridService != null)
|
||||
{
|
||||
System.Net.IPAddress ipAddr = GetCallerIP(httpRequest);
|
||||
GridRegion r = m_GridService.GetRegionByPosition(UUID.Zero, (int)Util.RegionToWorldLoc((uint)x), (int)Util.RegionToWorldLoc((uint)y));
|
||||
if (r != null)
|
||||
{
|
||||
if (r.ExternalEndPoint.Address.ToString() != ipAddr.ToString())
|
||||
{
|
||||
m_log.WarnFormat("[MAP IMAGE HANDLER]: IP address {0} may be trying to impersonate region in IP {1}", ipAddr, r.ExternalEndPoint.Address);
|
||||
return FailureResult("IP address of caller does not match IP address of registered region");
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
m_log.WarnFormat("[MAP IMAGE HANDLER]: IP address {0} may be rogue. Region not found at coordinates {1}-{2}",
|
||||
ipAddr, x, y);
|
||||
return FailureResult("Region not found at given coordinates");
|
||||
}
|
||||
}
|
||||
|
||||
string reason = string.Empty;
|
||||
bool result = m_MapService.RemoveMapTile(x, y, scopeID, out reason);
|
||||
|
||||
if (result)
|
||||
return SuccessResult();
|
||||
else
|
||||
return FailureResult(reason);
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.ErrorFormat("[MAP SERVICE IMAGE HANDLER]: Exception {0} {1}", e.Message, e.StackTrace);
|
||||
}
|
||||
|
||||
return FailureResult("Unexpected server error");
|
||||
}
|
||||
|
||||
private byte[] SuccessResult()
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
|
||||
XmlNode xmlnode = doc.CreateNode(XmlNodeType.XmlDeclaration,
|
||||
"", "");
|
||||
|
||||
doc.AppendChild(xmlnode);
|
||||
|
||||
XmlElement rootElement = doc.CreateElement("", "ServerResponse",
|
||||
"");
|
||||
|
||||
doc.AppendChild(rootElement);
|
||||
|
||||
XmlElement result = doc.CreateElement("", "Result", "");
|
||||
result.AppendChild(doc.CreateTextNode("Success"));
|
||||
|
||||
rootElement.AppendChild(result);
|
||||
|
||||
return DocToBytes(doc);
|
||||
}
|
||||
|
||||
private byte[] FailureResult(string msg)
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
|
||||
XmlNode xmlnode = doc.CreateNode(XmlNodeType.XmlDeclaration,
|
||||
"", "");
|
||||
|
||||
doc.AppendChild(xmlnode);
|
||||
|
||||
XmlElement rootElement = doc.CreateElement("", "ServerResponse",
|
||||
"");
|
||||
|
||||
doc.AppendChild(rootElement);
|
||||
|
||||
XmlElement result = doc.CreateElement("", "Result", "");
|
||||
result.AppendChild(doc.CreateTextNode("Failure"));
|
||||
|
||||
rootElement.AppendChild(result);
|
||||
|
||||
XmlElement message = doc.CreateElement("", "Message", "");
|
||||
message.AppendChild(doc.CreateTextNode(msg));
|
||||
|
||||
rootElement.AppendChild(message);
|
||||
|
||||
return DocToBytes(doc);
|
||||
}
|
||||
|
||||
private byte[] DocToBytes(XmlDocument doc)
|
||||
{
|
||||
MemoryStream ms = new MemoryStream();
|
||||
XmlTextWriter xw = new XmlTextWriter(ms, null);
|
||||
xw.Formatting = Formatting.Indented;
|
||||
doc.WriteTo(xw);
|
||||
xw.Flush();
|
||||
|
||||
return ms.ToArray();
|
||||
}
|
||||
|
||||
private System.Net.IPAddress GetCallerIP(IOSHttpRequest request)
|
||||
{
|
||||
if (!m_Proxy)
|
||||
return request.RemoteIPEndPoint.Address;
|
||||
|
||||
// We're behind a proxy
|
||||
string xff = "X-Forwarded-For";
|
||||
string xffValue = request.Headers[xff.ToLower()];
|
||||
if (xffValue == null || (xffValue != null && xffValue == string.Empty))
|
||||
xffValue = request.Headers[xff];
|
||||
|
||||
if (xffValue == null || (xffValue != null && xffValue == string.Empty))
|
||||
{
|
||||
m_log.WarnFormat("[MAP IMAGE HANDLER]: No XFF header");
|
||||
return request.RemoteIPEndPoint.Address;
|
||||
}
|
||||
|
||||
System.Net.IPEndPoint ep = Util.GetClientIPFromXFF(xffValue);
|
||||
if (ep != null)
|
||||
return ep.Address;
|
||||
|
||||
// Oops
|
||||
return request.RemoteIPEndPoint.Address;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -99,8 +99,6 @@ namespace OpenSim.Server.Handlers.Profiles
|
||||
Server.AddJsonRPCHandler("avatar_properties_request", handler.AvatarPropertiesRequest);
|
||||
Server.AddJsonRPCHandler("avatar_properties_update", handler.AvatarPropertiesUpdate);
|
||||
Server.AddJsonRPCHandler("avatar_interests_update", handler.AvatarInterestsUpdate);
|
||||
Server.AddJsonRPCHandler("user_preferences_update", handler.UserPreferenecesUpdate);
|
||||
Server.AddJsonRPCHandler("user_preferences_request", handler.UserPreferencesRequest);
|
||||
Server.AddJsonRPCHandler("image_assets_request", handler.AvatarImageAssetsRequest);
|
||||
Server.AddJsonRPCHandler("user_data_request", handler.RequestUserAppData);
|
||||
Server.AddJsonRPCHandler("user_data_update", handler.UpdateUserAppData);
|
||||
|
||||
@@ -380,6 +380,7 @@ namespace OpenSim.Server.Handlers
|
||||
}
|
||||
#endregion Interests
|
||||
|
||||
<<<<<<< HEAD
|
||||
#region User Preferences
|
||||
public bool UserPreferencesRequest(OSDMap json, ref JsonRpcResponse response)
|
||||
{
|
||||
@@ -433,6 +434,8 @@ namespace OpenSim.Server.Handlers
|
||||
}
|
||||
#endregion User Preferences
|
||||
|
||||
=======
|
||||
>>>>>>> avn/ubitvar
|
||||
#region Utility
|
||||
public bool AvatarImageAssetsRequest(OSDMap json, ref JsonRpcResponse response)
|
||||
{
|
||||
|
||||
@@ -149,6 +149,7 @@ namespace OpenSim.Server.Handlers.Simulation
|
||||
if (args.ContainsKey("my_version"))
|
||||
theirVersion = args["my_version"].AsString();
|
||||
|
||||
<<<<<<< HEAD
|
||||
List<UUID> features = new List<UUID>();
|
||||
|
||||
if (args.ContainsKey("features"))
|
||||
@@ -159,12 +160,18 @@ namespace OpenSim.Server.Handlers.Simulation
|
||||
features.Add(new UUID(o.AsString()));
|
||||
}
|
||||
|
||||
=======
|
||||
>>>>>>> avn/ubitvar
|
||||
GridRegion destination = new GridRegion();
|
||||
destination.RegionID = regionID;
|
||||
|
||||
string reason;
|
||||
string version;
|
||||
<<<<<<< HEAD
|
||||
bool result = m_SimulationService.QueryAccess(destination, agentID, agentHomeURI, viaTeleport, position, theirVersion, features, out version, out reason);
|
||||
=======
|
||||
bool result = m_SimulationService.QueryAccess(destination, agentID, agentHomeURI, viaTeleport, position, theirVersion, out version, out reason);
|
||||
>>>>>>> avn/ubitvar
|
||||
|
||||
responsedata["int_response_code"] = HttpStatusCode.OK;
|
||||
|
||||
@@ -262,7 +269,16 @@ namespace OpenSim.Server.Handlers.Simulation
|
||||
httpResponse.KeepAlive = false;
|
||||
Encoding encoding = Encoding.UTF8;
|
||||
|
||||
<<<<<<< HEAD
|
||||
if (httpRequest.ContentType != "application/json")
|
||||
=======
|
||||
Stream inputStream = null;
|
||||
if ((httpRequest.ContentType == "application/x-gzip" || httpRequest.Headers["Content-Encoding"] == "gzip") || (httpRequest.Headers["X-Content-Encoding"] == "gzip"))
|
||||
inputStream = new GZipStream(request, CompressionMode.Decompress);
|
||||
else if (httpRequest.ContentType == "application/json")
|
||||
inputStream = request;
|
||||
else // no go
|
||||
>>>>>>> avn/ubitvar
|
||||
{
|
||||
httpResponse.StatusCode = 406;
|
||||
return encoding.GetBytes("false");
|
||||
@@ -448,7 +464,30 @@ namespace OpenSim.Server.Handlers.Simulation
|
||||
protected virtual bool CreateAgent(GridRegion source, GridRegion gatekeeper, GridRegion destination,
|
||||
AgentCircuitData aCircuit, uint teleportFlags, bool fromLogin, out string reason)
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
return m_SimulationService.CreateAgent(source, destination, aCircuit, teleportFlags, out reason);
|
||||
=======
|
||||
reason = String.Empty;
|
||||
if ((teleportFlags & (uint)TeleportFlags.ViaLogin) == 0)
|
||||
{
|
||||
Util.FireAndForget(x =>
|
||||
{
|
||||
string r;
|
||||
m_SimulationService.CreateAgent(destination, aCircuit, teleportFlags, out r);
|
||||
m_log.DebugFormat("[AGENT HANDLER]: ASYNC CreateAgent {0}", r);
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
bool ret = m_SimulationService.CreateAgent(destination, aCircuit, teleportFlags, out reason);
|
||||
m_log.DebugFormat("[AGENT HANDLER]: SYNC CreateAgent {0} {1}", ret.ToString(), reason);
|
||||
return ret;
|
||||
}
|
||||
|
||||
>>>>>>> avn/ubitvar
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ using Nini.Config;
|
||||
using log4net;
|
||||
using System.Reflection;
|
||||
using System;
|
||||
using System.Net;
|
||||
using System.Collections.Generic;
|
||||
using OpenSim.Framework.Servers;
|
||||
using OpenSim.Framework.Servers.HttpServer;
|
||||
@@ -53,6 +54,10 @@ namespace OpenSim.Server
|
||||
|
||||
public static int Main(string[] args)
|
||||
{
|
||||
// Make sure we don't get outbound connections queueing
|
||||
ServicePointManager.DefaultConnectionLimit = 50;
|
||||
ServicePointManager.UseNagleAlgorithm = false;
|
||||
|
||||
m_Server = new HttpServerBase("R.O.B.U.S.T.", args);
|
||||
|
||||
string registryLocation;
|
||||
|
||||
Reference in New Issue
Block a user