diff options
Diffstat (limited to 'OpenSim/Services/LLLoginService')
-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 d30c149..127c4b2 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(); |
@@ -340,7 +341,8 @@ namespace OpenSim.Services.LLLoginService | |||
340 | // | 341 | // |
341 | string reason = string.Empty; | 342 | string reason = string.Empty; |
342 | GridRegion dest; | 343 | GridRegion dest; |
343 | AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where, clientVersion, clientIP, out where, out reason, out dest); | 344 | AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where, |
345 | clientVersion, channel, mac, id0, clientIP, out where, out reason, out dest); | ||
344 | destination = dest; | 346 | destination = dest; |
345 | if (aCircuit == null) | 347 | if (aCircuit == null) |
346 | { | 348 | { |
@@ -600,7 +602,8 @@ namespace OpenSim.Services.LLLoginService | |||
600 | } | 602 | } |
601 | 603 | ||
602 | protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarData avatar, | 604 | protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarData avatar, |
603 | UUID session, UUID secureSession, Vector3 position, string currentWhere, string viewer, IPEndPoint clientIP, out string where, out string reason, out GridRegion dest) | 605 | UUID session, UUID secureSession, Vector3 position, string currentWhere, string viewer, string channel, string mac, string id0, |
606 | IPEndPoint clientIP, out string where, out string reason, out GridRegion dest) | ||
604 | { | 607 | { |
605 | where = currentWhere; | 608 | where = currentWhere; |
606 | ISimulationService simConnector = null; | 609 | ISimulationService simConnector = null; |
@@ -640,7 +643,7 @@ namespace OpenSim.Services.LLLoginService | |||
640 | if (m_UserAgentService == null && simConnector != null) | 643 | if (m_UserAgentService == null && simConnector != null) |
641 | { | 644 | { |
642 | circuitCode = (uint)Util.RandomClass.Next(); ; | 645 | circuitCode = (uint)Util.RandomClass.Next(); ; |
643 | aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, viewer); | 646 | aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, clientIP.Address.ToString(), viewer, channel, mac, id0); |
644 | success = LaunchAgentDirectly(simConnector, destination, aCircuit, out reason); | 647 | success = LaunchAgentDirectly(simConnector, destination, aCircuit, out reason); |
645 | if (!success && m_GridService != null) | 648 | if (!success && m_GridService != null) |
646 | { | 649 | { |
@@ -665,7 +668,7 @@ namespace OpenSim.Services.LLLoginService | |||
665 | if (m_UserAgentService != null) | 668 | if (m_UserAgentService != null) |
666 | { | 669 | { |
667 | circuitCode = (uint)Util.RandomClass.Next(); ; | 670 | circuitCode = (uint)Util.RandomClass.Next(); ; |
668 | aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, viewer); | 671 | aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, clientIP.Address.ToString(), viewer, channel, mac, id0); |
669 | success = LaunchAgentIndirectly(gatekeeper, destination, aCircuit, clientIP, out reason); | 672 | success = LaunchAgentIndirectly(gatekeeper, destination, aCircuit, clientIP, out reason); |
670 | if (!success && m_GridService != null) | 673 | if (!success && m_GridService != null) |
671 | { | 674 | { |
@@ -694,7 +697,8 @@ namespace OpenSim.Services.LLLoginService | |||
694 | } | 697 | } |
695 | 698 | ||
696 | private AgentCircuitData MakeAgent(GridRegion region, UserAccount account, | 699 | private AgentCircuitData MakeAgent(GridRegion region, UserAccount account, |
697 | AvatarData avatar, UUID session, UUID secureSession, uint circuit, Vector3 position, string viewer) | 700 | AvatarData avatar, UUID session, UUID secureSession, uint circuit, Vector3 position, |
701 | string ipaddress, string viewer, string channel, string mac, string id0) | ||
698 | { | 702 | { |
699 | AgentCircuitData aCircuit = new AgentCircuitData(); | 703 | AgentCircuitData aCircuit = new AgentCircuitData(); |
700 | 704 | ||
@@ -715,7 +719,11 @@ namespace OpenSim.Services.LLLoginService | |||
715 | aCircuit.SecureSessionID = secureSession; | 719 | aCircuit.SecureSessionID = secureSession; |
716 | aCircuit.SessionID = session; | 720 | aCircuit.SessionID = session; |
717 | aCircuit.startpos = position; | 721 | aCircuit.startpos = position; |
722 | aCircuit.IPAddress = ipaddress; | ||
718 | aCircuit.Viewer = viewer; | 723 | aCircuit.Viewer = viewer; |
724 | aCircuit.Channel = channel; | ||
725 | aCircuit.Mac = mac; | ||
726 | aCircuit.Id0 = id0; | ||
719 | SetServiceURLs(aCircuit, account); | 727 | SetServiceURLs(aCircuit, account); |
720 | 728 | ||
721 | return aCircuit; | 729 | return aCircuit; |