aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs33
1 files changed, 32 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 3cfb236..f800d5f 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -2416,6 +2416,37 @@ namespace OpenSim.Region.Framework.Scenes
2416 { 2416 {
2417 AgentCircuitData aCircuit = m_authenticateHandler.GetAgentCircuitData(client.CircuitCode); 2417 AgentCircuitData aCircuit = m_authenticateHandler.GetAgentCircuitData(client.CircuitCode);
2418 2418
2419 // Do the verification here
2420 System.Net.EndPoint ep = client.GetClientEP();
2421 if (aCircuit != null)
2422 {
2423 if ((aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaLogin) != 0)
2424 {
2425 m_log.DebugFormat("[Scene]: Incoming client {0} {1} in region {2} via Login", aCircuit.firstname, aCircuit.lastname, RegionInfo.RegionName);
2426 IUserAgentVerificationModule userVerification = RequestModuleInterface<IUserAgentVerificationModule>();
2427 if (userVerification != null)
2428 {
2429 if (!userVerification.VerifyClient(aCircuit, ep.ToString()))
2430 {
2431 // uh-oh, this is fishy
2432 m_log.WarnFormat("[Scene]: Agent {0} with session {1} connecting with unidentified end point {2}. Refusing service.",
2433 client.AgentId, client.SessionId, ep.ToString());
2434 try
2435 {
2436 client.Close();
2437 }
2438 catch (Exception e)
2439 {
2440 m_log.DebugFormat("[Scene]: Exception while closing aborted client: {0}", e.StackTrace);
2441 }
2442 return;
2443 }
2444 else
2445 m_log.DebugFormat("[Scene]: User Client Verification for {0} {1} returned true", aCircuit.firstname, aCircuit.lastname);
2446 }
2447 }
2448 }
2449
2419 m_log.Debug("[Scene] Adding new agent " + client.Name + " to scene " + RegionInfo.RegionName); 2450 m_log.Debug("[Scene] Adding new agent " + client.Name + " to scene " + RegionInfo.RegionName);
2420 /* 2451 /*
2421 string logMsg = string.Format("[SCENE]: Adding new {0} agent for {1} in {2}", 2452 string logMsg = string.Format("[SCENE]: Adding new {0} agent for {1} in {2}",
@@ -2426,7 +2457,6 @@ namespace OpenSim.Region.Framework.Scenes
2426 */ 2457 */
2427 2458
2428 //CommsManager.UserProfileCacheService.AddNewUser(client.AgentId); 2459 //CommsManager.UserProfileCacheService.AddNewUser(client.AgentId);
2429
2430 ScenePresence sp = CreateAndAddScenePresence(client); 2460 ScenePresence sp = CreateAndAddScenePresence(client);
2431 sp.Appearance = aCircuit.Appearance; 2461 sp.Appearance = aCircuit.Appearance;
2432 2462
@@ -3243,6 +3273,7 @@ namespace OpenSim.Region.Framework.Scenes
3243 } 3273 }
3244 } 3274 }
3245 3275
3276 agent.teleportFlags = teleportFlags;
3246 m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent); 3277 m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent);
3247 3278
3248 return true; 3279 return true;