Commit Graph

5651 Commits (691c4bc756b9565e648ff8ad88cfbfabd1b0be76)

Author SHA1 Message Date
Melanie Thielker 7ced8d136a Add a few comments 2008-11-17 19:42:21 +00:00
Melanie Thielker 0a01826843 Change some comments that have been superseded 2008-11-17 18:16:08 +00:00
Melanie Thielker 30b626024c Fix the PAY_HIDE and PAY_DEFAULT constants to be LSLIntegers and get
accepted in the quick buttons list
2008-11-17 17:59:15 +00:00
Justin Clarke Casey de526d0274 * refactor: move user set permissions parsing code into a separate method ready for reuse 2008-11-17 17:59:10 +00:00
Justin Clarke Casey 99bd7cce2b * Make sure that deleted objects do not send further object updates to the client 2008-11-17 16:33:41 +00:00
Justin Clarke Casey dcfd343a1e minor: remove mono compiler warnings 2008-11-17 16:22:21 +00:00
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 68019e8d98 cleaning up warnings in MSSQL code. 2008-11-17 11:07:18 +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 fa50156b4c Make the messageing server re-register with all it's user servers every five
minutes. This ensures that things don't get messy if a user server is restarted
and the user server's operator has no control over the host the message servers
run on.
2008-11-17 05:04:33 +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 840ef17b8d Allow more then one user server in the user server config of the
message server. This is needed for larger grids
2008-11-17 03:28:38 +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
Homer Horwitz 78d42a7fc8 - Fix a formatting error in a log message (Mantis#2635). 2008-11-16 21:32:10 +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 8e119130c5 Make a quick stab at the "Open data reader" issue.
MySqlDataReader needs to be Close()d explicitly. Disposing it or letting
it fall out of scope will not free it's hold on the connection.
2008-11-16 04:39:41 +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 9a6cdf662b Mantis#2626: Thank you Ruud Lathrop, for a patch that cleans up MSSQL code. 2008-11-15 21:27: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 5214d39e7c Mantis #2618
Thank you, StrawberryFride, for a patch that adds group permission support
to MSSQL. Contains a migration, back up your database.
2008-11-14 19:36:29 +00:00
Melanie Thielker 1bd0721dbe Add SQLite and the missing migrations files for last commit 2008-11-14 19:00:14 +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 cc5ccfb315 make inventory item listing more robust. It turns out that a bad item
(one that won't parse right) will prevent all other items in that folder
to load when inventory is requested.  This is very careful to no longer
add inventory items that return as null to the hash table for
getInventoryInFolder, as well as be more careful parsing UUIDs for
fields that aren't marked not null in MySQL.

The net result, you may see previously missing inventory items return
after this checkin.  Folders probably need to be hardened in the same
way, but I'm out of time for today.
2008-11-13 22:53:49 +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
Melanie Thielker c18ce34d06 Update avatar picker search to work with OpenSearch people search 2008-11-13 03:24:23 +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
Melanie Thielker 724390e413 Change HTTP server backlog/acceptors to 64, per Adam Z 2008-11-12 18:59:38 +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
Justin Clarke Casey 2b97c84d1d * minor: remove log message that gives wrong user server 'version' 2008-11-11 18:15:30 +00:00
Justin Clarke Casey 50e3eb31b0 * Restore storing null to represent 'missing asset' requests in the AssetCache
* If we don't do this then callers to the polling GetAsset wait the full polling time before returning
2008-11-11 17:54:21 +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