Commit Graph

73 Commits

Author SHA1 Message Date
Teravus Ovares
7d89e12293 * This is the fabled LibOMV update with all of the libOMV types from JHurliman
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point.  Regular people should let the dust settle.
* This has been tested to work with most basic functions. However..   make sure you back up 'everything' before using this.  It's that big!  
* Essentially we're back at square 1 in the testing phase..  so lets identify things that broke.
2008-09-06 07:52:41 +00:00
Jeff Ames
3bf8858727 Update svn properties, formatting cleanup. 2008-08-28 14:41:54 +00:00
Melanie Thielker
670719cb76 Mantis #1903
Thank you, cmickeyb, for a patch that prevents the loss of folders received
out of sequence, and the items within.
2008-08-27 00:40:36 +00:00
Teravus Ovares
2912aafe25 * This commit incorporates the heart of the OpenGridProtocol patch that is currently on Forge in a nice, friendly modular format.
* There are a lot of changes and this is quite experimental.  It's off by default, but you can turn it on by examining the bottom of the opensim.ini.example for the proper OpenSim.ini settings.    Remember, you still need an agent domain..  
* Furthermore, it isn't quite right when it comes to teleporting to remote regions (place_avatar)
2008-08-25 07:35:17 +00:00
Jeff Ames
6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Jeff Ames
6fa26f5b41 Update svn properties, minor formatting cleanup. 2008-08-16 17:26:25 +00:00
Melanie Thielker
e5a7ba5df4 Guard against the null UUID being queried from the userserver
repeatedly.
2008-08-16 03:18:21 +00:00
Justin Clarke Casey
4e555b87f3 * Stop warnings about non existent scene presences/entities being removed on client log off
* This is being done by preventing close from being called twice on child agent closure (nres which would have been thrown are being swallowed).  
* However, it should be possible to do much better cleanup on this code in the future
2008-08-12 19:00:13 +00:00
Mike Mazur
8ea92c0669 Thanks, lulurun, for a patch that addresses inventory problems that occur
occasionally, but are fixed on restart (issue 1919).
This patch introduces the following changes:
1. when a user teleports out of Region A, remove that user's profile
from the Region A user profile cache
2. when a user crosses between regions out of Region A, remove that
user's profile from the Region A user profile cache
3. the user profile cache's session ID member can now be set (written),
and is updated each time a connection with a new avatar is established (ie: a
new avatar enters the region)
4. when a region server looks up a user profile and a cache miss
occurs, fetch the user profile from the user server first instead of
immediately returning null
2008-08-12 06:21:02 +00:00
Justin Clarke Casey
10e0df0a2d * correct bug from last commit - for now don't drop cached user profile when an agent is downgraded to a child agent
* since upgrading to a root agent doesn't currently re-retrieve the user profile
2008-08-01 19:24:48 +00:00
Justin Clarke Casey
43b2ff1d11 * Drop cached inventory from the local region when a user crosses out into a remote region
* May resolves inventory problems that occur when the user moves between two regions`
* e.g. if the user moves to a second region, adds an inventory item, moves back to the original region then tries to manipulate that item
* Not yet implemented for teleport
2008-08-01 18:49:48 +00:00
Justin Clarke Casey
078643a017 * refactor: Change CachedUserInfo.HasInventory to HasReceivedInventory to make actual function clearer 2008-07-31 16:05:50 +00:00
Justin Clarke Casey
58af0fabeb * minor: reduce coupling by passing in only session id to CachedUserInfo 2008-07-31 15:53:07 +00:00
Johan Berntsson
ce4bcb5065 The new secure inventory server mode (in r5590) can now be disabled from OpenSim.ini. Default is to use the new mode. 2008-07-23 09:46:04 +00:00
Johan Berntsson
344c9caeb6 thanks lulurun for a security patch that blocks unathorized access to the inventory server (see http://opensimulator.org/wiki/Security_vulnerability_brought_by_non-check_inventory_service) 2008-07-23 06:59:02 +00:00
MW
b0330a0bb5 disabled the multiple inventory server support in login service again.
And reverted CachedUserInfo back to revision 5262. 
I don't think most of the inventory problems that people are reporting are due to these, but its easier to deal with one set of potential problems at a time, and I'm not going to get any time in the week to work on this anyway.
2008-06-29 20:39:34 +00:00
MW
86defd0a69 plumbing for multiple inventory servers. Mostly done on the region server side.
TODO next is to make the login server read/write a users inventory from the correct server (the inventory url set in a userprofile)
On the region side, although not tested with multiple servers it should work if that inventory url was set, and the inventory servers urls have been added to the CommunicationsManager, using CommunicationsManager.AddInventoryService(string hostUrl)
2008-06-28 15:13:17 +00:00
Jeff Ames
65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Justin Clarke Casey
3f345bf685 * Removing polling delay for non-CAPS inventory fetch if the client has not yet received data from the inventory service
* Replaced instead with the system now used by other requests where the fetch request is placed on a queue and service when the data comes in
2008-05-09 21:33:19 +00:00
Justin Clarke Casey
6e2c7da018 * Minor: Insert utility function to format raw xml strings into indented xml for debugging purposes 2008-05-09 15:51:02 +00:00
Justin Clarke Casey
fe8f9a4b25 * Restoring some initial inventory lookup polling delays in order to deal with situations seen on osgrid 2008-05-09 13:36:08 +00:00
Adam Frisby
ba8ff761c0 * Reduced sleep durations in a number of files. 2008-05-08 04:47:38 +00:00
Justin Clarke Casey
e35e83312d * Increase number of poll attempts an inventory items request will make under CAPS 2008-05-07 15:53:27 +00:00
Justin Clarke Casey
5ab392d0ee * Refactor: A final root folder special case removal, this time in HandleFetchInventoryDescendents[CAPS] 2008-05-04 01:14:21 +00:00
Justin Clarke Casey
688940e810 * Refactor: Renaming item and folder tree search methods to have Find*() prefixes 2008-05-03 22:39:33 +00:00
Justin Clarke Casey
068163b14b * Refactor: Move MoveFolder() and PurgeFolder() into CachedUserInfo (which arguably should be split) 2008-05-03 19:50:49 +00:00
Justin Clarke Casey
45430a5403 * Refactor: move UpdateFolder into CachedUserInfo 2008-05-03 19:27:34 +00:00
Justin Clarke Casey
45a71bb045 * Make user profile cache service complain if the caller assumes a profile exists when in fact it does not 2008-05-03 19:12:17 +00:00
Justin Clarke Casey
1087542705 * Refactor: Move bulk of CreateFolder from UserProfileCacheService into CachedUserInfo
* Remove unused/superseded methods from GridInventoryService
2008-05-03 18:57:02 +00:00
Justin Clarke Casey
1de6cffa28 * Refactor: Remove the unused userID parameter that was being passed into almost every inventory method
* This allows lots of redundant inventory methods with only slightly different names to be eliminated.
2008-05-01 20:47:33 +00:00
Adam Frisby
4692e92312 * Assorted spring cleanings. 2008-05-01 14:45:56 +00:00
Justin Clarke Casey
3508298ddf * Refactor: Rename InventoryFolderImpl.HasSubFolder() to GetDescendentFolder() 2008-04-30 20:04:06 +00:00
Justin Clarke Casey
3984a7fda1 * Resolve mantis 1068, 1095
* The resolution takes the form of not crashing the session if the folder the user is attempting to add already exists (e.g. there is one already with the same UUID).
* Printing out warnings instead
2008-04-30 19:55:45 +00:00
Justin Clarke Casey
9817363b93 * Completely inconsequential inventory odds and ends (actual impact - only one log message changed) 2008-04-30 19:08:48 +00:00
Justin Clarke Casey
40176c12f9 * Implement full grid mode Trash empty
* Now, emptying the trash should remove folders and the items they contain as well as items which were not in a subfolder.
* This will only work once both the region and grid servers have reached this revision.
* You may also need to clear your cache before this will work
* Refactoring to follow.
2008-04-23 22:13:57 +00:00
Justin Clarke Casey
4db839c3b8 * Implement proper emptying of trashcan on standalone
* On standalone, folders (and their items) should now be persistently deleted on trash emptying, as well as immediate child items
* An implementation for grid mode will follow.
2008-04-23 17:04:15 +00:00
Justin Clarke Casey
41f9bbc26d * Fix mantis #842 - folders which are created but left named "New Folder" in places other than directly under "My Inventory" should now be stored 2008-04-23 11:14:19 +00:00
Justin Clarke Casey
fc6e23371f * Extend functionality to better handle delayed inventory service transfers to create folder, move folder and purge folder.
* Old 1.18 get folder functionality requires a little more consideration
2008-04-22 20:24:48 +00:00
Justin Clarke Casey
68c6b6ece3 * Replace previous specific inventory callback code with generic alternative 2008-04-22 18:58:09 +00:00
Justin Clarke Casey
269a2e4b88 * Allow folder renaming to complete after an agent inventory has been received by a region from the inventory service
* This replaces the old behaviour of failing straight away, which could cause lost updates if the inventory service was slow in responding
* This is the first baby step to making all inventory requests behave this way, to reduce inventory lossage
2008-04-22 17:24:13 +00:00
Adam Frisby
fef3b36894 * Optimised using statements and namespace references across entire project (this took a while to run). 2008-04-21 07:09:17 +00:00
Justin Clarke Casey
3d3eec436a * Remove user profile from cache when they log out from a region.
* A much more significant fix is required to clean up the cache when a user moves out of a region, but really better handling of delayed inventory cache updates needs to be 
written first, and possibly better affinity to cut down agent inventory requests when the move is between two regions hosted on the same server.
2008-04-20 20:36:06 +00:00
Justin Clarke Casey
8b177bf4a8 * Tweak inventory login failure message to point to the region owner as first point of call rather than the grid owner 2008-04-20 19:39:24 +00:00
Justin Clarke Casey
b7ae8701ce * Working towards notifying the client if the inventory service has failed, rather than simply returning 0 items.
* This is very early support which would only be triggered in a rather unlikely case (if the user server correctly received an inventory skeleton, but later on failed to return the whole inventory in a timely manner.  Also, this only applies to the 1.19.1.4 client onwards
* Code cleanup and support for other failure cases (failure of inventory caching on region crossing, failure to actually add a folder/item, etc, should follow.
2008-04-14 18:43:23 +00:00
Justin Clarke Casey
451a5bbf30 * Put in crude poll waiting for 60 seconds for delayed user inventory delivery from the inventory service
* This will reduce failures where the inventory server is simply slow
* Still need to properly inform the user if the inventory service has failed altogether
2008-04-13 22:09:07 +00:00
Justin Clarke Casey
a5176c2e2c * Change inventory async response deliver to deliver all items and folders at once, rather than each individual
* This is required in order to work towards eliminating some inventory race conditions and to better deal with situations where a grid inventory server is slow or not responding.
2008-04-11 18:13:10 +00:00
Justin Clarke Casey
e26d4fc085 * minor: replace test of CachedUserInfo.RootFolder != null with something more readable, and make RootFolder get only 2008-04-11 17:02:20 +00:00
Justin Clarke Casey
205b95f2e8 * minor documenting, cleanup, renaming in user profile cache service 2008-04-11 16:49:20 +00:00
Justin Clarke Casey
576db5b72a * documenting and minor refactoring in UserProfileCacheService 2008-04-11 16:30:58 +00:00
Justin Clarke Casey
9a7717743b refactor: eliminate method in UserProfileCacheService 2008-04-11 16:13:33 +00:00