diff options
author | Melanie | 2014-04-25 00:34:44 +0100 |
---|---|---|
committer | Melanie | 2014-04-25 00:35:53 +0100 |
commit | 2572ed9ed9e25ec03e82a395354daf6be2b59a25 (patch) | |
tree | fe316e8ea7d3f33b5ceb8d63b316a195d85b7ab2 /OpenSim/Region/CoreModules/World/Permissions | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-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.
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Permissions')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs | 14 |
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) |