aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2014-02-13 23:55:38 +0000
committerJustin Clark-Casey (justincc)2014-02-14 00:01:12 +0000
commitfc35b45e2176ee2dc8bf5627e84e463a2e9d3a52 (patch)
tree6f0e2c67c462543a052783cb1390070b7b58fe96 /OpenSim/Region/CoreModules/Framework
parentIf a caller tries to queue a CAPs message to a scene presence that has no eve... (diff)
downloadopensim-SC-fc35b45e2176ee2dc8bf5627e84e463a2e9d3a52.zip
opensim-SC-fc35b45e2176ee2dc8bf5627e84e463a2e9d3a52.tar.gz
opensim-SC-fc35b45e2176ee2dc8bf5627e84e463a2e9d3a52.tar.bz2
opensim-SC-fc35b45e2176ee2dc8bf5627e84e463a2e9d3a52.tar.xz
If calls to UserAgentServiceConnector fail then throw an exception. This lets the caller decide whether to discard the error or not.
This is Oren Hurvitz's 0001 patch from http://opensimulator.org/mantis/view.php?id=6956 but I ended up doing some tweaking to resolve patch application issues.
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework')
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs14
-rw-r--r--OpenSim/Region/CoreModules/Framework/UserManagement/HGUserManagementModule.cs12
-rw-r--r--OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs11
3 files changed, 33 insertions, 4 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
index 04a0db6..b752639 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (c) Contributors, http://opensimulator.org/ 2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders. 3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 * 4 *
@@ -462,7 +462,17 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
462 462
463 IUserAgentService userAgentService = new UserAgentServiceConnector(aCircuit.ServiceURLs["HomeURI"].ToString()); 463 IUserAgentService userAgentService = new UserAgentServiceConnector(aCircuit.ServiceURLs["HomeURI"].ToString());
464 Vector3 position = Vector3.UnitY, lookAt = Vector3.UnitY; 464 Vector3 position = Vector3.UnitY, lookAt = Vector3.UnitY;
465 GridRegion finalDestination = userAgentService.GetHomeRegion(aCircuit.AgentID, out position, out lookAt); 465
466 GridRegion finalDestination = null;
467 try
468 {
469 finalDestination = userAgentService.GetHomeRegion(aCircuit.AgentID, out position, out lookAt);
470 }
471 catch (Exception e)
472 {
473 m_log.Warn("[HG ENTITY TRANSFER MODULE]: GetHomeRegion call failed ", e);
474 }
475
466 if (finalDestination == null) 476 if (finalDestination == null)
467 { 477 {
468 client.SendTeleportFailed("Your home region could not be found"); 478 client.SendTeleportFailed("Your home region could not be found");
diff --git a/OpenSim/Region/CoreModules/Framework/UserManagement/HGUserManagementModule.cs b/OpenSim/Region/CoreModules/Framework/UserManagement/HGUserManagementModule.cs
index 245c808..b568857 100644
--- a/OpenSim/Region/CoreModules/Framework/UserManagement/HGUserManagementModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/UserManagement/HGUserManagementModule.cs
@@ -130,7 +130,17 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
130 } 130 }
131 131
132 UserAgentServiceConnector uasConn = new UserAgentServiceConnector(uriStr); 132 UserAgentServiceConnector uasConn = new UserAgentServiceConnector(uriStr);
133 UUID userID = uasConn.GetUUID(names[0], names[1]); 133
134 UUID userID = UUID.Zero;
135 try
136 {
137 userID = uasConn.GetUUID(names[0], names[1]);
138 }
139 catch (Exception e)
140 {
141 m_log.Warn("[USER MANAGEMENT MODULE]: GetUUID call failed ", e);
142 }
143
134 if (!userID.Equals(UUID.Zero)) 144 if (!userID.Equals(UUID.Zero))
135 { 145 {
136 UserData ud = new UserData(); 146 UserData ud = new UserData();
diff --git a/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs b/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs
index 3fb5195..d8b415e 100644
--- a/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs
@@ -473,7 +473,16 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
473 // serverType, userdata.HomeURL, userID); 473 // serverType, userdata.HomeURL, userID);
474 474
475 UserAgentServiceConnector uConn = new UserAgentServiceConnector(userdata.HomeURL); 475 UserAgentServiceConnector uConn = new UserAgentServiceConnector(userdata.HomeURL);
476 userdata.ServerURLs = uConn.GetServerURLs(userID); 476 try
477 {
478 userdata.ServerURLs = uConn.GetServerURLs(userID);
479 }
480 catch (Exception e)
481 {
482 m_log.Warn("[USER MANAGEMENT MODULE]: GetServerURLs call failed ", e);
483 userdata.ServerURLs = new Dictionary<string, object>();
484 }
485
477 if (userdata.ServerURLs != null && userdata.ServerURLs.ContainsKey(serverType) && userdata.ServerURLs[serverType] != null) 486 if (userdata.ServerURLs != null && userdata.ServerURLs.ContainsKey(serverType) && userdata.ServerURLs[serverType] != null)
478 return userdata.ServerURLs[serverType].ToString(); 487 return userdata.ServerURLs[serverType].ToString();
479 } 488 }