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 3efb45f..b4bbbe3 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -218,6 +218,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
218 | private bool m_followCamAuto; | 218 | private bool m_followCamAuto; |
219 | 219 | ||
220 | private int m_movementUpdateCount; | 220 | private int m_movementUpdateCount; |
221 | private string m_Viewer = String.Empty; | ||
221 | 222 | ||
222 | private const int NumMovementsBetweenRayCast = 5; | 223 | private const int NumMovementsBetweenRayCast = 5; |
223 | 224 | ||
@@ -651,6 +652,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
651 | set { m_flyDisabled = value; } | 652 | set { m_flyDisabled = value; } |
652 | } | 653 | } |
653 | 654 | ||
655 | public string Viewer | ||
656 | { | ||
657 | get { return m_Viewer; } | ||
658 | } | ||
659 | |||
654 | #endregion | 660 | #endregion |
655 | 661 | ||
656 | #region Constructor(s) | 662 | #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 95127d2..be90d38 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(); |
@@ -320,7 +320,7 @@ namespace OpenSim.Services.LLLoginService | |||
320 | // Instantiate/get the simulation interface and launch an agent at the destination | 320 | // Instantiate/get the simulation interface and launch an agent at the destination |
321 | // | 321 | // |
322 | string reason = string.Empty; | 322 | string reason = string.Empty; |
323 | AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where, out where, out reason); | 323 | AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where, clientVersion, out where, out reason); |
324 | 324 | ||
325 | if (aCircuit == null) | 325 | if (aCircuit == null) |
326 | { | 326 | { |
@@ -586,7 +586,7 @@ namespace OpenSim.Services.LLLoginService | |||
586 | } | 586 | } |
587 | 587 | ||
588 | protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarData avatar, | 588 | protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarData avatar, |
589 | UUID session, UUID secureSession, Vector3 position, string currentWhere, out string where, out string reason) | 589 | UUID session, UUID secureSession, Vector3 position, string currentWhere, string viewer, out string where, out string reason) |
590 | { | 590 | { |
591 | where = currentWhere; | 591 | where = currentWhere; |
592 | ISimulationService simConnector = null; | 592 | ISimulationService simConnector = null; |
@@ -626,7 +626,7 @@ namespace OpenSim.Services.LLLoginService | |||
626 | if (m_UserAgentService == null && simConnector != null) | 626 | if (m_UserAgentService == null && simConnector != null) |
627 | { | 627 | { |
628 | circuitCode = (uint)Util.RandomClass.Next(); ; | 628 | circuitCode = (uint)Util.RandomClass.Next(); ; |
629 | aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position); | 629 | aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, viewer); |
630 | success = LaunchAgentDirectly(simConnector, destination, aCircuit, out reason); | 630 | success = LaunchAgentDirectly(simConnector, destination, aCircuit, out reason); |
631 | if (!success && m_GridService != null) | 631 | if (!success && m_GridService != null) |
632 | { | 632 | { |
@@ -651,7 +651,7 @@ namespace OpenSim.Services.LLLoginService | |||
651 | if (m_UserAgentService != null) | 651 | if (m_UserAgentService != null) |
652 | { | 652 | { |
653 | circuitCode = (uint)Util.RandomClass.Next(); ; | 653 | circuitCode = (uint)Util.RandomClass.Next(); ; |
654 | aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position); | 654 | aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, viewer); |
655 | success = LaunchAgentIndirectly(gatekeeper, destination, aCircuit, out reason); | 655 | success = LaunchAgentIndirectly(gatekeeper, destination, aCircuit, out reason); |
656 | if (!success && m_GridService != null) | 656 | if (!success && m_GridService != null) |
657 | { | 657 | { |
@@ -680,7 +680,7 @@ namespace OpenSim.Services.LLLoginService | |||
680 | } | 680 | } |
681 | 681 | ||
682 | private AgentCircuitData MakeAgent(GridRegion region, UserAccount account, | 682 | private AgentCircuitData MakeAgent(GridRegion region, UserAccount account, |
683 | AvatarData avatar, UUID session, UUID secureSession, uint circuit, Vector3 position) | 683 | AvatarData avatar, UUID session, UUID secureSession, uint circuit, Vector3 position, string viewer) |
684 | { | 684 | { |
685 | AgentCircuitData aCircuit = new AgentCircuitData(); | 685 | AgentCircuitData aCircuit = new AgentCircuitData(); |
686 | 686 | ||
@@ -701,6 +701,7 @@ namespace OpenSim.Services.LLLoginService | |||
701 | aCircuit.SecureSessionID = secureSession; | 701 | aCircuit.SecureSessionID = secureSession; |
702 | aCircuit.SessionID = session; | 702 | aCircuit.SessionID = session; |
703 | aCircuit.startpos = position; | 703 | aCircuit.startpos = position; |
704 | aCircuit.Viewer = viewer; | ||
704 | SetServiceURLs(aCircuit, account); | 705 | SetServiceURLs(aCircuit, account); |
705 | 706 | ||
706 | return aCircuit; | 707 | return aCircuit; |