Commit Graph

1664 Commits

Author SHA1 Message Date
Melanie Thielker
0e7b6879d2 Add some null checks 2008-11-17 00:45:56 +00:00
Melanie Thielker
74ba1bb180 Fix child prims in attachments chatting from near 0,0,0 rather than
the avatar position. Fixes "silent" child prim scripts
2008-11-17 00:28:47 +00:00
Homer Horwitz
4343ddeec1 Fix NRE on TP-to-home, if the home-region is unavailable. 2008-11-16 23:53:00 +00:00
Melanie Thielker
5e2e05a1c1 Megapatch. Completely remove the multiparameter IM methods. Remove the insecure
fromAgentSession field.
2008-11-16 22:04:01 +00:00
Melanie Thielker
e46719e8f1 Make return object actually use the return object permissions 2008-11-16 18:27:24 +00:00
Adam Frisby
29eec33506 * Abstracted some methods from SceneObjectGroup to allow them to be overridden more easily. Specifically object creation from XML. 2008-11-16 04:40:36 +00:00
Melanie Thielker
3de41ea377 Reinstate the IM sending from scripts and from autoreturn 2008-11-16 04:31:52 +00:00
Melanie Thielker
27e557eb98 Introduces the message transfer module. It splits the transfer mechanics off
the IM module and makes it into a module of it's own, which can be used by
all other modules. Removes some ugly hacks. Refer to the IM module to see
how it's used. Also fixes the persistence issue (Mantis #2598)
2008-11-16 00:47:21 +00:00
Homer Horwitz
e26169f0b0 Mantis#2552: Thanks idb, for a patch that fixes persistence of physical prims.
(added a fix for the broken build from last commit, too)
2008-11-15 18:00:34 +00:00
Homer Horwitz
21b69ac515 Mantis #2621: Thanks idb, for a patch that will persist regularily changed objects better.
Objects will be persisted now MinimumTimeBeforePersistenceConsidered seconds
after the last change, but latest MaximumTimeBeforePersistenceConsidered after
the first change (both are configurable in OpenSim.ini.example and are set to
60 and 600 as default).
2008-11-15 17:52:00 +00:00
Homer Horwitz
3fdc445dd1 Prevent NRE if you do a llSetStatus(STATUS_ROTATION...) on an object that isn't physical. 2008-11-15 17:19:35 +00:00
Jeff Ames
e40fe2db26 Update svn properties, minor formatting cleanup. 2008-11-15 02:21:52 +00:00
Justin Clarke Casey
00d6114525 * test: Add scene root agent test stub, since I'll be picking up with something else the next time I start coding on OpenSim 2008-11-14 21:06:40 +00:00
Justin Clarke Casey
95a5bfc560 * refactor: Have the entity list tests use the infrastructure method rather than cut n paste 2008-11-14 20:09:12 +00:00
Justin Clarke Casey
2bb4b45626 * Move test scene construction infrastructure methods to a separate class for future common use 2008-11-14 20:06:44 +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
9960637545 Try to make the test pass again 2008-11-14 17:53:58 +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
Melanie Thielker
b43c056c5f Detach dropped attachments from the scene presence so they don't get cleaned
on logout
2008-11-14 15:30:15 +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
Melanie Thielker
c79a11cbd1 Lots of experimentation yielded a fair approximation of a hip offset from the
physical center of an avatar, for display purposes. This should keep the
avatar feet above ground visually in most cases. Tweaked for both height
extremes and various leg lengths. Improvements welcome
2008-11-14 03:32:20 +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
Charles Krinke
8a3d9ea2db Mantis#2597. Thank you kindly, Idb for a patch that:
Solves the problem of changes to objects not 
persisted on server shutdown.
2008-11-13 04:23:31 +00:00
Justin Clarke Casey
424792b39b * Rename scene tests to scene object tests since that is what they are actually concerned with 2008-11-12 21:12:46 +00:00
Justin Clarke Casey
2c7ac33650 * test: Add basic synchronous object remove test 2008-11-12 20:35:35 +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
Justin Clarke Casey
b636bb0f9e * Stop the pointless passing of a scene's own region handler back to it in region comms
* Some scene methods ignored it, others did nothing if the region handler given did not match their own (which would never be triggered)
2008-11-12 19:12:33 +00:00
Justin Clarke Casey
e2ab576572 * Stop locking the scene presences dictionary for the entire agent crossing part of the login sequence
* This may alleviate a little the freezing experienced by existing avatars when a new client logs in
* Race condition risks look minimal since one wouldn't expect another thread to start fiddling with that presence
2008-11-12 18:12:18 +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
Melanie Thielker
c34805d573 Add the missing bits that got lost in the prim clamping commit. This should
actually make it work
2008-11-12 01:40:38 +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
Justin Clarke Casey
a814ac3d67 * Put an Enabled switch on the async object deleter for future testing purposes 2008-11-11 20:33:29 +00:00
Melanie Thielker
47a5d71b7e Prevent pieces from other people's HUDs from displaying at the center of
every user's HUD
2008-11-11 19:08:59 +00:00
Justin Clarke Casey
4245cd90de minor: refactor some SceneTests code for future tests 2008-11-11 18:21:43 +00:00
Justin Clarke Casey
97816f8c90 * Implement basic region filtering as described in https://lists.berlios.de/pipermail/opensim-dev/2008-November/003468.html
* This is done by sending a 'major interface version' number on sim registration.  Developers must increment this every time they make a change that would make the previous 
OpenSim revision failure incompatible with the new one (non-fatal incompatibilities are fine).
* This number resides in OpenSim.Framework.Servers.VersionInfo.MajorInterfaceVersion
* This allows the grid service to stop older, incompatible regions from connecting
2008-11-11 17:02:46 +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
89570e1637 Add ClampPrimSize option to ensure no prim can exceed the set size. This
will allow people who don't want megaprims in their sim to prevent them
from being created. Any prim rezzed or pulled across the border will be
clamped to the size specified in OpenSim.ini if this option is set.
2008-11-11 03:10:28 +00:00
Melanie Thielker
7af1afb6df Fix a nullref in attachment packing 2008-11-11 02:24:33 +00:00
Jeff Ames
5276c4bdf8 Update svn properties, minor formatting cleanup. 2008-11-11 00:52:47 +00:00
Justin Clarke Casey
4c731dd44e * Remove mono warnings
* Remove duplicate test part
2008-11-10 21:12:53 +00:00
Justin Clarke Casey
0bda2cf5bc * refactor: clean up SOG xml2 reloading to reuse more code 2008-11-10 21:06:26 +00:00
Melanie Thielker
58e74b554f Restore the independent LocalID numbering for avatars. Fixes an issue where
it becomes impossible to cross back into a region you came from, or freeze
several seconds after region crossings.
2008-11-10 20:58:24 +00:00
Justin Clarke Casey
b044a0f139 * refactor: Make xml (orig format) loading method reuse existing set root part method
* miscellaneous doc/log message changes
2008-11-10 20:54:34 +00:00
Sean Dague
d52946dd0d fix unit tests use SetRootPart now
From: Sean Dague <sdague@gmail.com>
2008-11-10 20:46:47 +00:00