Merge branch 'master' into careminster-presence-refactor
						commit
						da6816c805
					
				|  | @ -108,10 +108,30 @@ namespace OpenSim.Framework | ||||||
|         public string ServiceSessionID = string.Empty; |         public string ServiceSessionID = string.Empty; | ||||||
| 
 | 
 | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Viewer's version string |         /// The client's IP address, as captured by the login service | ||||||
|  |         /// </summary> | ||||||
|  |         public string IPAddress; | ||||||
|  | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Viewer's version string as reported by the viewer at login | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         public string Viewer; |         public string Viewer; | ||||||
| 
 | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// The channel strinf sent by the viewer at login | ||||||
|  |         /// </summary> | ||||||
|  |         public string Channel; | ||||||
|  | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// The Mac address as reported by the viewer at login | ||||||
|  |         /// </summary> | ||||||
|  |         public string Mac; | ||||||
|  | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// The id0 as reported by the viewer at login | ||||||
|  |         /// </summary> | ||||||
|  |         public string Id0; | ||||||
|  | 
 | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Position the Agent's Avatar starts in the region |         /// Position the Agent's Avatar starts in the region | ||||||
|         /// </summary> |         /// </summary> | ||||||
|  | @ -179,7 +199,11 @@ namespace OpenSim.Framework | ||||||
|             args["service_session_id"] = OSD.FromString(ServiceSessionID); |             args["service_session_id"] = OSD.FromString(ServiceSessionID); | ||||||
|             args["start_pos"] = OSD.FromString(startpos.ToString()); |             args["start_pos"] = OSD.FromString(startpos.ToString()); | ||||||
|             args["appearance_serial"] = OSD.FromInteger(Appearance.Serial); |             args["appearance_serial"] = OSD.FromInteger(Appearance.Serial); | ||||||
|  |             args["client_ip"] = OSD.FromString(IPAddress); | ||||||
|             args["viewer"] = OSD.FromString(Viewer); |             args["viewer"] = OSD.FromString(Viewer); | ||||||
|  |             args["channel"] = OSD.FromString(Channel); | ||||||
|  |             args["mac"] = OSD.FromString(Mac); | ||||||
|  |             args["id0"] = OSD.FromString(Id0); | ||||||
| 
 | 
 | ||||||
