aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie2014-04-25 00:34:44 +0100
committerMelanie2014-04-25 00:35:53 +0100
commit2572ed9ed9e25ec03e82a395354daf6be2b59a25 (patch)
treefe316e8ea7d3f33b5ceb8d63b316a195d85b7ab2
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-SC_OLD-2572ed9ed9e25ec03e82a395354daf6be2b59a25.zip
opensim-SC_OLD-2572ed9ed9e25ec03e82a395354daf6be2b59a25.tar.gz
opensim-SC_OLD-2572ed9ed9e25ec03e82a395354daf6be2b59a25.tar.bz2
opensim-SC_OLD-2572ed9ed9e25ec03e82a395354daf6be2b59a25.tar.xz
Adjust permissions to work hand in hand with what the viewer believes they are.
This fixes the issue of "Show in Search" seeming resetting at random.
-rw-r--r--OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs14
1 files changed, 7 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
index 39f5a4a..e6a4283 100644
--- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
@@ -901,7 +901,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
901 return permission; 901 return permission;
902 } 902 }
903 903
904 protected bool GenericParcelOwnerPermission(UUID user, ILandObject parcel, ulong groupPowers) 904 protected bool GenericParcelOwnerPermission(UUID user, ILandObject parcel, ulong groupPowers, bool allowEstateManager)
905 { 905 {
906 if (parcel.LandData.OwnerID == user) 906 if (parcel.LandData.OwnerID == user)
907 { 907 {
@@ -916,7 +916,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
916 return true; 916 return true;
917 } 917 }
918 918
919 if (IsEstateManager(user)) 919 if (allowEstateManager && IsEstateManager(user))
920 { 920 {
921 return true; 921 return true;
922 } 922 }
@@ -943,7 +943,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
943 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); 943 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name);
944 if (m_bypassPermissions) return m_bypassPermissionsValue; 944 if (m_bypassPermissions) return m_bypassPermissionsValue;
945 945
946 return GenericParcelOwnerPermission(user, parcel, (ulong)GroupPowers.LandRelease); 946 return GenericParcelOwnerPermission(user, parcel, (ulong)GroupPowers.LandRelease, false);
947 } 947 }
948 948
949 private bool CanReclaimParcel(UUID user, ILandObject parcel, Scene scene) 949 private bool CanReclaimParcel(UUID user, ILandObject parcel, Scene scene)
@@ -951,7 +951,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
951 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); 951 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name);
952 if (m_bypassPermissions) return m_bypassPermissionsValue; 952 if (m_bypassPermissions) return m_bypassPermissionsValue;
953 953
954 return GenericParcelOwnerPermission(user, parcel, 0); 954 return GenericParcelOwnerPermission(user, parcel, 0,true);
955 } 955 }
956 956
957 private bool CanDeedParcel(UUID user, ILandObject parcel, Scene scene) 957 private bool CanDeedParcel(UUID user, ILandObject parcel, Scene scene)
@@ -968,7 +968,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
968 if ((client.GetGroupPowers(parcel.LandData.GroupID) & (ulong)GroupPowers.LandDeed) == 0) 968 if ((client.GetGroupPowers(parcel.LandData.GroupID) & (ulong)GroupPowers.LandDeed) == 0)
969 return false; 969 return false;
970 970
971 return GenericParcelOwnerPermission(user, parcel, (ulong)GroupPowers.LandDeed); 971 return GenericParcelOwnerPermission(user, parcel, (ulong)GroupPowers.LandDeed, false);
972 } 972 }
973 973
974 private bool CanDeedObject(UUID user, UUID group, Scene scene) 974 private bool CanDeedObject(UUID user, UUID group, Scene scene)
@@ -1055,7 +1055,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
1055 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); 1055 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name);
1056 if (m_bypassPermissions) return m_bypassPermissionsValue; 1056 if (m_bypassPermissions) return m_bypassPermissionsValue;
1057 1057
1058 return GenericParcelOwnerPermission(user, parcel, (ulong)p); 1058 return GenericParcelOwnerPermission(user, parcel, (ulong)p, false);
1059 } 1059 }
1060 1060
1061 /// <summary> 1061 /// <summary>
@@ -1501,7 +1501,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
1501 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); 1501 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name);
1502 if (m_bypassPermissions) return m_bypassPermissionsValue; 1502 if (m_bypassPermissions) return m_bypassPermissionsValue;
1503 1503
1504 return GenericParcelOwnerPermission(user, parcel, (ulong)GroupPowers.LandSetSale); 1504 return GenericParcelOwnerPermission(user, parcel, (ulong)GroupPowers.LandSetSale, false);
1505 } 1505 }
1506 1506
1507 private bool CanTakeObject(UUID objectID, UUID stealer, Scene scene) 1507 private bool CanTakeObject(UUID objectID, UUID stealer, Scene scene)