aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
authorTeravus Ovares2007-11-29 15:24:31 +0000
committerTeravus Ovares2007-11-29 15:24:31 +0000
commit4bd38fc65a77826c5646c3154d087171c290cbed (patch)
tree9eb158c06ed8d2b9ce74948e8b6af820352c503c /OpenSim/Region/Environment
parent*Added more information about the sim that you're connecting to in remoting d... (diff)
downloadopensim-SC-4bd38fc65a77826c5646c3154d087171c290cbed.zip
opensim-SC-4bd38fc65a77826c5646c3154d087171c290cbed.tar.gz
opensim-SC-4bd38fc65a77826c5646c3154d087171c290cbed.tar.bz2
opensim-SC-4bd38fc65a77826c5646c3154d087171c290cbed.tar.xz
* Thanks to _SomeOne_, Server side permissions on object editing. Be aware, that if you're editing an object on your client that you're not allowed to, it'll appear that it's moving to you, but won't actually be moving on the sim.
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r--OpenSim/Region/Environment/PermissionManager.cs8
-rw-r--r--OpenSim/Region/Environment/Scenes/InnerScene.cs19
2 files changed, 20 insertions, 7 deletions
diff --git a/OpenSim/Region/Environment/PermissionManager.cs b/OpenSim/Region/Environment/PermissionManager.cs
index 6efa116..bcaa1bf 100644
--- a/OpenSim/Region/Environment/PermissionManager.cs
+++ b/OpenSim/Region/Environment/PermissionManager.cs
@@ -103,6 +103,12 @@ namespace OpenSim.Region.Environment
103 103
104 string reason = "Insufficient permission"; 104 string reason = "Insufficient permission";
105 105
106 Land land = this.m_scene.LandManager.getLandObject(position.X, position.Y);
107 if ((land.landData.landFlags & ((int)Parcel.ParcelFlags.CreateObjects)) == (int)Parcel.ParcelFlags.CreateObjects)
108 permission = true;
109
110 //TODO: check for group rights
111
106 if (IsAdministrator(user)) 112 if (IsAdministrator(user))
107 { 113 {
108 permission = true; 114 permission = true;
@@ -361,4 +367,4 @@ namespace OpenSim.Region.Environment
361 367
362 #endregion 368 #endregion
363 } 369 }
364} \ No newline at end of file 370}
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs
index c1acde4..0cb17c0 100644
--- a/OpenSim/Region/Environment/Scenes/InnerScene.cs
+++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs
@@ -589,11 +589,14 @@ namespace OpenSim.Region.Environment.Scenes
589 group.SetPartDescription(description, primLocalID); 589 group.SetPartDescription(description, primLocalID);
590 } 590 }
591 591
592 public void UpdateExtraParam(uint primLocalID, ushort type, bool inUse, byte[] data) 592 public void UpdateExtraParam(LLUUID agentID, uint primLocalID, ushort type, bool inUse, byte[] data)
593 { 593 {
594 SceneObjectGroup group = GetGroupByPrim(primLocalID); 594 SceneObjectGroup group = GetGroupByPrim(primLocalID);
595 if (group != null) 595 if (this.m_parentScene.PermissionsMngr.CanEditObject(agentID, group.GetPartsFullID(primLocalID)))
596 group.UpdateExtraParam(primLocalID, type, inUse, data); 596 {
597 if (group != null)
598 group.UpdateExtraParam(primLocalID, type, inUse, data);
599 }
597 } 600 }
598 601
599 /// <summary> 602 /// <summary>
@@ -601,11 +604,14 @@ namespace OpenSim.Region.Environment.Scenes
601 /// </summary> 604 /// </summary>
602 /// <param name="primLocalID"></param> 605 /// <param name="primLocalID"></param>
603 /// <param name="shapeBlock"></param> 606 /// <param name="shapeBlock"></param>
604 public void UpdatePrimShape(uint primLocalID, ObjectShapePacket.ObjectDataBlock shapeBlock) 607 public void UpdatePrimShape(LLUUID agentID, uint primLocalID, ObjectShapePacket.ObjectDataBlock shapeBlock)
605 { 608 {
606 SceneObjectGroup group = GetGroupByPrim(primLocalID); 609 SceneObjectGroup group = GetGroupByPrim(primLocalID);
607 if (group != null) 610 if (this.m_parentScene.PermissionsMngr.CanEditObject(agentID, group.GetPartsFullID(primLocalID)))
608 group.UpdateShape(shapeBlock, primLocalID); 611 {
612 if (group != null)
613 group.UpdateShape(shapeBlock, primLocalID);
614 }
609 } 615 }
610 616
611 /// <summary> 617 /// <summary>
@@ -753,3 +759,4 @@ namespace OpenSim.Region.Environment.Scenes
753 } 759 }
754} 760}
755 761
762