Commit Graph

293 Commits (41ad030a5aacaf0b0d43d08df2ff331368f88936)

Author SHA1 Message Date
Justin Clarke Casey 41ad030a5a * minor: method documentation and miscellaneous tidy 2008-12-15 20:32:49 +00:00
Melanie Thielker 3aa7ad24da Make scripted item and folder gives pop up a "accept, decline" message
and allow deletion of the just received item.
2008-12-14 22:27:40 +00:00
Justin Clarke Casey 80e267dcfe * refactor: Stop exposing InventoryFolderImpl.SubFolders publicly 2008-12-11 20:58:11 +00:00
Melanie Thielker 2101680094 Make object return actually use the CanReturnObject permission, rather than
the CanDelete one.
2008-12-11 01:03:53 +00:00
Justin Clarke Casey 557567dcf8 * minor: remove some old logging messages 2008-12-09 16:16:16 +00:00
Melanie Thielker 1cad124b7d Allow no-copy attachments to be worn without losing them 2008-12-05 04:17:21 +00:00
Justin Clarke Casey 38ca31b37a * Put in the code necessary to allow inventory transfer of whole folders (and their contents) between agents, not just single items
* However, this is not currently activated since it's not absolutely fully tested and there's a bug lurking in there to do with the sending of the BulkInventoryUpdate packets
2008-12-04 19:57:36 +00:00
Melanie Thielker af5e9147f0 Start scripts in attachments only after a successful attach. Elimininate
a gratuitious asset fetch when region crossing.
2008-11-29 14:16:09 +00:00
Justin Clarke Casey df9b0e9e11 * refactor: Replace derez destiation magic numbers with an enumeration 2008-11-28 17:18:10 +00:00
Melanie Thielker 48149f36c0 Reinstate a check that i overzealously removed. Permissions are not slammed
without owner change anymore
2008-11-28 01:07:22 +00:00
Melanie Thielker 714ca971d6 Unconditionally set the slam bit oon all object to agent inventory transfers.
Closes a possible exploit with prims containing other prims
2008-11-27 03:56:21 +00:00
Adam Frisby 47829849d9 * Swaps Scene.Entities Dictionary for EntityManager.
* Important Changes: Scene.Entities is now IEnumerable directly. You do not need to use Entities.Values, you can Enumerate on .Entities directly. (So 'foreach Scene.Entities' vs 'foreach Scene.Entities.Values').
* Locks: Entities maintains it's own internal locking states. This means you do not need to lock entities anymore. I'll be going through and removing locks on it systematically.
2008-11-24 14:45:05 +00:00
Melanie Thielker ba723a4cf6 Refactor: Scene.ExternalChecks -> Scene.Permissions. Also make all
the internals of the permissions module adapter sane
2008-11-21 22:14:57 +00:00
Justin Clarke Casey 915593bfbc * refactor: Rip out SOP inventory from the partial into a separate class
* SceneObjectPartInventory.cs isn't a particularly good name but it's probably not got a long life
* A proper inventory interface to follow
* Parallel changes for other inventory partial classes to follow at a later date
2008-11-21 21:16:42 +00:00
Melanie Thielker ee4d4d784e Fully implement object return from the parcel dialog 2008-11-21 07:33:13 +00:00
Melanie Thielker 3234472d62 Reverting the texture sending patch and the new libOMV. This makes this
release a direct descendant of the stable 7364, with all the features and
none of the issues.
This omits the following patch chain: r7383 r7382 r7381 r7377 r7375 r7373
r7372 r7370 r7369 r7368 r7367 r7366
2008-11-19 06:15:21 +00:00
Melanie Thielker a104cc2c62 Fix deleting object that have been persisted already from the DB 2008-11-19 01:37:39 +00:00
Melanie Thielker 0abb762ecc Patch from jhurliman. Fixing the texture decoding issues in progressive
texture sending. Grain of salt not included.
2008-11-18 20:02:25 +00:00
Melanie Thielker a8e40bed52 Set group on newly rezzed objects to the rezzer's (or rezzing object's)
group
2008-11-17 21:44:09 +00:00
Justin Clarke Casey 48a72f51a8 * minor: eliminate propogation of now unused permissionToDelete flag 2008-11-17 15:58:12 +00:00
Justin Clarke Casey f16cf12840 * Fix probable partial breakage of delete to inventory in last commit
* Not nulling out parts and the root part allows the code to be simplified
2008-11-17 15:52:27 +00:00
Justin Clarke Casey d54b6608a7 * Stop nulling SOG.m_rootPart and parts on object deletion
* This renders RootPart == null checks useless - the replacement is to check SOG.IsDeleted.  However, in many cases this will not be necessary since updates to deleted parts 
will not be sent to the client
* This should remove any remaining race conditions where an object is deleted while another thread is yet to obtain the root part to perform some operation
* Doing this is probably a necessary prerequisite to moving to a model without a separate SOG and SOP
* Unfortunately it's not possible to eliminate all RootPart == null checks since in some contexts it is currently used to check whether an object was created successfully
2008-11-17 15:40:27 +00:00
Melanie Thielker e46719e8f1 Make return object actually use the return object permissions 2008-11-16 18:27:24 +00:00
Jeff Ames e40fe2db26 Update svn properties, minor formatting cleanup. 2008-11-15 02:21:52 +00:00
Melanie Thielker d66f3993de Add group permissions to agent inventory.
Contains a migration. May contain nuts.
Please back up your inventory data store. This revision changes the interface
version!! No older regions can connect to these new UGAIM, and the new regions
can't connect to the old UGAIM. Fixes a long-standing issue of permissions loss
Currently persisted on MySQL only.
2008-11-14 18:54:38 +00:00
Melanie Thielker edee11ff87 Reapplying a revised version of Christopher Yeoh's (IBM) patch for allow
inventory drop. Also adds a new flags, "propagate_permissions" to
OpenSim.ini to control that feature.
2008-11-14 17:24:56 +00:00
Justin Clarke Casey 8372880c75 * Hook up create new object event in the permissions module
* Switch default for serverside_object_permissions from false to true - it seems more natural that we enforce permissions by default rather than not!
* Add some explanation in OpenSim.ini.example for serverside_object_permissions
2008-11-14 15:36:46 +00:00
Dr Scofield 5c21ec6d10 reverting #7295, as it still fails a test case (as pointed out very
kindly by sean) --- lesson learned: just running a "make test" is not
sufficient, you need to precede it by a "make clean".
2008-11-14 13:03:18 +00:00
Dr Scofield 5e20e32b69 From: Christopher Yeoh <cyeoh@au1.ibm.com>
This patch makes llAllowInventoryDrop work with the permissions module
enabled. Changes include:

