aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/LLLoginService/LLLoginService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Services/LLLoginService/LLLoginService.cs')
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginService.cs20
1 files changed, 14 insertions, 6 deletions
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs
index 1e4b6c2..6c66414 100644
--- a/OpenSim/Services/LLLoginService/LLLoginService.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginService.cs
@@ -208,7 +208,8 @@ namespace OpenSim.Services.LLLoginService
208 return response; 208 return response;
209 } 209 }
210 210
211 public LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID, string clientVersion, IPEndPoint clientIP) 211 public LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID,
212 string clientVersion, string channel, string mac, string id0, IPEndPoint clientIP)
212 { 213 {
213 bool success = false; 214 bool success = false;
214 UUID session = UUID.Random(); 215 UUID session = UUID.Random();
@@ -346,7 +347,8 @@ namespace OpenSim.Services.LLLoginService
346 // 347 //
347 string reason = string.Empty; 348 string reason = string.Empty;
348 GridRegion dest; 349 GridRegion dest;
349 AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where, clientVersion, clientIP, out where, out reason, out dest); 350 AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where,
351 clientVersion, channel, mac, id0, clientIP, out where, out reason, out dest);
350 destination = dest; 352 destination = dest;
351 if (aCircuit == null) 353 if (aCircuit == null)
352 { 354 {
@@ -606,7 +608,8 @@ namespace OpenSim.Services.LLLoginService
606 } 608 }
607 609
608 protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarData avatar, 610 protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarData avatar,
609 UUID session, UUID secureSession, Vector3 position, string currentWhere, string viewer, IPEndPoint clientIP, out string where, out string reason, out GridRegion dest) 611 UUID session, UUID secureSession, Vector3 position, string currentWhere, string viewer, string channel, string mac, string id0,
612 IPEndPoint clientIP, out string where, out string reason, out GridRegion dest)
610 { 613 {
611 where = currentWhere; 614 where = currentWhere;
612 ISimulationService simConnector = null; 615 ISimulationService simConnector = null;
@@ -646,7 +649,7 @@ namespace OpenSim.Services.LLLoginService
646 if (m_UserAgentService == null && simConnector != null) 649 if (m_UserAgentService == null && simConnector != null)
647 { 650 {
648 circuitCode = (uint)Util.RandomClass.Next(); ; 651 circuitCode = (uint)Util.RandomClass.Next(); ;
649 aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, viewer); 652 aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, clientIP.Address.ToString(), viewer, channel, mac, id0);
650 success = LaunchAgentDirectly(simConnector, destination, aCircuit, out reason); 653 success = LaunchAgentDirectly(simConnector, destination, aCircuit, out reason);
651 if (!success && m_GridService != null) 654 if (!success && m_GridService != null)
652 { 655 {
@@ -671,7 +674,7 @@ namespace OpenSim.Services.LLLoginService
671 if (m_UserAgentService != null) 674 if (m_UserAgentService != null)
672 { 675 {
673 circuitCode = (uint)Util.RandomClass.Next(); ; 676 circuitCode = (uint)Util.RandomClass.Next(); ;
674 aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, viewer); 677 aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, clientIP.Address.ToString(), viewer, channel, mac, id0);
675 success = LaunchAgentIndirectly(gatekeeper, destination, aCircuit, clientIP, out reason); 678 success = LaunchAgentIndirectly(gatekeeper, destination, aCircuit, clientIP, out reason);
676 if (!success && m_GridService != null) 679 if (!success && m_GridService != null)
677 { 680 {
@@ -700,7 +703,8 @@ namespace OpenSim.Services.LLLoginService
700 } 703 }
701 704
702 private AgentCircuitData MakeAgent(GridRegion region, UserAccount account, 705 private AgentCircuitData MakeAgent(GridRegion region, UserAccount account,
703 AvatarData avatar, UUID session, UUID secureSession, uint circuit, Vector3 position, string viewer) 706 AvatarData avatar, UUID session, UUID secureSession, uint circuit, Vector3 position,
707 string ipaddress, string viewer, string channel, string mac, string id0)
704 { 708 {
705 AgentCircuitData aCircuit = new AgentCircuitData(); 709 AgentCircuitData aCircuit = new AgentCircuitData();
706 710
@@ -721,7 +725,11 @@ namespace OpenSim.Services.LLLoginService
721 aCircuit.SecureSessionID = secureSession; 725 aCircuit.SecureSessionID = secureSession;
722 aCircuit.SessionID = session; 726 aCircuit.SessionID = session;
723 aCircuit.startpos = position; 727 aCircuit.startpos = position;
728 aCircuit.IPAddress = ipaddress;
724 aCircuit.Viewer = viewer; 729 aCircuit.Viewer = viewer;
730 aCircuit.Channel = channel;
731 aCircuit.Mac = mac;
732 aCircuit.Id0 = id0;
725 SetServiceURLs(aCircuit, account); 733 SetServiceURLs(aCircuit, account);
726 734
727 return aCircuit; 735 return aCircuit;