Justin Clark-Casey (justincc)
830735a42f
When inserting missing CreatorData in the HGAssetMapper, do the rewrite on a streaming xml basis rather than loading it all into memory via XmlDocument.
...
This is because objects with lots of parts can have a lot of xml to load into memory, and this has been seen to have a noticeable performance impact.
Whereas streaming has been seen to reduce the impact in normal serialization.
Implmentation is messy but I couldn't see a better way of doing it when you can't assume that you know the exact structure of the input XML.
2014-10-20 23:46:34 +01:00
Justin Clark-Casey (justincc)
dede17b0d2
Add regression test TestPostAssetRewrite() to check results of HGAssetMapper.Post() object asset rewriting,
2014-10-16 01:13:38 +01:00
Justin Clark-Casey (justincc)
51043746f3
refactor: consistently put all test classes in the OpenSim.Tests.Common package rather than some in OpenSim.Tests.Common.Mock
...
the separate mock package was not useful and was just another using line to always add
2014-10-08 21:09:25 +01:00
Justin Clark-Casey (justincc)
11830c4363
Do not add attachments to the region scene object backup list.
...
Attachment persistence is not handled in this way and this just results in a load of busy work until a check in each SOG terminates a backup check for attachments anyway.
2014-09-27 01:02:27 +01:00
Justin Clark-Casey (justincc)
f132f642b2
On code section that rezzes single objects and attachments, reduce CPU use by reading asset XML a single time with a stream reader rather than multiple times.
...
Reading large XML documents (e.g. complex attachments) is CPU expensive - this must be done as few times as possible (preferably just once).
Reading these documents into XmlDocument is also more resource intensive than using XmlTextReader, as per Microsoft's own publication "Improve .NET Application Performance and Scalability"
Optimization of other cases will follow if this change is successful.
2014-08-28 18:15:33 +01:00
Diva Canto
78c155cd12
Instrument the UDP path of creating assets so that it triggers an asset post for users with different asset servers
2014-07-04 15:56:09 -07:00
Oren Hurvitz
e68867c9b6
When taking an object into inventory, set the inventory item's "Next Owner" permissions according to the permissions of the items in the object
2014-05-25 15:35:00 +01:00
Diva Canto
b7c7293c7a
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-05-22 10:16:19 -07:00
Diva Canto
f7b2aa0f49
Fixed a problem with detaching attachments in situations where the user's asset server is not the same as the simulator's asset server. Unfortunately this still continues to be wasteful -- new assets are created every time an attachment is detached, but the process of storing the new asset goes through the InventoryAccess module, which does all sorts of checks regarding the users' inventory.
2014-05-22 10:16:01 -07:00
Oren Hurvitz
96e5836b50
When can't rez, show only one error message; not two. And show more specific error messages.
2014-05-19 10:54:27 +01:00
Diva Canto
922f76a3a7
Don't fetch assets from the server when doing simple inventory operations like copy-paste items in inventory.
2014-05-18 07:49:01 -07:00
Diva Canto
13b2ac1425
Makes it possible to support grids in which all the simulators share all central services of a Robust server EXCEPT assets. In other words, grids where the simulators' assets are kept in one DB and the users' inventory assets
...
are kept on another. When users rez items from inventory or take objects from world, an HG-like asset copy takes place between the 2 servers, the world asset server and the user's asset server. This makes the simulators independent of the central asset server.
Note that this an advanced configuration and requires some security strengthening coming up.
2014-05-04 20:54:42 -07:00
Oren Hurvitz
7eb12f96ec
Hypergrid: don't send Local assets to other grids
...
This commit also contains other changes, but they're all just for clarity. The only actual behavior change is to avoid Posting local assets.
2014-04-23 16:42:23 +03:00
Oren Hurvitz
3f76f72137
Better error-handling when storing assets: recognize that 'null' is an error value
2014-04-20 06:23:38 +01:00
Oren Hurvitz
d1c3f8eef5
Added assets service method AssetsExist(), which returns whether the given list of assets exist.
...
This method is used to optimize sending assets with embedded assets: e.g., when a Hypergrid visitor takes an item into the inventory.
2014-04-02 06:30:57 +01:00
Oren Hurvitz
120f872d2b
After an object with KeyframeMotion is copied into inventory, resume the motion (previously it remained stopped)
2014-03-11 00:43:22 +00:00
Oren Hurvitz
3018b2c5d7
Materials module: a) Store materials as assets; b) Finalized it (removed the "Demo" label; removed most of the logging); c) Enabled by default
...
Changed UuidGatherer to use 'sbyte' to identify assets instead of 'AssetType'. This lets UuidGatherer handle Materials, which are defined in a different enum from 'AssetType'.
2014-01-20 00:38:42 -08:00
Oren Hurvitz
88f01a4130
When creating a coalesced object, set its permissions to the lowest-common-denominator of all the sub-objects
2014-01-10 20:01:08 +00:00
Oren Hurvitz
a94e1e0e08
When creating a coalesced object, set its Creator ID if all the objects have the same creator
2014-01-10 19:54:17 +00:00
Oren Hurvitz
91fd9c4670
Refactored: use a single function to apply an object's folded permissions to its main permissions
2014-01-10 19:50:03 +00:00
Oren Hurvitz
13f31fdf85
Refactored setting permissions when rezzing items: use the same function when rezzing from user inventory and prim inventory.
...
Also, fixed a bug: when rezzing a coalesced object from a prim's inventory, apply the coalesced object's name and description only to the first sub-object; not to all the objects in the coalescence. (This was already done correctly when rezzing from a user's inventory.)
2014-01-10 19:37:59 +00:00
Justin Clark-Casey (justincc)
7cab41f422
refactor: replace verbose checks with String.IsNullOrEmpty where applicable.
...
Thanks to Kira for this patch from http://opensimulator.org/mantis/view.php?id=6845
2013-11-15 21:45:08 +00:00
Oren Hurvitz
d0c1780839
Fixed rezzing coalesced objects from a prim's inventory
...
Previously only the first object in the Coalesced Object was rezzed. Now all the objects are rezzed.
2013-10-15 23:59:16 +01:00
Aleric Inglewood
2dc92e7de1
Preserve attachment point & position when attachment is rezzed in world
...
Patch taken from
http://opensimulator.org/mantis/view.php?id=4905
originally by Greg C.
Fixed to apply to r/23314 commit
ba9daf849e
(cherry picked from commit 4ff9fbca441110cc2b93edc7286e0e9339e61cbe)
2013-09-22 21:10:01 -05:00
Diva Canto
09cb2a37dd
More on HG inventory and OutboundPermission: disallowing giving inventory to foreigners if OutboundPermission is false
2013-08-03 20:36:30 -07:00
Diva Canto
dcfeb95e98
HG: If OutboundPermission is set to false, let's enforce stricter permissions by not allowing objects to be taken to inventory.
2013-08-03 20:13:44 -07:00
Justin Clark-Casey (justincc)
d4c506e453
minor: replace veclist.Add(new Vector3(0,0,0)) with Vector3.Zero in InventoryAccessModules.RezObject() - structs are passed by value
2013-08-02 00:08:14 +01:00
Diva Canto
516062ae1f
Don't touch the Current Outfit folder also on coming back home
2013-07-23 15:05:32 -07:00
Diva Canto
744276dd50
In renaming the folders for hypergriding, don't rename the Current Outfit folder. The viewer doesn't like that.
2013-07-23 14:31:03 -07:00
Diva Canto
7c1eb86c7d
Don't post Link asset types back to the home grid
2013-07-23 14:28:53 -07:00
Diva Canto
67e500383e
Put guards on a bunch of exception-inducing code, as seen in logs from load test.
2013-07-09 14:12:52 -07:00
Diva Canto
ec9ffbb89a
More debug, same issue
2013-07-04 11:36:10 -07:00
Diva Canto
ccca005969
HG: close a loophole by which if something was wrong with the ServiceURLs it resulted in never ending asset requests
2013-07-02 13:29:44 -07:00
Melanie
26b66c730e
Put the "script saved" and "notecard saved" messages back into the bottom
...
right corner.
2013-06-11 21:03:16 +01:00
Melanie
81ad9255b5
Hook up Keyframe motion to almost everything. Failing to cross a sim border
...
may yield unexpected results in some cases. No database persistence yet,
2013-06-06 03:03:05 +01:00
BlueWall
e3d9d5566a
Fix inventory issue
...
Fix issue where objects rezzed from Trash or Lost And Found then be placed back in the respective folder when taking the object or a copy back into inventory.
2013-05-01 18:51:43 -04:00
Melanie
b26276c8c4
Fix the long standing bug of items being delivered to lost and found or trash when takig copy.
...
This bug was recently aggravated through the perms changes required for the
export permission.
2013-05-01 21:35:50 +01:00
Justin Clark-Casey (justincc)
29e28f4b84
minor: remove mono compiler warnings in InventoryAccessModule
2013-04-10 00:05:03 +01:00
Justin Clark-Casey (justincc)
7f070236f7
Fix taking (and rezzing) of coalesced objects in the non-root subregions of megaregions.
...
This fixes the combined bounding box location for regions bigger than 256x256.
It also fixes the position on taking coalesced objects in the non-root regions, where position checks are properly done on rez instead.
It also fixes the megaregion land channel to return null if the land does not exist, which should probably also be done for the ordinary land channels rather than returning a dummy region.
Inspiration from Garmin's commit in http://opensimulator.org/mantis/view.php?id=6595 . Thanks!
2013-04-06 02:34:51 +01:00
Justin Clark-Casey (justincc)
0f008d5f7d
When rezzing a coalesced object, check adjust position of all components.
2013-04-06 01:44:06 +01:00
Melanie
5f4c4df227
Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMask
...
with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions"
2013-03-26 03:40:06 +00:00
Diva Canto
bb44758179
Switched to using the other Util function with a default value.
2013-02-27 20:59:16 -08:00
Diva Canto
f1010d7b15
Moved the HG default variables out of [Startup] and into their own section [Hypergrid] in *Common.ini.example. Backwards compatible for now.
2013-02-27 20:49:41 -08:00
Diva Canto
0e8289cd00
Added new Util function for reading config vars that's more generic than the one I added yesterday -- this is for helping move config vars out of [Startup]
2013-02-22 15:57:33 -08:00
Diva Canto
e515cdddec
Simplification of HG configs: HomeURI and GatekeeperURI now are defined as default under [Startup]. They can then be overwritten in the other sections (but probably shouldn't). I kept the existing code for backwards compatibility, so this should not cause any breaks from people's current configurations. But people should move to have these 2 vars under [Startup] -- see OpenSim.ini.example and Robust.HG.ini.example. And yes, both names now end with "URI" for consistency.
2013-02-21 17:26:19 -08:00
Justin Clark-Casey (justincc)
e9cc22fea4
Add regression test TestSaveNonRootFolderToIar
2013-02-16 00:26:21 +00:00
Diva Canto
af8d53657d
HGAssetMapper: Get wasn't really working. It's true that some assets are copied in the process of being gathered their UUID, but not all. Specifically, terminal assets like textures aren't copied. We have to go one more time through the ids.
2012-12-09 22:05:12 -08:00
Justin Clark-Casey (justincc)
e60fe958df
minor: Fix more compiler warnings in CoreModules tests by properly overriding OpenSimTestCase.SetUp()
2012-12-05 23:44:12 +00:00
Justin Clark-Casey (justincc)
22d4c52ffc
Consistenly make NUnit test cases inherit from OpenSimTestCase which automatically turns off any logging enabled between tests
2012-11-24 03:15:24 +00:00
Diva Canto
48577af325
More module cleanup: removed the CoreModules.Framework modules directives out of .addin.xml.
2012-11-12 18:23:20 -08:00