- Enabled PropagatePermissions when permissions module serverside perms
  is on

- change ownership of item when item is dropped into an object.
  Ownership changes to the owner of the object the item is dropped into

- propagation of permissions if the permissions module enabled (eg
  next-owner mask applied)

- CHANGED_ALLOWED_DROP is now passed to the change script event if an
  item was allowed to be dropped into the object only because
  llAllowInventoryDrop is enabled (instead of CHANGED_INVENTORY being
  passed).

- Sets object flags correctly when llAllowInventoryDrop is called so
  clients are notified immediately of the change in state. Am not
  sure that calling aggregateScriptEvents is the right way to do it,
  but it works and seems to be the only way without making further
  changes to update LocalFlags
2008-11-14 10:55:14 +00:00
Justin Clarke Casey 1fd32a5ab2 * Rename all the previous methods to be User rather than Avatar (for extra bonus points)
public bool ExternalChecksCanCreateUserInventory(int invType, UUID userID)
public bool ExternalChecksCanCopyUserInventory(UUID itemID, UUID userID)
public bool ExternalChecksCanCopyUserInventory(UUID itemID, UUID userID)
public bool ExternalChecksCanDeleteUserInventory(UUID itemID, UUID userID)
2008-11-13 20:52:06 +00:00
Justin Clarke Casey bd61b946df * Add
public bool ExternalChecksCanCreateAvatarInventory(int invType, UUID userID)
public bool ExternalChecksCanCopyAvatarInventory(UUID itemID, UUID userID)
public bool ExternalChecksCanCopyAvatarInventory(UUID itemID, UUID userID)
public bool ExternalChecksCanDeleteAvatarInventory(UUID itemID, UUID userID)
to ExternalChecks to handle avatar inventory checks (as opposed to object inv checks).
* opensim-dev e-mail to follow concerning this shortly
2008-11-13 20:29:41 +00:00
Justin Clarke Casey bf68255b86 * refactor: rename object inventory permission checks to distinguish between task inventory and agent inventory 2008-11-13 19:16:15 +00:00
Melanie Thielker ca35b49b70 Make scripts in objects rezzed from script compile synchronously to close
a timing gap. Still not 100%, but getting there
2008-11-13 19:00:46 +00:00
Justin Clarke Casey ef601d805a * First part of a series of patches
* Intension is to provide a way to lock down script creation to administrators/gods only
* Defaults will remain as they are at the moment
2008-11-13 18:52:16 +00:00
Justin Clarke Casey cec112c87a * refactor: as per a recent opensim-dev thread, rename InnerScene to SceneGraph to make it more descriptive of its intended function 2008-11-12 20:16:46 +00:00
Melanie Thielker c71f0899c2 Revamp inventory transfer module, step 1. Inventory will now be saved if
destination user is offline/out of range. No more eternal cache is needed
for tracking IDs. Code cleanup. Removed some casts from IScene to Scene.
Decline now properly places item in trash rather than deleting it outright.
2008-11-12 06:22:31 +00:00
Justin Clarke Casey 70ad3ecd5e * Create TestScene to get at the async object deleter for use in a future test 2008-11-11 21:31:39 +00:00
Charles Krinke 851b72570a Mantis#2604. Thank you kindly, Diva for a patch that:
This patch changes a couple of methods in Scene.Inventory to virtual, 
so they can be overridden in subclasses. DeleteToInventory now returns 
the UUID of the newly created asset, so that further actions on it can 
be pursued in subclasses. This will make my life easier for making 
inventory accessible in the hypergrid.
2008-11-11 15:18:16 +00:00
Melanie Thielker fc6f3edec6 Stop attachments from causing an update to be sent on every frame in which
an avatar moves.
2008-11-10 05:21:51 +00:00
Melanie Thielker 664e8a464e Script region crossing. This has not user functionality, but lays all the
groundwork.
2008-11-09 19:30:40 +00:00
Justin Clarke Casey ebd9f22b29 * refactor: allocate local ids to prims only when an object is attached to a scene 2008-11-07 18:46:11 +00:00
Melanie Thielker 48c6d052d9 Attachments, attachments, and, did I say attachments?
Too many fixes to list.
2008-11-07 05:48:44 +00:00
Dr Scofield 09f86d7e99 - fixes comparison of struct against null (no no no)
- fixes IRCBridgeModule's XmlRpc method really paying attention to
  region parameter
