diff options
author | Justin Clark-Casey (justincc) | 2011-09-24 01:39:37 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-09-24 01:39:37 +0100 |
commit | c14c4bc1ec5f381aa754068caf460c95e4539b17 (patch) | |
tree | a391cde580c79c7e70efdbca7e63015ccc18f07d /OpenSim/Region | |
parent | Improve locking when access queue in EventQueueGetModule (diff) | |
download | opensim-SC-c14c4bc1ec5f381aa754068caf460c95e4539b17.zip opensim-SC-c14c4bc1ec5f381aa754068caf460c95e4539b17.tar.gz opensim-SC-c14c4bc1ec5f381aa754068caf460c95e4539b17.tar.bz2 opensim-SC-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.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/RemoteAuthorizationServiceConnector.cs | 12 |
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 | { |