Commit Graph

4390 Commits (691c4bc756b9565e648ff8ad88cfbfabd1b0be76)

Author SHA1 Message Date
Justin Clarke Casey 558704be8b * Remove the TransferRequest and hip debugging console output that crept in recently 2008-11-17 16:14:23 +00:00
Justin Clarke Casey c41903077d * Eliminate SOG.FakeDeleteGroup() since it is now identical with DeleteGroup() (except that is didn't lock the parts, which was a potential race condition)
* Removed fake delete code from LSL_Api.SetFlexi - this code was never activiated anyway and didn't appear to make much sense on the surface
2008-11-17 16:06:50 +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
Dr Scofield dd37fbb137 fixing warnings in YProlog language support 2008-11-17 11:16:24 +00:00
Dr Scofield bc72f0a9a5 commenting out unused variable. 2008-11-17 11:14:49 +00:00
Dr Scofield a67dccefbf cleaning up warning 2008-11-17 11:10:32 +00:00
Dr Scofield ae0bcab35e adding #pragma warnings to yprolog language support 2008-11-17 11:06:24 +00:00
Melanie Thielker 05fb40dc0b Use the message transfer module to pass items across the grid via the profile 2008-11-17 08:29:37 +00:00
Melanie Thielker bb936d8a2f Correct prim counts for group land. Correct MessageTransferModule startup 2008-11-17 08:15:43 +00:00
Melanie Thielker 598316c890 Make object chat come from the root prim's center, rather than trying to make
it come from a child prim position.
2008-11-17 05:57:58 +00:00
Melanie Thielker 2a8020b9d9 Back out the attachment location patch to debug a crash 2008-11-17 05:47:36 +00:00
Melanie Thielker 3f4aeccca3 Try to fix login crash 2008-11-17 05:37:24 +00:00
Melanie Thielker 08b1e1a1f6 Fix previous build break 2008-11-17 04:34:19 +00:00
Melanie Thielker 928d003bf5 Change the semantics of the Allow_* os function control. Omitting a function
causes defautlt behavior. "true" now means usable unconditionally, "false"
means disabled, and a list of UUIDs restricts it.
This changes SECURITY! If you used "true" here before, you shoudl review
your setup!
2008-11-17 04:23:03 +00:00
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
Homer Horwitz 07afe9c137 Fix friends again. Friends-handling is now stateless and, thanks to
MessageTransferModule, much easier to understand (I hope).
2008-11-16 23:50:18 +00:00
Melanie Thielker 4d23d22fb1 Remove a redundant parameter 2008-11-16 23:25:36 +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 3f818e001d First step tidy-up of IM packing/unpacking/repacking 2008-11-16 20:32:00 +00:00
Homer Horwitz e1ccbed982 GridIMs don't have a (sending) client, which led to a NRE on access.
Doesn't use client now in that case.
2008-11-16 19:45:46 +00:00
Melanie Thielker 9e7d00c1e6 Add MessageTransferModule interface to all scenes, not only the first 2008-11-16 18:59:58 +00:00
Melanie Thielker ca8a2cad53 Fix 2 bugs in the message transfer module, thanks, Homer Horwitz! 2008-11-16 18:53:17 +00:00
Melanie Thielker e46719e8f1 Make return object actually use the return object permissions 2008-11-16 18:27:24 +00:00
Melanie Thielker 5aa10a8ab1 Add group prim count support to land properties 2008-11-16 04:57:37 +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
Jeff Ames 55e2ede065 Update svn properties, minor formatting cleanup. 2008-11-16 02:55:24 +00:00
Melanie Thielker 4f293aa99c Adds the missing interface to fix the build 2008-11-16 00:54:10 +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
Dahlia Trimble a3f785e978 Changed sculpted prim texture scaling method to bilinear to reduce scaling artifacts 2008-11-16 00:24:10 +00:00
Homer Horwitz 448e4b0beb - Change llSetRot behavior so it matches the SL behavior (in particular, the
rather strange behavior if used in a child prim).
- Small refactoring.
2008-11-15 21:03:06 +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
Homer Horwitz 1f06532b82 Hack to temporarily fix friends-handling. This will be redone as soon as
Melanie's CommunicationModule is in.
Please note: imSession is a transaction-ID, *not* the agent's session.
2008-11-15 16:25:30 +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 a760586f26 * minor: remove mono compiler warnings 2008-11-14 20:15:22 +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
Justin Clarke Casey e3770cfee6 * Allow new script creation to be locked down to only gods if specified in OpenSim.ini
* This doesn't allow complete script lockdown of a sim, many avenues (copying, editing) are still uncloseable at the moment
* Default remains to allow all users to create scripts (subject to existing permissions if enabled)
2008-11-14 18:43:40 +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 165fcd1aac * Switch default permissions back to false (so they are not on) as they were two revisions ago, since it sounds like this was our agreed position from some time back
* Make the default also false (to match what is in OpenSim.ini.example)
2008-11-14 15:48:34 +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
Teravus Ovares 3e4b094921 * Implements terrain raw upload. You can now upload your .raw terrain files using the Estate Tools.
* Could this be extended in the future to support .oar uploads too?  Only time will tell!
2008-11-14 14:42:00 +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
Dr Scofield 62317ded9f From: Alan Webb (alan_webb@us.ibm.com)
Fixed the IRC code so that it deals with regions coming and
going.
2008-11-14 10:50:36 +00:00
Melanie Thielker 4e0a424f9f Some changes to the money module to allow a more flexible system of
applying charges
2008-11-14 07:56:34 +00:00
Melanie Thielker 4f91da2488 More groups plumbing 2008-11-14 05:18:39 +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
Sean Dague c268a3c84e From: awebb@us.ibm.com
Fix the long-standing "lost clothing" bug by making AvatarFactory a non
shared module (which it should have been all along).
2008-11-13 21:31:03 +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 219015d699 * Attempt to make OpenSim.ini.example a bit more readable by
*   Some rearrangement within sections
*   Indenting section contents
* Also, correct indentation levels in PermissionsModule
2008-11-13 17:22:18 +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
Dr Scofield 4b5e09a36b From: Alan Webb (alan_webb@us.ibm.com)
Fix the broken llSetTimerEvent implementation (sec == 0 was not
possible anymore).
2008-11-12 11:02:55 +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
Teravus Ovares c453a41fb5 * Set defaults on the allowed LSL Compilers to 'lsl' unless you've specified otherwise. 2008-11-12 04:49:06 +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
Adam Frisby 1493f7349f * Minor typing fixes in AssetCache - now uses base types for nearly everything.
* Code Cleanliness Fixes in LLClientView
* Using field instead of local variable for handlerUpdatePrimGroupRotation (if you notice any new oddities with prim group rotation after this patch, please mantis)
2008-11-11 17:48:36 +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
Mike Mazur 32b9975468 If the proxy is on, we need to ignore the extra 6 bytes in the packet. 2008-11-11 03:41:28 +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
Melanie Thielker 302d65569f Allow gods to terraform without limits. Respect the Allow Others To
Terraform flag in land.
2008-11-11 01:47:40 +00:00
Melanie Thielker 7eda940e7f Fix llList2Integer to have the same semantics as an (integer) cast. Handle
mixed number/letter content properly.
2008-11-11 01:02:48 +00:00
Jeff Ames 5276c4bdf8 Update svn properties, minor formatting cleanup. 2008-11-11 00:52:47 +00:00
Teravus Ovares d145700115 * Commit allows downloading of the .raw terrain from the estate tools.
* Implements the SendInitiateDownload method in IClientAPI 
* Uses the ITerrainModule Interface to write a terrain file to disk then uses a FileStream to read the binary file from the disk and put it in a byte array. and save to the xFer list.
* It then tells the client to download the file and the client initiates an Xfer request.
2008-11-10 23:56:58 +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
Sean Dague 03382c55cb make things compile, but the test still fails because of the root part
changes
2008-11-10 20:42:23 +00:00
Sean Dague 60299d172b Lock tests on EntityList.cs, multithreaded object addition
and removal.

From: Arthur Rodrigo S Valadares <arthursv@linux.vnet.ibm.com>
2008-11-10 20:28:57 +00:00
Justin Clarke Casey 13cf89bf3b * minor: remove useless exception catch 2008-11-10 20:10:23 +00:00
Justin Clarke Casey 0e180b0ad3 * refactor: Expose SOG.SetRootPart for outsiders to use rather than setting RootPart and adding the part separately
* Make RootPart read only
2008-11-10 20:04:55 +00:00
Homer Horwitz 014eb26426 Removed some debug output I forgot to remove... 2008-11-10 19:55:30 +00:00
Justin Clarke Casey adf1c40ba3 * Take out the 1 second sleep debugging line in ScenePresence 2008-11-10 19:48:06 +00:00