- cleans up indentation in IRCBridge code
- fixes ConciergeModule exception on client logout
2008-11-06 13:13:08 +00:00
Mike Mazur 5d8e08a072 - create entries in avatarattachments table when first attaching an object; fix issue 2512
- correct attachment offset; fix issue 2513
- thanks Thomas for the patches
2008-11-06 06:23:58 +00:00
Melanie Thielker 6d4f8b38aa Cause inventory to be fetched on scripted item gives if the destination
avatar is remote or offline.
2008-11-02 08:53:03 +00:00
Melanie Thielker 0bff4215fe Correct the handling of the creator field on inventory gives 2008-11-01 16:49:52 +00:00
Melanie Thielker 264eeffd02 Fix thingd so that autoreturn also works when the user is not in the sim.
Also add experimental distance ordering for prims
2008-10-18 07:27:39 +00:00
Melanie Thielker efe3f3eb2a Megapatch. :) Fix skull attachment editing. Streamline Object terse updates.
Add rezzing time to objects. Add Object return and traffic fields to land
database. Add plumbing for auto return. Implement auto return.
Contains a migration. May contain nuts.
2008-10-18 05:51:36 +00:00
Justin Clarke Casey 9324c3f110 * refactor: Move error logging from GetUserDetails up to callers, since there are some circumstances in which not finding a user is not an error 2008-10-15 16:35:27 +00:00
Justin Clarke Casey 8ab50fe3ee * Make KillObjectPackets reliable
* This may help http://opensimulator.org/mantis/view.php?id=2377 where large linksets do not always correctly delete - since a lost kill packet to the client could result in 
the symptoms described
2008-10-14 14:27:00 +00:00