diff options
author | Justin Clark-Casey (justincc) | 2014-02-13 23:55:38 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-02-14 00:01:12 +0000 |
commit | fc35b45e2176ee2dc8bf5627e84e463a2e9d3a52 (patch) | |
tree | 6f0e2c67c462543a052783cb1390070b7b58fe96 /OpenSim/Region/CoreModules/Framework | |
parent | If a caller tries to queue a CAPs message to a scene presence that has no eve... (diff) | |
download | opensim-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')
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 | } |