diff options
-rw-r--r-- | OpenSim/Framework/AgentCircuitData.cs | 11 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 6 | ||||
-rw-r--r-- | OpenSim/Server/Handlers/Login/LLLoginHandlers.cs | 4 | ||||
-rw-r--r-- | OpenSim/Services/Interfaces/ILoginService.cs | 2 | ||||
-rw-r--r-- | OpenSim/Services/LLLoginService/LLLoginService.cs | 13 |
5 files changed, 27 insertions, 9 deletions
diff --git a/OpenSim/Framework/AgentCircuitData.cs b/OpenSim/Framework/AgentCircuitData.cs index 353e5bf..783a833 100644 --- a/OpenSim/Framework/AgentCircuitData.cs +++ b/OpenSim/Framework/AgentCircuitData.cs | |||
@@ -108,6 +108,11 @@ namespace OpenSim.Framework | |||
108 | public string ServiceSessionID = string.Empty; | 108 | public string ServiceSessionID = string.Empty; |
109 | 109 | ||
110 | /// <summary> | 110 | /// <summary> |
111 | /// Viewer's version string | ||
112 | /// </summary> | ||
113 | public string Viewer; | ||
114 | |||
115 | /// <summary> | ||
111 | /// Position the Agent's Avatar starts in the region | 116 | /// Position the Agent's Avatar starts in the region |
112 | /// </summary> | 117 | /// </summary> |
113 | public Vector3 startpos; | 118 | public Vector3 startpos; |
@@ -136,6 +141,7 @@ namespace OpenSim.Framework | |||
136 | BaseFolder = new UUID(cAgent.BaseFolder); | 141 | BaseFolder = new UUID(cAgent.BaseFolder); |
137 | CapsPath = cAgent.CapsPath; | 142 | CapsPath = cAgent.CapsPath; |
138 | ChildrenCapSeeds = cAgent.ChildrenCapSeeds; | 143 | ChildrenCapSeeds = cAgent.ChildrenCapSeeds; |
144 | Viewer = cAgent.Viewer; | ||
139 | } | 145 | } |
140 | 146 | ||
141 | /// <summary> | 147 | /// <summary> |
@@ -173,6 +179,7 @@ namespace OpenSim.Framework | |||
173 | args["service_session_id"] = OSD.FromString(ServiceSessionID); | 179 | args["service_session_id"] = OSD.FromString(ServiceSessionID); |
174 | args["start_pos"] = OSD.FromString(startpos.ToString()); | 180 | args["start_pos"] = OSD.FromString(startpos.ToString()); |
175 | args["appearance_serial"] = OSD.FromInteger(Appearance.Serial); | 181 | args["appearance_serial"] = OSD.FromInteger(Appearance.Serial); |
182 | args["viewer"] = OSD.FromString(Viewer); | ||
176 | 183 | ||
177 | if (Appearance != null) | 184 | if (Appearance != null) |
178 | { | 185 | { |
@@ -272,6 +279,8 @@ namespace OpenSim.Framework | |||
272 | SessionID = args["session_id"].AsUUID(); | 279 | SessionID = args["session_id"].AsUUID(); |
273 | if (args["service_session_id"] != null) | 280 | if (args["service_session_id"] != null) |
274 | ServiceSessionID = args["service_session_id"].AsString(); | 281 | ServiceSessionID = args["service_session_id"].AsString(); |
282 | if (args["viewer"] != null) | ||
283 | Viewer = args["viewer"].AsString(); | ||
275 | 284 | ||
276 | if (args["start_pos"] != null) | 285 | if (args["start_pos"] != null) |
277 | Vector3.TryParse(args["start_pos"].AsString(), out startpos); | 286 | Vector3.TryParse(args["start_pos"].AsString(), out startpos); |
@@ -339,6 +348,7 @@ namespace OpenSim.Framework | |||
339 | public float startposx; | 348 | public float startposx; |
340 | public float startposy; | 349 | public float startposy; |
341 | public float startposz; | 350 | public float startposz; |
351 | public string Viewer; | ||
342 | 352 | ||
343 | public sAgentCircuitData() | 353 | public sAgentCircuitData() |
344 | { | 354 | { |
@@ -360,6 +370,7 @@ namespace OpenSim.Framework | |||
360 | BaseFolder = cAgent.BaseFolder.Guid; | 370 | BaseFolder = cAgent.BaseFolder.Guid; |
361 | CapsPath = cAgent.CapsPath; | 371 | CapsPath = cAgent.CapsPath; |
362 | ChildrenCapSeeds = cAgent.ChildrenCapSeeds; | 372 | ChildrenCapSeeds = cAgent.ChildrenCapSeeds; |
373 | Viewer = cAgent.Viewer; | ||
363 | } | 374 | } |
364 | } | 375 | } |
365 | } | 376 | } |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 562232c..987180b 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -227,6 +227,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
227 | private int m_lastColCount = -1; //KF: Look for Collision chnages | 227 | private int m_lastColCount = -1; //KF: Look for Collision chnages |
228 | private int m_updateCount = 0; //KF: Update Anims for a while | 228 | private int m_updateCount = 0; //KF: Update Anims for a while |
229 | private static readonly int UPDATE_COUNT = 10; // how many frames to update for | 229 | private static readonly int UPDATE_COUNT = 10; // how many frames to update for |
230 | private string m_Viewer = String.Empty; | ||
230 | 231 | ||
231 | private const int NumMovementsBetweenRayCast = 5; | 232 | private const int NumMovementsBetweenRayCast = 5; |
232 | 233 | ||
@@ -664,6 +665,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
664 | set { m_flyDisabled = value; } | 665 | set { m_flyDisabled = value; } |
665 | } | 666 | } |
666 | 667 | ||
668 | public string Viewer | ||
669 | { | ||
670 | get { return m_Viewer; } | ||
671 | } | ||
672 | |||
667 | #endregion | 673 | #endregion |
668 | 674 | ||
669 | #region Constructor(s) | 675 | #region Constructor(s) |
diff --git a/OpenSim/Server/Handlers/Login/LLLoginHandlers.cs b/OpenSim/Server/Handlers/Login/LLLoginHandlers.cs index 83b3e31..c9bf996 100644 --- a/OpenSim/Server/Handlers/Login/LLLoginHandlers.cs +++ b/OpenSim/Server/Handlers/Login/LLLoginHandlers.cs | |||
@@ -86,7 +86,7 @@ namespace OpenSim.Server.Handlers.Login | |||
86 | m_log.InfoFormat("[LOGIN]: XMLRPC Login Requested for {0} {1}, starting in {2}, using {3}", first, last, startLocation, clientVersion); | 86 | m_log.InfoFormat("[LOGIN]: XMLRPC Login Requested for {0} {1}, starting in {2}, using {3}", first, last, startLocation, clientVersion); |
87 | 87 | ||
88 | LoginResponse reply = null; | 88 | LoginResponse reply = null; |
89 | reply = m_LocalService.Login(first, last, passwd, startLocation, scopeID, remoteClient); | 89 | reply = m_LocalService.Login(first, last, passwd, startLocation, scopeID, clientVersion, remoteClient); |
90 | 90 | ||
91 | XmlRpcResponse response = new XmlRpcResponse(); | 91 | XmlRpcResponse response = new XmlRpcResponse(); |
92 | response.Value = reply.ToHashtable(); | 92 | response.Value = reply.ToHashtable(); |
@@ -157,7 +157,7 @@ namespace OpenSim.Server.Handlers.Login | |||
157 | m_log.Info("[LOGIN]: LLSD Login Requested for: '" + map["first"].AsString() + "' '" + map["last"].AsString() + "' / " + startLocation); | 157 | m_log.Info("[LOGIN]: LLSD Login Requested for: '" + map["first"].AsString() + "' '" + map["last"].AsString() + "' / " + startLocation); |
158 | 158 | ||
159 | LoginResponse reply = null; | 159 | LoginResponse reply = null; |
160 | reply = m_LocalService.Login(map["first"].AsString(), map["last"].AsString(), map["passwd"].AsString(), startLocation, scopeID, remoteClient); | 160 | reply = m_LocalService.Login(map["first"].AsString(), map["last"].AsString(), map["passwd"].AsString(), startLocation, scopeID, String.Empty, remoteClient); |
161 | return reply.ToOSDMap(); | 161 | return reply.ToOSDMap(); |
162 | 162 | ||
163 | } | 163 | } |
diff --git a/OpenSim/Services/Interfaces/ILoginService.cs b/OpenSim/Services/Interfaces/ILoginService.cs index 513ab4a..9e57339 100644 --- a/OpenSim/Services/Interfaces/ILoginService.cs +++ b/OpenSim/Services/Interfaces/ILoginService.cs | |||
@@ -47,7 +47,7 @@ namespace OpenSim.Services.Interfaces | |||
47 | 47 | ||
48 | public interface ILoginService | 48 | public interface ILoginService |
49 | { | 49 | { |
50 | LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID, IPEndPoint clientIP); | 50 | LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID, string clientVersion, IPEndPoint clientIP); |
51 | Hashtable SetLevel(string firstName, string lastName, string passwd, int level, IPEndPoint clientIP); | 51 | Hashtable SetLevel(string firstName, string lastName, string passwd, int level, IPEndPoint clientIP); |
52 | } | 52 | } |
53 | 53 | ||
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 5b950e0..9efdd11 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs | |||
@@ -200,7 +200,7 @@ namespace OpenSim.Services.LLLoginService | |||
200 | return response; | 200 | return response; |
201 | } | 201 | } |
202 | 202 | ||
203 | public LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID, IPEndPoint clientIP) | 203 | public LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID, string clientVersion, IPEndPoint clientIP) |
204 | { | 204 | { |
205 | bool success = false; | 205 | bool success = false; |
206 | UUID session = UUID.Random(); | 206 | UUID session = UUID.Random(); |
@@ -326,7 +326,7 @@ namespace OpenSim.Services.LLLoginService | |||
326 | // Instantiate/get the simulation interface and launch an agent at the destination | 326 | // Instantiate/get the simulation interface and launch an agent at the destination |
327 | // | 327 | // |
328 | string reason = string.Empty; | 328 | string reason = string.Empty; |
329 | AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where, out where, out reason); | 329 | AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where, clientVersion, out where, out reason); |
330 | 330 | ||
331 | if (aCircuit == null) | 331 | if (aCircuit == null) |
332 | { | 332 | { |
@@ -592,7 +592,7 @@ namespace OpenSim.Services.LLLoginService | |||
592 | } | 592 | } |
593 | 593 | ||
594 | protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarData avatar, | 594 | protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarData avatar, |
595 | UUID session, UUID secureSession, Vector3 position, string currentWhere, out string where, out string reason) | 595 | UUID session, UUID secureSession, Vector3 position, string currentWhere, string viewer, out string where, out string reason) |
596 | { | 596 | { |
597 | where = currentWhere; | 597 | where = currentWhere; |
598 | ISimulationService simConnector = null; | 598 | ISimulationService simConnector = null; |
@@ -632,7 +632,7 @@ namespace OpenSim.Services.LLLoginService | |||
632 | if (m_UserAgentService == null && simConnector != null) | 632 | if (m_UserAgentService == null && simConnector != null) |
633 | { | 633 | { |
634 | circuitCode = (uint)Util.RandomClass.Next(); ; | 634 | circuitCode = (uint)Util.RandomClass.Next(); ; |
635 | aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position); | 635 | aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, viewer); |
636 | success = LaunchAgentDirectly(simConnector, destination, aCircuit, out reason); | 636 | success = LaunchAgentDirectly(simConnector, destination, aCircuit, out reason); |
637 | if (!success && m_GridService != null) | 637 | if (!success && m_GridService != null) |
638 | { | 638 | { |
@@ -657,7 +657,7 @@ namespace OpenSim.Services.LLLoginService | |||
657 | if (m_UserAgentService != null) | 657 | if (m_UserAgentService != null) |
658 | { | 658 | { |
659 | circuitCode = (uint)Util.RandomClass.Next(); ; | 659 | circuitCode = (uint)Util.RandomClass.Next(); ; |
660 | aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position); | 660 | aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, viewer); |
661 | success = LaunchAgentIndirectly(gatekeeper, destination, aCircuit, out reason); | 661 | success = LaunchAgentIndirectly(gatekeeper, destination, aCircuit, out reason); |
662 | if (!success && m_GridService != null) | 662 | if (!success && m_GridService != null) |
663 | { | 663 | { |
@@ -686,7 +686,7 @@ namespace OpenSim.Services.LLLoginService | |||
686 | } | 686 | } |
687 | 687 | ||
688 | private AgentCircuitData MakeAgent(GridRegion region, UserAccount account, | 688 | private AgentCircuitData MakeAgent(GridRegion region, UserAccount account, |
689 | AvatarData avatar, UUID session, UUID secureSession, uint circuit, Vector3 position) | 689 | AvatarData avatar, UUID session, UUID secureSession, uint circuit, Vector3 position, string viewer) |
690 | { | 690 | { |
691 | AgentCircuitData aCircuit = new AgentCircuitData(); | 691 | AgentCircuitData aCircuit = new AgentCircuitData(); |
692 | 692 | ||
@@ -707,6 +707,7 @@ namespace OpenSim.Services.LLLoginService | |||
707 | aCircuit.SecureSessionID = secureSession; | 707 | aCircuit.SecureSessionID = secureSession; |
708 | aCircuit.SessionID = session; | 708 | aCircuit.SessionID = session; |
709 | aCircuit.startpos = position; | 709 | aCircuit.startpos = position; |
710 | aCircuit.Viewer = viewer; | ||
710 | SetServiceURLs(aCircuit, account); | 711 | SetServiceURLs(aCircuit, account); |
711 | 712 | ||
712 | return aCircuit; | 713 | return aCircuit; |