aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs52
1 files changed, 27 insertions, 25 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 2890ecd..2f862ea 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -2538,26 +2538,26 @@ namespace OpenSim.Region.Framework.Scenes
2538 { 2538 {
2539 AgentCircuitData aCircuit = m_authenticateHandler.GetAgentCircuitData(client.CircuitCode); 2539 AgentCircuitData aCircuit = m_authenticateHandler.GetAgentCircuitData(client.CircuitCode);
2540 2540
2541 // Do the verification here 2541 //// Do the verification here -- No, really don't do this here. This is UDP address, let it go.
2542 System.Net.IPEndPoint ep = (System.Net.IPEndPoint)client.GetClientEP(); 2542 //System.Net.IPEndPoint ep = (System.Net.IPEndPoint)client.GetClientEP();
2543 if (aCircuit != null) 2543 //if (aCircuit != null)
2544 { 2544 //{
2545 if (!VerifyClient(aCircuit, ep, out vialogin)) 2545 // if (!VerifyClient(aCircuit, ep, out vialogin))
2546 { 2546 // {
2547 // uh-oh, this is fishy 2547 // // uh-oh, this is fishy
2548 m_log.WarnFormat("[SCENE]: Agent {0} with session {1} connecting with unidentified end point {2}. Refusing service.", 2548 // m_log.WarnFormat("[SCENE]: Agent {0} with session {1} connecting with unidentified end point {2}. Refusing service.",
2549 client.AgentId, client.SessionId, ep.ToString()); 2549 // client.AgentId, client.SessionId, ep.ToString());
2550 try 2550 // try
2551 { 2551 // {
2552 client.Close(); 2552 // client.Close();
2553 } 2553 // }
2554 catch (Exception e) 2554 // catch (Exception e)
2555 { 2555 // {
2556 m_log.DebugFormat("[SCENE]: Exception while closing aborted client: {0}", e.StackTrace); 2556 // m_log.DebugFormat("[SCENE]: Exception while closing aborted client: {0}", e.StackTrace);
2557 } 2557 // }
2558 return; 2558 // return;
2559 } 2559 // }
2560 } 2560 //}
2561 2561
2562 m_log.Debug("[SCENE]: Adding new agent " + client.Name + " to scene " + RegionInfo.RegionName); 2562 m_log.Debug("[SCENE]: Adding new agent " + client.Name + " to scene " + RegionInfo.RegionName);
2563 2563
@@ -2586,16 +2586,14 @@ namespace OpenSim.Region.Framework.Scenes
2586 vialogin = false; 2586 vialogin = false;
2587 2587
2588 // Do the verification here 2588 // Do the verification here
2589 if ((aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaLogin) != 0) 2589 if ((aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin) != 0)
2590 { 2590 {
2591 m_log.DebugFormat("[SCENE]: Incoming client {0} {1} in region {2} via Login", aCircuit.firstname, aCircuit.lastname, RegionInfo.RegionName); 2591 m_log.DebugFormat("[SCENE]: Incoming client {0} {1} in region {2} via HG login", aCircuit.firstname, aCircuit.lastname, RegionInfo.RegionName);
2592 vialogin = true; 2592 vialogin = true;
2593 IUserAgentVerificationModule userVerification = RequestModuleInterface<IUserAgentVerificationModule>(); 2593 IUserAgentVerificationModule userVerification = RequestModuleInterface<IUserAgentVerificationModule>();
2594 if (userVerification != null && ep != null) 2594 if (userVerification != null && ep != null)
2595 { 2595 {
2596 System.Net.IPAddress addr = NetworkUtil.GetExternalIPOf(ep.Address); 2596 if (!userVerification.VerifyClient(aCircuit, ep.Address.ToString()))
2597
2598 if (!userVerification.VerifyClient(aCircuit, /*ep.Address.ToString() */ addr.ToString()))
2599 { 2597 {
2600 // uh-oh, this is fishy 2598 // uh-oh, this is fishy
2601 m_log.DebugFormat("[SCENE]: User Client Verification for {0} {1} in {2} returned false", aCircuit.firstname, aCircuit.lastname, RegionInfo.RegionName); 2599 m_log.DebugFormat("[SCENE]: User Client Verification for {0} {1} in {2} returned false", aCircuit.firstname, aCircuit.lastname, RegionInfo.RegionName);
@@ -2606,6 +2604,10 @@ namespace OpenSim.Region.Framework.Scenes
2606 } 2604 }
2607 } 2605 }
2608 2606
2607 else if ((aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaLogin) != 0)
2608 m_log.DebugFormat("[SCENE]: Incoming client {0} {1} in region {2} via regular login. Client IP verification not performed.",
2609 aCircuit.firstname, aCircuit.lastname, RegionInfo.RegionName);
2610
2609 return true; 2611 return true;
2610 } 2612 }
2611 2613