56 lines
2.0 KiB
Diff
56 lines
2.0 KiB
Diff
|
From e815c63252863c846fafbf2520d3328a66e19235 Mon Sep 17 00:00:00 2001
|
||
|
From: Christopher <christopher.latza@gmail.com>
|
||
|
Date: Tue, 27 Feb 2018 18:15:09 +0100
|
||
|
Subject: [PATCH] add whitelist to AuthService
|
||
|
|
||
|
---
|
||
|
OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/AuthorizationService.cs | 32 ++++++++++++++++++++++++++++++++
|
||
|
1 file changed, 32 insertions(+)
|
||
|
|
||
|
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/AuthorizationService.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/AuthorizationService.cs
|
||
|
index 93dff1f..a76067b 100644
|
||
|
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/AuthorizationService.cs
|
||
|
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/AuthorizationService.cs
|
||
|
@@ -106,6 +106,38 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
|
||
|
|
||
|
UUID userID = new UUID(user);
|
||
|
|
||
|
+ if (m_Scene.Permissions.IsGod(userID))
|
||
|
+ {
|
||
|
+ message = "Authorized";
|
||
|
+ return true;
|
||
|
+ }
|
||
|
+
|
||
|
+ EstateSettings estate = m_Scene.RegionInfo.EstateSettings;
|
||
|
+
|
||
|
+ if (estate != null)
|
||
|
+ {
|
||
|
+ if (estate.IsEstateManagerOrOwner(userID))
|
||
|
+ {
|
||
|
+ message = "Authorized";
|
||
|
+ return true;
|
||
|
+ }
|
||
|
+
|
||
|
+ if(estate.EstateAccess.Contains(userID))
|
||
|
+ {
|
||
|
+ message = "Authorized";
|
||
|
+ return true;
|
||
|
+ }
|
||
|
+ }
|
||
|
+
|
||
|
+ foreach(ILandObject _parcel in m_Scene.LandChannel.AllParcels())
|
||
|
+ {
|
||
|
+ if(_parcel.IsInLandAccessList(userID))
|
||
|
+ {
|
||
|
+ message = "Authorized";
|
||
|
+ return true;
|
||
|
+ }
|
||
|
+ }
|
||
|
+
|
||
|
if ((m_accessValue & AccessFlags.DisallowForeigners) != 0)
|
||
|
{
|
||
|
if (!m_UserManagement.IsLocalGridUser(userID))
|
||
|
--
|
||
|
libgit2 0.26.0
|
||
|
|