|             if (Appearance != null) |             if (Appearance != null) | ||||||
|             { |             { | ||||||
|  | @ -279,8 +303,16 @@ namespace OpenSim.Framework | ||||||
|                 SessionID = args["session_id"].AsUUID(); |                 SessionID = args["session_id"].AsUUID(); | ||||||
|             if (args["service_session_id"] != null) |             if (args["service_session_id"] != null) | ||||||
|                 ServiceSessionID = args["service_session_id"].AsString(); |                 ServiceSessionID = args["service_session_id"].AsString(); | ||||||
|  |             if (args["client_ip"] != null) | ||||||
|  |                 IPAddress = args["client_ip"].AsString(); | ||||||
|             if (args["viewer"] != null) |             if (args["viewer"] != null) | ||||||
|                 Viewer = args["viewer"].AsString(); |                 Viewer = args["viewer"].AsString(); | ||||||
|  |             if (args["channel"] != null) | ||||||
|  |                 Channel = args["channel"].AsString(); | ||||||
|  |             if (args["mac"] != null) | ||||||
|  |                 Mac = args["mac"].AsString(); | ||||||
|  |             if (args["id0"] != null) | ||||||
|  |                 Id0 = args["id0"].AsString(); | ||||||
| 
 | 
 | ||||||
|             if (args["start_pos"] != null) |             if (args["start_pos"] != null) | ||||||
|                 Vector3.TryParse(args["start_pos"].AsString(), out startpos); |                 Vector3.TryParse(args["start_pos"].AsString(), out startpos); | ||||||
|  | @ -349,6 +381,9 @@ namespace OpenSim.Framework | ||||||
|         public float startposy; |         public float startposy; | ||||||
|         public float startposz; |         public float startposz; | ||||||
|         public string Viewer; |         public string Viewer; | ||||||
|  |         public string Channel; | ||||||
|  |         public string Mac; | ||||||
|  |         public string Id0; | ||||||
| 
 | 
 | ||||||
|         public sAgentCircuitData() |         public sAgentCircuitData() | ||||||
|         { |         { | ||||||
|  |  | ||||||
|  | @ -301,7 +301,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | ||||||
|                 if (currentAgentCircuit != null) |                 if (currentAgentCircuit != null) | ||||||
|                 { |                 { | ||||||
|                     agentCircuit.ServiceURLs = currentAgentCircuit.ServiceURLs; |                     agentCircuit.ServiceURLs = currentAgentCircuit.ServiceURLs; | ||||||
|  |                     agentCircuit.IPAddress = currentAgentCircuit.IPAddress; | ||||||
|                     agentCircuit.Viewer = currentAgentCircuit.Viewer; |                     agentCircuit.Viewer = currentAgentCircuit.Viewer; | ||||||
|  |                     agentCircuit.Channel = currentAgentCircuit.Channel; | ||||||
|  |                     agentCircuit.Mac = currentAgentCircuit.Mac; | ||||||
|  |                     agentCircuit.Id0 = currentAgentCircuit.Id0; | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 if (NeedsNewAgent(oldRegionX, newRegionX, oldRegionY, newRegionY)) |                 if (NeedsNewAgent(oldRegionX, newRegionX, oldRegionY, newRegionY)) | ||||||
|  | @ -979,16 +983,16 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | ||||||
|             agent.CapsPath = CapsUtil.GetRandomCapsObjectPath(); |             agent.CapsPath = CapsUtil.GetRandomCapsObjectPath(); | ||||||
| 
 | 
 | ||||||
|             agent.ChildrenCapSeeds = new Dictionary<ulong, string>(sp.Scene.CapsModule.GetChildrenSeeds(sp.UUID)); |             agent.ChildrenCapSeeds = new Dictionary<ulong, string>(sp.Scene.CapsModule.GetChildrenSeeds(sp.UUID)); | ||||||
|             m_log.DebugFormat("[XXX] Seeds 1 {0}", agent.ChildrenCapSeeds.Count); |             //m_log.DebugFormat("[XXX] Seeds 1 {0}", agent.ChildrenCapSeeds.Count); | ||||||
| 
 | 
 | ||||||
|             if (!agent.ChildrenCapSeeds.ContainsKey(sp.Scene.RegionInfo.RegionHandle)) |             if (!agent.ChildrenCapSeeds.ContainsKey(sp.Scene.RegionInfo.RegionHandle)) | ||||||
|                 agent.ChildrenCapSeeds.Add(sp.Scene.RegionInfo.RegionHandle, sp.ControllingClient.RequestClientInfo().CapsPath); |                 agent.ChildrenCapSeeds.Add(sp.Scene.RegionInfo.RegionHandle, sp.ControllingClient.RequestClientInfo().CapsPath); | ||||||
|             m_log.DebugFormat("[XXX] Seeds 2 {0}", agent.ChildrenCapSeeds.Count); |             //m_log.DebugFormat("[XXX] Seeds 2 {0}", agent.ChildrenCapSeeds.Count); | ||||||
| 
 | 
 | ||||||
|             sp.AddNeighbourRegion(region.RegionHandle, agent.CapsPath); |             sp.AddNeighbourRegion(region.RegionHandle, agent.CapsPath); | ||||||
|             foreach (ulong h in agent.ChildrenCapSeeds.Keys) |             //foreach (ulong h in agent.ChildrenCapSeeds.Keys) | ||||||
|                 m_log.DebugFormat("[XXX] --> {0}", h); |             //    m_log.DebugFormat("[XXX] --> {0}", h); | ||||||
|             m_log.DebugFormat("[XXX] Adding {0}", region.RegionHandle); |             //m_log.DebugFormat("[XXX] Adding {0}", region.RegionHandle); | ||||||
|             agent.ChildrenCapSeeds.Add(region.RegionHandle, agent.CapsPath); |             agent.ChildrenCapSeeds.Add(region.RegionHandle, agent.CapsPath); | ||||||
| 
 | 
 | ||||||
|             if (sp.Scene.CapsModule != null) |             if (sp.Scene.CapsModule != null) | ||||||
|  | @ -999,7 +1003,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | ||||||
|             if (currentAgentCircuit != null) |             if (currentAgentCircuit != null) | ||||||
|             { |             { | ||||||
|                 agent.ServiceURLs = currentAgentCircuit.ServiceURLs; |                 agent.ServiceURLs = currentAgentCircuit.ServiceURLs; | ||||||
|  |                 agent.IPAddress = currentAgentCircuit.IPAddress; | ||||||
|                 agent.Viewer = currentAgentCircuit.Viewer; |                 agent.Viewer = currentAgentCircuit.Viewer; | ||||||
|  |                 agent.Channel = currentAgentCircuit.Channel; | ||||||
|  |                 agent.Mac = currentAgentCircuit.Mac; | ||||||
|  |                 agent.Id0 = currentAgentCircuit.Id0; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             IPEndPoint external = region.ExternalEndPoint; |             IPEndPoint external = region.ExternalEndPoint; | ||||||
|  | @ -1092,7 +1100,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | ||||||
|                     if (currentAgentCircuit != null) |                     if (currentAgentCircuit != null) | ||||||
|                     { |                     { | ||||||
|                         agent.ServiceURLs = currentAgentCircuit.ServiceURLs; |                         agent.ServiceURLs = currentAgentCircuit.ServiceURLs; | ||||||
|  |                         agent.IPAddress = currentAgentCircuit.IPAddress; | ||||||
|                         agent.Viewer = currentAgentCircuit.Viewer; |                         agent.Viewer = currentAgentCircuit.Viewer; | ||||||
|  |                         agent.Channel = currentAgentCircuit.Channel; | ||||||
|  |                         agent.Mac = currentAgentCircuit.Mac; | ||||||
|  |                         agent.Id0 = currentAgentCircuit.Id0; | ||||||
|                     } |                     } | ||||||
| 
 | 
 | ||||||
|                     if (newRegions.Contains(neighbour.RegionHandle)) |                     if (newRegions.Contains(neighbour.RegionHandle)) | ||||||
|  |  | ||||||
|  | @ -54,9 +54,10 @@ namespace OpenSim.Server.Handlers.Hypergrid | ||||||
|         private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |         private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||||||
|         private IGatekeeperService m_GatekeeperService; |         private IGatekeeperService m_GatekeeperService; | ||||||
| 
 | 
 | ||||||
|         public GatekeeperAgentHandler(IGatekeeperService gatekeeper) |         public GatekeeperAgentHandler(IGatekeeperService gatekeeper, bool proxy) | ||||||
|         { |         { | ||||||
|             m_GatekeeperService = gatekeeper; |             m_GatekeeperService = gatekeeper; | ||||||
|  |             m_Proxy = proxy; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         protected override bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint teleportFlags, out string reason) |         protected override bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint teleportFlags, out string reason) | ||||||
|  |  | ||||||
|  | @ -51,6 +51,8 @@ namespace OpenSim.Server.Handlers.Hypergrid | ||||||
|             get { return m_GatekeeperService; } |             get { return m_GatekeeperService; } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         bool m_Proxy = false; | ||||||
|  | 
 | ||||||
|         public GatekeeperServiceInConnector(IConfigSource config, IHttpServer server, ISimulationService simService) : |         public GatekeeperServiceInConnector(IConfigSource config, IHttpServer server, ISimulationService simService) : | ||||||
|                 base(config, server, String.Empty) |                 base(config, server, String.Empty) | ||||||
|         { |         { | ||||||
|  | @ -65,11 +67,13 @@ namespace OpenSim.Server.Handlers.Hypergrid | ||||||
|             if (m_GatekeeperService == null) |             if (m_GatekeeperService == null) | ||||||
|                 throw new Exception("Gatekeeper server connector cannot proceed because of missing service"); |                 throw new Exception("Gatekeeper server connector cannot proceed because of missing service"); | ||||||
| 
 | 
 | ||||||
|  |             m_Proxy = gridConfig.GetBoolean("HasProxy", false); | ||||||
|  | 
 | ||||||
|             HypergridHandlers hghandlers = new HypergridHandlers(m_GatekeeperService); |             HypergridHandlers hghandlers = new HypergridHandlers(m_GatekeeperService); | ||||||
|             server.AddXmlRPCHandler("link_region", hghandlers.LinkRegionRequest, false); |             server.AddXmlRPCHandler("link_region", hghandlers.LinkRegionRequest, false); | ||||||
|             server.AddXmlRPCHandler("get_region", hghandlers.GetRegion, false); |             server.AddXmlRPCHandler("get_region", hghandlers.GetRegion, false); | ||||||
| 
 | 
 | ||||||
|             server.AddHTTPHandler("/foreignagent/", new GatekeeperAgentHandler(m_GatekeeperService).Handler); |             server.AddHTTPHandler("/foreignagent/", new GatekeeperAgentHandler(m_GatekeeperService, m_Proxy).Handler); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public GatekeeperServiceInConnector(IConfigSource config, IHttpServer server) |         public GatekeeperServiceInConnector(IConfigSource config, IHttpServer server) | ||||||
|  |  | ||||||
|  | @ -55,11 +55,13 @@ namespace OpenSim.Server.Handlers.Hypergrid | ||||||
|         private IUserAgentService m_UserAgentService; |         private IUserAgentService m_UserAgentService; | ||||||
| 
 | 
 | ||||||
|         private string m_LoginServerIP; |         private string m_LoginServerIP; | ||||||
|  |         private bool m_Proxy = false; | ||||||
| 
 | 
 | ||||||
|         public HomeAgentHandler(IUserAgentService userAgentService, string loginServerIP) |         public HomeAgentHandler(IUserAgentService userAgentService, string loginServerIP, bool proxy) | ||||||
|         { |         { | ||||||
|             m_UserAgentService = userAgentService; |             m_UserAgentService = userAgentService; | ||||||
|             m_LoginServerIP = loginServerIP; |             m_LoginServerIP = loginServerIP; | ||||||
|  |             m_Proxy = proxy; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public Hashtable Handler(Hashtable request) |         public Hashtable Handler(Hashtable request) | ||||||
|  | @ -153,11 +155,11 @@ namespace OpenSim.Server.Handlers.Hypergrid | ||||||
|                 string ip_str = args["client_ip"].ToString(); |                 string ip_str = args["client_ip"].ToString(); | ||||||
|                 try |                 try | ||||||
|                 { |                 { | ||||||
|                     string callerIP = Util.GetCallerIP(request); |                     string callerIP = GetCallerIP(request); | ||||||
|                     // Verify if this caller has authority to send the client IP |                     // Verify if this caller has authority to send the client IP | ||||||
|                     if (callerIP == m_LoginServerIP) |                     if (callerIP == m_LoginServerIP) | ||||||
|                         client_ipaddress = new IPEndPoint(IPAddress.Parse(ip_str), 0); |                         client_ipaddress = new IPEndPoint(IPAddress.Parse(ip_str), 0); | ||||||
|                     else |                     else // leaving this for now, but this warning should be removed | ||||||
|                         m_log.WarnFormat("[HOME AGENT HANDLER]: Unauthorized machine {0} tried to set client ip to {1}", callerIP, ip_str); |                         m_log.WarnFormat("[HOME AGENT HANDLER]: Unauthorized machine {0} tried to set client ip to {1}", callerIP, ip_str); | ||||||
|                 } |                 } | ||||||
|                 catch |                 catch | ||||||
|  | @ -198,6 +200,23 @@ namespace OpenSim.Server.Handlers.Hypergrid | ||||||
|             responsedata["str_response_string"] = OSDParser.SerializeJsonString(resp); |             responsedata["str_response_string"] = OSDParser.SerializeJsonString(resp); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         private string GetCallerIP(Hashtable request) | ||||||
|  |         { | ||||||
|  |             if (!m_Proxy) | ||||||
|  |                 return Util.GetCallerIP(request); | ||||||
|  | 
 | ||||||
|  |             // We're behind a proxy | ||||||
|  |             Hashtable headers = (Hashtable)request["headers"]; | ||||||
|  |             if (headers.ContainsKey("X-Forwarded-For") && headers["X-Forwarded-For"] != null) | ||||||
|  |             { | ||||||
|  |                 IPEndPoint ep = Util.GetClientIPFromXFF((string)headers["X-Forwarded-For"]); | ||||||
|  |                 if (ep != null) | ||||||
|  |                     return ep.Address.ToString(); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             // Oops | ||||||
|  |             return Util.GetCallerIP(request); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -67,6 +67,7 @@ namespace OpenSim.Server.Handlers.Hypergrid | ||||||
|                 throw new Exception("UserAgent server connector cannot proceed because of missing service"); |                 throw new Exception("UserAgent server connector cannot proceed because of missing service"); | ||||||
| 
 | 
 | ||||||
|             string loginServerIP = gridConfig.GetString("LoginServerIP", "127.0.0.1"); |             string loginServerIP = gridConfig.GetString("LoginServerIP", "127.0.0.1"); | ||||||
|  |             bool proxy = gridConfig.GetBoolean("HasProxy", false); | ||||||
| 
 | 
 | ||||||
|             server.AddXmlRPCHandler("agent_is_coming_home", AgentIsComingHome, false); |             server.AddXmlRPCHandler("agent_is_coming_home", AgentIsComingHome, false); | ||||||
|             server.AddXmlRPCHandler("get_home_region", GetHomeRegion, false); |             server.AddXmlRPCHandler("get_home_region", GetHomeRegion, false); | ||||||
|  | @ -74,7 +75,7 @@ namespace OpenSim.Server.Handlers.Hypergrid | ||||||
|             server.AddXmlRPCHandler("verify_client", VerifyClient, false); |             server.AddXmlRPCHandler("verify_client", VerifyClient, false); | ||||||
|             server.AddXmlRPCHandler("logout_agent", LogoutAgent, false); |             server.AddXmlRPCHandler("logout_agent", LogoutAgent, false); | ||||||
| 
 | 
 | ||||||
|             server.AddHTTPHandler("/homeagent/", new HomeAgentHandler(m_HomeUsersService, loginServerIP).Handler); |             server.AddHTTPHandler("/homeagent/", new HomeAgentHandler(m_HomeUsersService, loginServerIP, proxy).Handler); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public XmlRpcResponse GetHomeRegion(XmlRpcRequest request, IPEndPoint remoteClient) |         public XmlRpcResponse GetHomeRegion(XmlRpcRequest request, IPEndPoint remoteClient) | ||||||
|  |  | ||||||
|  | @ -88,14 +88,26 @@ namespace OpenSim.Server.Handlers.Login | ||||||
|                         startLocation = requestData["start"].ToString(); |                         startLocation = requestData["start"].ToString(); | ||||||
| 
 | 
 | ||||||
|                     string clientVersion = "Unknown"; |                     string clientVersion = "Unknown"; | ||||||
|                     if (requestData.Contains("version")) |                     if (requestData.Contains("version") && requestData["version"] != null) | ||||||
|                         clientVersion = requestData["version"].ToString(); |                         clientVersion = requestData["version"].ToString(); | ||||||
|                     // We should do something interesting with the client version... |                     // We should do something interesting with the client version... | ||||||
| 
 | 
 | ||||||
|  |                     string channel = "Unknown"; | ||||||
|  |                     if (requestData.Contains("channel") && requestData["channel"] != null) | ||||||
|  |                         channel = requestData["channel"].ToString(); | ||||||
|  | 
 | ||||||
|  |                     string mac = "Unknown"; | ||||||
|  |                     if (requestData.Contains("mac") && requestData["mac"] != null) | ||||||
|  |                         mac = requestData["mac"].ToString(); | ||||||
|  | 
 | ||||||
|  |                     string id0 = "Unknown"; | ||||||
|  |                     if (requestData.Contains("id0") && requestData["id0"] != null) | ||||||
|  |                         id0 = requestData["id0"].ToString(); | ||||||
|  |                      | ||||||
|                     //m_log.InfoFormat("[LOGIN]: XMLRPC Login Requested for {0} {1}, starting in {2}, using {3}", first, last, startLocation, clientVersion); |                     //m_log.InfoFormat("[LOGIN]: XMLRPC Login Requested for {0} {1}, starting in {2}, using {3}", first, last, startLocation, clientVersion); | ||||||
| 
 | 
 | ||||||
|                     LoginResponse reply = null; |                     LoginResponse reply = null; | ||||||
|                     reply = m_LocalService.Login(first, last, passwd, startLocation, scopeID, clientVersion, remoteClient); |                     reply = m_LocalService.Login(first, last, passwd, startLocation, scopeID, clientVersion, channel, mac, id0, remoteClient); | ||||||
| 
 | 
 | ||||||
|                     XmlRpcResponse response = new XmlRpcResponse(); |                     XmlRpcResponse response = new XmlRpcResponse(); | ||||||
|                     response.Value = reply.ToHashtable(); |                     response.Value = reply.ToHashtable(); | ||||||
|  | @ -166,7 +178,8 @@ namespace OpenSim.Server.Handlers.Login | ||||||
|                     m_log.Info("[LOGIN]: LLSD Login Requested for: '" + map["first"].AsString() + "' '" + map["last"].AsString() + "' / " + startLocation); |                     m_log.Info("[LOGIN]: LLSD Login Requested for: '" + map["first"].AsString() + "' '" + map["last"].AsString() + "' / " + startLocation); | ||||||
| 
 | 
 | ||||||
|                     LoginResponse reply = null; |                     LoginResponse reply = null; | ||||||
|                     reply = m_LocalService.Login(map["first"].AsString(), map["last"].AsString(), map["passwd"].AsString(), startLocation, scopeID, String.Empty, remoteClient); |                     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); | ||||||
|                     return reply.ToOSDMap(); |                     return reply.ToOSDMap(); | ||||||
| 
 | 
 | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
|  | @ -52,6 +52,8 @@ namespace OpenSim.Server.Handlers.Simulation | ||||||
|         private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |         private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||||||
|         private ISimulationService m_SimulationService; |         private ISimulationService m_SimulationService; | ||||||
| 
 | 
 | ||||||
|  |         protected bool m_Proxy = false; | ||||||
|  | 
 | ||||||
|         public AgentHandler() { } |         public AgentHandler() { } | ||||||
| 
 | 
 | ||||||
|         public AgentHandler(ISimulationService sim) |         public AgentHandler(ISimulationService sim) | ||||||
|  | @ -184,13 +186,31 @@ namespace OpenSim.Server.Handlers.Simulation | ||||||
|             resp["reason"] = OSD.FromString(reason); |             resp["reason"] = OSD.FromString(reason); | ||||||
|             resp["success"] = OSD.FromBoolean(result); |             resp["success"] = OSD.FromBoolean(result); | ||||||
|             // Let's also send out the IP address of the caller back to the caller (HG 1.5) |             // Let's also send out the IP address of the caller back to the caller (HG 1.5) | ||||||
|             resp["your_ip"] = OSD.FromString(Util.GetCallerIP(request)); |             resp["your_ip"] = OSD.FromString(GetCallerIP(request)); | ||||||
| 
 | 
 | ||||||
|             // TODO: add reason if not String.Empty? |             // TODO: add reason if not String.Empty? | ||||||
|             responsedata["int_response_code"] = HttpStatusCode.OK; |             responsedata["int_response_code"] = HttpStatusCode.OK; | ||||||
|             responsedata["str_response_string"] = OSDParser.SerializeJsonString(resp); |             responsedata["str_response_string"] = OSDParser.SerializeJsonString(resp); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         private string GetCallerIP(Hashtable request) | ||||||
|  |         { | ||||||
|  |             if (!m_Proxy) | ||||||
|  |                 return Util.GetCallerIP(request); | ||||||
|  | 
 | ||||||
|  |             // We're behind a proxy | ||||||
|  |             Hashtable headers = (Hashtable)request["headers"]; | ||||||
|  |             if (headers.ContainsKey("X-Forwarded-For") && headers["X-Forwarded-For"] != null) | ||||||
|  |             { | ||||||
|  |                 IPEndPoint ep = Util.GetClientIPFromXFF((string)headers["X-Forwarded-For"]); | ||||||
|  |                 if (ep != null) | ||||||
|  |                     return ep.Address.ToString(); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             // Oops | ||||||
|  |             return Util.GetCallerIP(request); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         // subclasses can override this |         // subclasses can override this | ||||||
|         protected virtual bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint teleportFlags, out string reason) |         protected virtual bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint teleportFlags, out string reason) | ||||||
|         { |         { | ||||||
|  |  | ||||||
|  | @ -238,8 +238,12 @@ namespace OpenSim.Services.Connectors.Hypergrid | ||||||
|             args["destination_y"] = OSD.FromString(destination.RegionLocY.ToString()); |             args["destination_y"] = OSD.FromString(destination.RegionLocY.ToString()); | ||||||
|             args["destination_name"] = OSD.FromString(destination.RegionName); |             args["destination_name"] = OSD.FromString(destination.RegionName); | ||||||
|             args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString()); |             args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString()); | ||||||
|             if (ipaddress != null) | 
 | ||||||
|                 args["client_ip"] = OSD.FromString(ipaddress.Address.ToString()); |             // 10/3/2010 | ||||||
|  |             // I added the client_ip up to the regular AgentCircuitData, so this doesn't need to be here. | ||||||
|  |             // This need cleaning elsewhere... | ||||||
|  |             //if (ipaddress != null) | ||||||
|  |             //    args["client_ip"] = OSD.FromString(ipaddress.Address.ToString()); | ||||||
| 
 | 
 | ||||||
|             return args; |             return args; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  | @ -148,7 +148,6 @@ namespace OpenSim.Services.HypergridService | ||||||
|             agentCircuit.ServiceSessionID = "http://" + region.ExternalHostName + ":" + region.HttpPort + ";" + UUID.Random(); |             agentCircuit.ServiceSessionID = "http://" + region.ExternalHostName + ":" + region.HttpPort + ";" + UUID.Random(); | ||||||
|             TravelingAgentInfo old = UpdateTravelInfo(agentCircuit, region); |             TravelingAgentInfo old = UpdateTravelInfo(agentCircuit, region); | ||||||
| 
 | 
 | ||||||
|             //bool success = m_GatekeeperConnector.CreateAgent(region, agentCircuit, (uint)Constants.TeleportFlags.ViaLogin, out reason); |  | ||||||
|             bool success = false; |             bool success = false; | ||||||
|             string myExternalIP = string.Empty; |             string myExternalIP = string.Empty; | ||||||
|             string gridName = "http://" + gatekeeper.ExternalHostName + ":" + gatekeeper.HttpPort; |             string gridName = "http://" + gatekeeper.ExternalHostName + ":" + gatekeeper.HttpPort; | ||||||
|  | @ -200,6 +199,11 @@ namespace OpenSim.Services.HypergridService | ||||||
|             { |             { | ||||||
|                 if (m_TravelingAgents.ContainsKey(agentCircuit.SessionID)) |                 if (m_TravelingAgents.ContainsKey(agentCircuit.SessionID)) | ||||||
|                 { |                 { | ||||||
|  |                     // Very important! Override whatever this agent comes with. | ||||||
|  |                     // UserAgentService always sets the IP for every new agent | ||||||
|  |                     // with the original IP address. | ||||||
|  |                     agentCircuit.IPAddress = m_TravelingAgents[agentCircuit.SessionID].ClientIPAddress; | ||||||
|  | 
 | ||||||
|                     old = m_TravelingAgents[agentCircuit.SessionID]; |                     old = m_TravelingAgents[agentCircuit.SessionID]; | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -47,7 +47,8 @@ namespace OpenSim.Services.Interfaces | ||||||
| 
 | 
 | ||||||
|     public interface ILoginService |     public interface ILoginService | ||||||
|     { |     { | ||||||
|         LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID, string clientVersion, IPEndPoint clientIP); |         LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID,  | ||||||
|  |             string clientVersion, string channel, string mac, string id0, IPEndPoint clientIP); | ||||||
|         Hashtable SetLevel(string firstName, string lastName, string passwd, int level, IPEndPoint clientIP); |         Hashtable SetLevel(string firstName, string lastName, string passwd, int level, IPEndPoint clientIP); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -208,7 +208,8 @@ namespace OpenSim.Services.LLLoginService | ||||||
|             return response; |             return response; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID, string clientVersion, IPEndPoint clientIP) |         public LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID,  | ||||||
|  |             string clientVersion, string channel, string mac, string id0, IPEndPoint clientIP) | ||||||
|         { |         { | ||||||
|             bool success = false; |             bool success = false; | ||||||
|             UUID session = UUID.Random(); |             UUID session = UUID.Random(); | ||||||
|  | @ -346,7 +347,8 @@ namespace OpenSim.Services.LLLoginService | ||||||
|                 // |                 // | ||||||
|                 string reason = string.Empty; |                 string reason = string.Empty; | ||||||
|                 GridRegion dest; |                 GridRegion dest; | ||||||
|                 AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where, clientVersion, clientIP, out where, out reason, out dest); |                 AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where,  | ||||||
|  |                     clientVersion, channel, mac, id0, clientIP, out where, out reason, out dest); | ||||||
|                 destination = dest; |                 destination = dest; | ||||||
|                 if (aCircuit == null) |                 if (aCircuit == null) | ||||||
|                 { |                 { | ||||||
|  | @ -606,7 +608,8 @@ namespace OpenSim.Services.LLLoginService | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarData avatar, |         protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarData avatar, | ||||||
|             UUID session, UUID secureSession, Vector3 position, string currentWhere, string viewer, IPEndPoint clientIP, out string where, out string reason, out GridRegion dest) |             UUID session, UUID secureSession, Vector3 position, string currentWhere, string viewer, string channel, string mac, string id0, | ||||||
|  |             IPEndPoint clientIP, out string where, out string reason, out GridRegion dest) | ||||||
|         { |         { | ||||||
|             where = currentWhere; |             where = currentWhere; | ||||||
|             ISimulationService simConnector = null; |             ISimulationService simConnector = null; | ||||||
|  | @ -646,7 +649,7 @@ namespace OpenSim.Services.LLLoginService | ||||||
|             if (m_UserAgentService == null && simConnector != null) |             if (m_UserAgentService == null && simConnector != null) | ||||||
|             { |             { | ||||||
|                 circuitCode = (uint)Util.RandomClass.Next(); ; |                 circuitCode = (uint)Util.RandomClass.Next(); ; | ||||||
|                 aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, viewer); |                 aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, clientIP.Address.ToString(), viewer, channel, mac, id0); | ||||||
|                 success = LaunchAgentDirectly(simConnector, destination, aCircuit, out reason); |                 success = LaunchAgentDirectly(simConnector, destination, aCircuit, out reason); | ||||||
|                 if (!success && m_GridService != null) |                 if (!success && m_GridService != null) | ||||||
|                 { |                 { | ||||||
|  | @ -671,7 +674,7 @@ namespace OpenSim.Services.LLLoginService | ||||||
|             if (m_UserAgentService != null) |             if (m_UserAgentService != null) | ||||||
|             { |             { | ||||||
|                 circuitCode = (uint)Util.RandomClass.Next(); ; |                 circuitCode = (uint)Util.RandomClass.Next(); ; | ||||||
|                 aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, viewer); |                 aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, clientIP.Address.ToString(), viewer, channel, mac, id0); | ||||||
|                 success = LaunchAgentIndirectly(gatekeeper, destination, aCircuit, clientIP, out reason); |                 success = LaunchAgentIndirectly(gatekeeper, destination, aCircuit, clientIP, out reason); | ||||||
|                 if (!success && m_GridService != null) |                 if (!success && m_GridService != null) | ||||||
|                 { |                 { | ||||||
|  | @ -700,7 +703,8 @@ namespace OpenSim.Services.LLLoginService | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private AgentCircuitData MakeAgent(GridRegion region, UserAccount account,  |         private AgentCircuitData MakeAgent(GridRegion region, UserAccount account,  | ||||||
|             AvatarData avatar, UUID session, UUID secureSession, uint circuit, Vector3 position, string viewer) |             AvatarData avatar, UUID session, UUID secureSession, uint circuit, Vector3 position,  | ||||||
|  |             string ipaddress, string viewer, string channel, string mac, string id0) | ||||||
|         { |         { | ||||||
|             AgentCircuitData aCircuit = new AgentCircuitData(); |             AgentCircuitData aCircuit = new AgentCircuitData(); | ||||||
| 
 | 
 | ||||||
|  | @ -721,7 +725,11 @@ namespace OpenSim.Services.LLLoginService | ||||||
|             aCircuit.SecureSessionID = secureSession; |             aCircuit.SecureSessionID = secureSession; | ||||||
|             aCircuit.SessionID = session; |             aCircuit.SessionID = session; | ||||||
|             aCircuit.startpos = position; |             aCircuit.startpos = position; | ||||||
|  |             aCircuit.IPAddress = ipaddress; | ||||||
|             aCircuit.Viewer = viewer; |             aCircuit.Viewer = viewer; | ||||||
|  |             aCircuit.Channel = channel; | ||||||
|  |             aCircuit.Mac = mac; | ||||||
|  |             aCircuit.Id0 = id0; | ||||||
|             SetServiceURLs(aCircuit, account); |             SetServiceURLs(aCircuit, account); | ||||||
| 
 | 
 | ||||||
|             return aCircuit; |             return aCircuit; | ||||||
|  |  | ||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -1,333 +1,333 @@ | ||||||
| <?xml version="1.0"?> | <?xml version="1.0"?> | ||||||
| <doc> | <doc> | ||||||
|     <assembly> |     <assembly> | ||||||
|         <name>OpenMetaverse.StructuredData</name> |         <name>OpenMetaverse.StructuredData</name> | ||||||
|     </assembly> |     </assembly> | ||||||
|     <members> |     <members> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSDParser"> |         <member name="T:OpenMetaverse.StructuredData.OSDParser"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDBinary(System.Byte[])"> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.Byte[])"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|             <param name="binaryData"></param> |             <param name="xmlData"></param> | ||||||
|             <returns></returns> |             <returns></returns> | ||||||
|         </member> |         </member> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDBinary(System.IO.Stream)"> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.String)"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|             <param name="stream"></param> |             <param name="xmlData"></param> | ||||||
|             <returns></returns> |             <returns></returns> | ||||||
|         </member> |         </member> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDBinary(OpenMetaverse.StructuredData.OSD)"> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.Xml.XmlTextReader)"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|             <param name="osd"></param> |             <param name="xmlData"></param> | ||||||
|             <returns></returns> |             <returns></returns> | ||||||
|         </member> |         </member> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDBinaryStream(OpenMetaverse.StructuredData.OSD)"> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDXmlBytes(OpenMetaverse.StructuredData.OSD)"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|             <param name="data"></param> |             <param name="data"></param> | ||||||
|             <returns></returns> |             <returns></returns> | ||||||
|         </member> |         </member> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.SkipWhiteSpace(System.IO.Stream)"> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDXmlString(OpenMetaverse.StructuredData.OSD)"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|             <param name="stream"></param> |             <param name="data"></param> | ||||||
|         </member> |             <returns></returns> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.FindByte(System.IO.Stream,System.Byte)"> |         </member> | ||||||
|             <summary> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDXmlElement(System.Xml.XmlTextWriter,OpenMetaverse.StructuredData.OSD)"> | ||||||
|              |             <summary> | ||||||
|             </summary> |              | ||||||
|             <param name="stream"></param> |             </summary> | ||||||
|             <param name="toFind"></param> |             <param name="writer"></param> | ||||||
|             <returns></returns> |             <param name="data"></param> | ||||||
|         </member> |         </member> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.FindString(System.IO.Stream,System.String)"> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.TryValidateLLSDXml(System.Xml.XmlTextReader,System.String@)"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|             <param name="stream"></param> |             <param name="xmlData"></param> | ||||||
|             <param name="toFind"></param> |             <param name="error"></param> | ||||||
|             <returns></returns> |             <returns></returns> | ||||||
|         </member> |         </member> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.ConsumeBytes(System.IO.Stream,System.Int32)"> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.ParseLLSDXmlElement(System.Xml.XmlTextReader)"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|             <param name="stream"></param> |             <param name="reader"></param> | ||||||
|             <param name="consumeBytes"></param> |             <returns></returns> | ||||||
|             <returns></returns> |         </member> | ||||||
|         </member> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDNotationElement(System.IO.StringReader)"> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.NetworkToHostInt(System.Byte[])"> |             <summary> | ||||||
|             <summary> |              | ||||||
|              |             </summary> | ||||||
|             </summary> |             <param name="reader"></param> | ||||||
|             <param name="binaryNetEnd"></param> |             <returns></returns> | ||||||
|             <returns></returns> |         </member> | ||||||
|         </member> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.PeekAndSkipWhitespace(System.IO.StringReader)"> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.NetworkToHostDouble(System.Byte[])"> |             <summary> | ||||||
|             <summary> |              | ||||||
|              |             </summary> | ||||||
|             </summary> |             <param name="reader"></param> | ||||||
|             <param name="binaryNetEnd"></param> |             <returns></returns> | ||||||
|             <returns></returns> |         </member> | ||||||
|         </member> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.ReadAndSkipWhitespace(System.IO.StringReader)"> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.HostToNetworkIntBytes(System.Int32)"> |             <summary> | ||||||
|             <summary> |              | ||||||
|              |             </summary> | ||||||
|             </summary> |             <param name="reader"></param> | ||||||
|             <param name="intHostEnd"></param> |             <returns></returns> | ||||||
|             <returns></returns>    |         </member> | ||||||
|         </member> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.GetLengthInBrackets(System.IO.StringReader)"> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.Byte[])"> |             <summary> | ||||||
|             <summary> |              | ||||||
|              |             </summary> | ||||||
|             </summary> |             <param name="reader"></param> | ||||||
|             <param name="xmlData"></param> |             <returns></returns> | ||||||
|             <returns></returns> |         </member> | ||||||
|         </member> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.GetStringDelimitedBy(System.IO.StringReader,System.Char)"> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.String)"> |             <summary> | ||||||
|             <summary> |              | ||||||
|              |             </summary> | ||||||
|             </summary> |             <param name="reader"></param> | ||||||
|             <param name="xmlData"></param> |             <param name="delimiter"></param> | ||||||
|             <returns></returns> |             <returns></returns> | ||||||
|         </member> |         </member> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.Xml.XmlTextReader)"> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.BufferCharactersEqual(System.IO.StringReader,System.Char[],System.Int32)"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|             <param name="xmlData"></param> |             <param name="reader"></param> | ||||||
|             <returns></returns> |             <param name="buffer"></param> | ||||||
|         </member> |             <param name="offset"></param> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDXmlBytes(OpenMetaverse.StructuredData.OSD)"> |             <returns></returns> | ||||||
|             <summary> |         </member> | ||||||
|              |         <member name="M:OpenMetaverse.StructuredData.OSDParser.UnescapeCharacter(System.String,System.Char)"> | ||||||
|             </summary> |             <summary> | ||||||
|             <param name="data"></param> |              | ||||||
|             <returns></returns> |             </summary> | ||||||
|         </member> |             <param name="s"></param> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDXmlString(OpenMetaverse.StructuredData.OSD)"> |             <param name="c"></param> | ||||||
|             <summary> |             <returns></returns> | ||||||
|              |         </member> | ||||||
|             </summary> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.EscapeCharacter(System.String,System.Char)"> | ||||||
|             <param name="data"></param> |             <summary> | ||||||
|             <returns></returns> |              | ||||||
|         </member> |             </summary> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDXmlElement(System.Xml.XmlTextWriter,OpenMetaverse.StructuredData.OSD)"> |             <param name="s"></param> | ||||||
|             <summary> |             <param name="c"></param> | ||||||
|              |             <returns></returns> | ||||||
|             </summary> |         </member> | ||||||
|             <param name="writer"></param> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDBinary(System.Byte[])"> | ||||||
|             <param name="data"></param> |             <summary> | ||||||
|         </member> |              | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.TryValidateLLSDXml(System.Xml.XmlTextReader,System.String@)"> |             </summary> | ||||||
|             <summary> |             <param name="binaryData"></param> | ||||||
|              |             <returns></returns> | ||||||
|             </summary> |         </member> | ||||||
|             <param name="xmlData"></param> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDBinary(System.IO.Stream)"> | ||||||
|             <param name="error"></param> |             <summary> | ||||||
|             <returns></returns> |              | ||||||
|         </member> |             </summary> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.ParseLLSDXmlElement(System.Xml.XmlTextReader)"> |             <param name="stream"></param> | ||||||
|             <summary> |             <returns></returns> | ||||||
|              |         </member> | ||||||
|             </summary> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDBinary(OpenMetaverse.StructuredData.OSD)"> | ||||||
|             <param name="reader"></param> |             <summary> | ||||||
|             <returns></returns> |              | ||||||
|         </member> |             </summary> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDNotationElement(System.IO.StringReader)"> |             <param name="osd"></param> | ||||||
|             <summary> |             <returns></returns> | ||||||
|              |         </member> | ||||||
|             </summary> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDBinaryStream(OpenMetaverse.StructuredData.OSD)"> | ||||||
|             <param name="reader"></param> |             <summary> | ||||||
|             <returns></returns> |              | ||||||
|         </member> |             </summary> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.PeekAndSkipWhitespace(System.IO.StringReader)"> |             <param name="data"></param> | ||||||
|             <summary> |             <returns></returns> | ||||||
|              |         </member> | ||||||
|             </summary> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.SkipWhiteSpace(System.IO.Stream)"> | ||||||
|             <param name="reader"></param> |             <summary> | ||||||
|             <returns></returns> |              | ||||||
|         </member> |             </summary> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.ReadAndSkipWhitespace(System.IO.StringReader)"> |             <param name="stream"></param> | ||||||
|             <summary> |         </member> | ||||||
|              |         <member name="M:OpenMetaverse.StructuredData.OSDParser.FindByte(System.IO.Stream,System.Byte)"> | ||||||
|             </summary> |             <summary> | ||||||
|             <param name="reader"></param> |              | ||||||
|             <returns></returns> |             </summary> | ||||||
|         </member> |             <param name="stream"></param> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.GetLengthInBrackets(System.IO.StringReader)"> |             <param name="toFind"></param> | ||||||
|             <summary> |             <returns></returns> | ||||||
|              |         </member> | ||||||
|             </summary> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.FindByteArray(System.IO.Stream,System.Byte[])"> | ||||||
|             <param name="reader"></param> |             <summary> | ||||||
|             <returns></returns> |              | ||||||
|         </member> |             </summary> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.GetStringDelimitedBy(System.IO.StringReader,System.Char)"> |             <param name="stream"></param> | ||||||
|             <summary> |             <param name="toFind"></param> | ||||||
|              |             <returns></returns> | ||||||
|             </summary> |         </member> | ||||||
|             <param name="reader"></param> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.ConsumeBytes(System.IO.Stream,System.Int32)"> | ||||||
|             <param name="delimiter"></param> |             <summary> | ||||||
|             <returns></returns> |              | ||||||
|         </member> |             </summary> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.BufferCharactersEqual(System.IO.StringReader,System.Char[],System.Int32)"> |             <param name="stream"></param> | ||||||
|             <summary> |             <param name="consumeBytes"></param> | ||||||
|              |             <returns></returns> | ||||||
|             </summary> |         </member> | ||||||
|             <param name="reader"></param> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.NetworkToHostInt(System.Byte[])"> | ||||||
|             <param name="buffer"></param> |             <summary> | ||||||
|             <param name="offset"></param> |              | ||||||
|             <returns></returns> |             </summary> | ||||||
|         </member> |             <param name="binaryNetEnd"></param> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.UnescapeCharacter(System.String,System.Char)"> |             <returns></returns> | ||||||
|             <summary> |         </member> | ||||||
|              |         <member name="M:OpenMetaverse.StructuredData.OSDParser.NetworkToHostDouble(System.Byte[])"> | ||||||
|             </summary> |             <summary> | ||||||
|             <param name="s"></param> |              | ||||||
|             <param name="c"></param> |             </summary> | ||||||
|             <returns></returns> |             <param name="binaryNetEnd"></param> | ||||||
|         </member> |             <returns></returns> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSDParser.EscapeCharacter(System.String,System.Char)"> |         </member> | ||||||
|             <summary> |         <member name="M:OpenMetaverse.StructuredData.OSDParser.HostToNetworkIntBytes(System.Int32)"> | ||||||
|              |             <summary> | ||||||
|             </summary> |              | ||||||
|             <param name="s"></param> |             </summary> | ||||||
|             <param name="c"></param> |             <param name="intHostEnd"></param> | ||||||
|             <returns></returns> |             <returns></returns>    | ||||||
|         </member> |         </member> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSDType"> |         <member name="T:OpenMetaverse.StructuredData.OSDType"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="F:OpenMetaverse.StructuredData.OSDType.Unknown"> |         <member name="F:OpenMetaverse.StructuredData.OSDType.Unknown"> | ||||||
|             <summary></summary> |             <summary></summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="F:OpenMetaverse.StructuredData.OSDType.Boolean"> |         <member name="F:OpenMetaverse.StructuredData.OSDType.Boolean"> | ||||||
|             <summary></summary> |             <summary></summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="F:OpenMetaverse.StructuredData.OSDType.Integer"> |         <member name="F:OpenMetaverse.StructuredData.OSDType.Integer"> | ||||||
|             <summary></summary> |             <summary></summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="F:OpenMetaverse.StructuredData.OSDType.Real"> |         <member name="F:OpenMetaverse.StructuredData.OSDType.Real"> | ||||||
|             <summary></summary> |             <summary></summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="F:OpenMetaverse.StructuredData.OSDType.String"> |         <member name="F:OpenMetaverse.StructuredData.OSDType.String"> | ||||||
|             <summary></summary> |             <summary></summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="F:OpenMetaverse.StructuredData.OSDType.UUID"> |         <member name="F:OpenMetaverse.StructuredData.OSDType.UUID"> | ||||||
|             <summary></summary> |             <summary></summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="F:OpenMetaverse.StructuredData.OSDType.Date"> |         <member name="F:OpenMetaverse.StructuredData.OSDType.Date"> | ||||||
|             <summary></summary> |             <summary></summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="F:OpenMetaverse.StructuredData.OSDType.URI"> |         <member name="F:OpenMetaverse.StructuredData.OSDType.URI"> | ||||||
|             <summary></summary> |             <summary></summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="F:OpenMetaverse.StructuredData.OSDType.Binary"> |         <member name="F:OpenMetaverse.StructuredData.OSDType.Binary"> | ||||||
|             <summary></summary> |             <summary></summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="F:OpenMetaverse.StructuredData.OSDType.Map"> |         <member name="F:OpenMetaverse.StructuredData.OSDType.Map"> | ||||||
|             <summary></summary> |             <summary></summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="F:OpenMetaverse.StructuredData.OSDType.Array"> |         <member name="F:OpenMetaverse.StructuredData.OSDType.Array"> | ||||||
|             <summary></summary> |             <summary></summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSDException"> |         <member name="T:OpenMetaverse.StructuredData.OSDException"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSD"> |         <member name="T:OpenMetaverse.StructuredData.OSD"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSD.SerializeMembers(System.Object)"> |         <member name="M:OpenMetaverse.StructuredData.OSD.SerializeMembers(System.Object)"> | ||||||
|             <summary> |             <summary> | ||||||
|             Uses reflection to create an SDMap from all of the SD |             Uses reflection to create an SDMap from all of the SD | ||||||
|             serializable types in an object |             serializable types in an object | ||||||
|             </summary> |             </summary> | ||||||
|             <param name="obj">Class or struct containing serializable types</param> |             <param name="obj">Class or struct containing serializable types</param> | ||||||
|             <returns>An SDMap holding the serialized values from the |             <returns>An SDMap holding the serialized values from the | ||||||
|             container object</returns> |             container object</returns> | ||||||
|         </member> |         </member> | ||||||
|         <member name="M:OpenMetaverse.StructuredData.OSD.DeserializeMembers(System.Object@,OpenMetaverse.StructuredData.OSDMap)"> |         <member name="M:OpenMetaverse.StructuredData.OSD.DeserializeMembers(System.Object@,OpenMetaverse.StructuredData.OSDMap)"> | ||||||
|             <summary> |             <summary> | ||||||
|             Uses reflection to deserialize member variables in an object from |             Uses reflection to deserialize member variables in an object from | ||||||
|             an SDMap |             an SDMap | ||||||
|             </summary> |             </summary> | ||||||
|             <param name="obj">Reference to an object to fill with deserialized |             <param name="obj">Reference to an object to fill with deserialized | ||||||
|             values</param> |             values</param> | ||||||
|             <param name="serialized">Serialized values to put in the target |             <param name="serialized">Serialized values to put in the target | ||||||
|             object</param> |             object</param> | ||||||
|         </member> |         </member> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSDBoolean"> |         <member name="T:OpenMetaverse.StructuredData.OSDBoolean"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSDInteger"> |         <member name="T:OpenMetaverse.StructuredData.OSDInteger"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSDReal"> |         <member name="T:OpenMetaverse.StructuredData.OSDReal"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSDString"> |         <member name="T:OpenMetaverse.StructuredData.OSDString"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSDUUID"> |         <member name="T:OpenMetaverse.StructuredData.OSDUUID"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSDDate"> |         <member name="T:OpenMetaverse.StructuredData.OSDDate"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSDUri"> |         <member name="T:OpenMetaverse.StructuredData.OSDUri"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSDBinary"> |         <member name="T:OpenMetaverse.StructuredData.OSDBinary"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSDMap"> |         <member name="T:OpenMetaverse.StructuredData.OSDMap"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|         <member name="T:OpenMetaverse.StructuredData.OSDArray"> |         <member name="T:OpenMetaverse.StructuredData.OSDArray"> | ||||||
|             <summary> |             <summary> | ||||||
|              |              | ||||||
|             </summary> |             </summary> | ||||||
|         </member> |         </member> | ||||||
|     </members> |     </members> | ||||||
| </doc> | </doc> | ||||||
|  |  | ||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										49977
									
								
								bin/OpenMetaverse.XML
								
								
								
								
							
							
						
						
									
										49977
									
								
								bin/OpenMetaverse.XML
								
								
								
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -1,7 +1,7 @@ | ||||||
| <configuration> | <configuration> | ||||||
|     <dllmap os="osx" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1.dylib" /> |     <dllmap os="osx" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1.dylib" /> | ||||||
|     <dllmap os="!windows,osx" cpu="x86-64,ia64" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-x86_64" /> |     <dllmap os="!windows,osx" cpu="x86-64,ia64" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-x86_64" /> | ||||||
|     <dllmap os="!windows,osx" cpu="x86-64,ia64" dll="openjpeg-dotnet-x86_64.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-x86_64" /> |     <dllmap os="!windows,osx" cpu="x86-64,ia64" dll="openjpeg-dotnet-x86_64.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-x86_64" /> | ||||||
|     <dllmap os="!windows,osx" cpu="x86" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-i686" /> |     <dllmap os="!windows,osx" cpu="x86" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-i686" /> | ||||||
|     <dllmap os="!windows,osx" cpu="x86" dll="openjpeg-dotnet-x86_64.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-i686" /> |     <dllmap os="!windows,osx" cpu="x86" dll="openjpeg-dotnet-x86_64.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-i686" /> | ||||||
| </configuration> | </configuration> | ||||||
|  |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -212,6 +212,10 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003 | ||||||
|     ; Does this grid allow incoming links to any region in it?  |     ; Does this grid allow incoming links to any region in it?  | ||||||
|     ; If false, HG TPs happen only to the Default regions specified in [GridService] section |     ; If false, HG TPs happen only to the Default regions specified in [GridService] section | ||||||
|     AllowTeleportsToAnyRegion = true |     AllowTeleportsToAnyRegion = true | ||||||
|  |      | ||||||
|  |     ; If you run this gatekeeper server behind a proxy, set this to true | ||||||
|  |     ; HasProxy = true | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| [UserAgentService] | [UserAgentService] | ||||||
|     LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService" |     LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService" | ||||||
|  | @ -220,6 +224,9 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003 | ||||||
|     GridService = "OpenSim.Services.GridService.dll:GridService" |     GridService = "OpenSim.Services.GridService.dll:GridService" | ||||||
|     GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService" |     GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService" | ||||||
|      |      | ||||||
|  |     ; If you run this user agent server behind a proxy, set this to true | ||||||
|  |     ; HasProxy = true | ||||||
|  | 
 | ||||||
|     ;; If you separate the UserAgentService from the LoginService, set this to |     ;; If you separate the UserAgentService from the LoginService, set this to | ||||||
|     ;; the IP address of the machine where your LoginService is |     ;; the IP address of the machine where your LoginService is | ||||||
|     ;LoginServerIP = "127.0.0.1" |     ;LoginServerIP = "127.0.0.1" | ||||||
|  |  | ||||||
|  | @ -141,6 +141,9 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003 | ||||||
|     ; For snowglobe's web map |     ; For snowglobe's web map | ||||||
|     ; MapTileURL = ""; |     ; MapTileURL = ""; | ||||||
| 
 | 
 | ||||||
|  |     ; If you run this login server behind a proxy, set this to true | ||||||
|  |     ; HasProxy = true | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| [GridInfoService] | [GridInfoService] | ||||||
|     ; These settings are used to return information on a get_grid_info call. |     ; These settings are used to return information on a get_grid_info call. | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Melanie
						Melanie