aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-09-24 01:39:37 +0100
committerJustin Clark-Casey (justincc)2011-09-24 01:39:37 +0100
commitc14c4bc1ec5f381aa754068caf460c95e4539b17 (patch)
treea391cde580c79c7e70efdbca7e63015ccc18f07d
parentImprove locking when access queue in EventQueueGetModule (diff)
downloadopensim-SC_OLD-c14c4bc1ec5f381aa754068caf460c95e4539b17.zip
opensim-SC_OLD-c14c4bc1ec5f381aa754068caf460c95e4539b17.tar.gz
opensim-SC_OLD-c14c4bc1ec5f381aa754068caf460c95e4539b17.tar.bz2
opensim-SC_OLD-c14c4bc1ec5f381aa754068caf460c95e4539b17.tar.xz
Don't try and resolve user account for authorization if the agent has come in via hypergrid.
If a user account isn't available, this just passes on the name given by the agent instead. I'm not sure this is particularly useful since I believe that agent names could be faked in this context - it might be no more useful than a viewer agent string. In fact, there might even be an argument that passing on this name provides a false expectation of authenticity. However, I will apply for now. Patch applied from http://opensimulator.org/mantis/view.php?id=5696 Thanks Michelle Argus.
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/RemoteAuthorizationServiceConnector.cs12
1 files changed, 11 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/RemoteAuthorizationServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/RemoteAuthorizationServiceConnector.cs
index 003324f..86c0099 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/RemoteAuthorizationServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/RemoteAuthorizationServiceConnector.cs
@@ -141,11 +141,21 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
141 141
142 if (scene != null) 142 if (scene != null)
143 { 143 {
144 string mail = String.Empty;
145
144 UserAccount account = scene.UserAccountService.GetUserAccount(UUID.Zero, new UUID(userID)); 146 UserAccount account = scene.UserAccountService.GetUserAccount(UUID.Zero, new UUID(userID));
145 147
148 //if account not found, we assume its a foreign visitor from HG, else use account data...
149 if (account != null)
150 {
151 mail = account.Email;
152 firstName = account.FirstName;
153 lastName = account.LastName;
154 }
155
146 isAuthorized 156 isAuthorized
147 = IsAuthorizedForRegion( 157 = IsAuthorizedForRegion(
148 userID, firstName, lastName, account.Email, scene.RegionInfo.RegionName, regionID, out message); 158 userID, firstName, lastName, mail, scene.RegionInfo.RegionName, regionID, out message);
149 } 159 }
150 else 160 else
151 { 161 {