diff options
Diffstat (limited to 'OpenSim/Services/LLLoginService/LLLoginService.cs')
-rw-r--r-- | OpenSim/Services/LLLoginService/LLLoginService.cs | 20 |
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; |