Commit Graph

965 Commits (d1c80efd41d914ed91a51d129e8f08ad749e3397)

Author SHA1 Message Date
Sean Dague f4bec00057 From: Alan Webb <awebb@linux.vnet.ibm.com>
The change makes two principal implementation changes:

[1] It removes the hard coded set of possible asset server client
implementations, allowing any arbitrary implementation that has been
identified to the PluginLoader as an appropriate extension. The
extension point for asset server client extension
is /OpenSim/AssetServerClient. All of the old configuration rules have
been preserved, and any of the legacy configuration values will still
work as they did before, except the implementation is now loaded as a
plug-in, rather than as a hard-coded instantiation of a specific class.
The re-hashing of IAssetServer as an extension of IPlugin made upgrading
of the implementation classes a necessity.

Caveat: I have not been able to meaningfully test the crypto-grid
clients. I believe they should work correctly, but the refactoring
necessary to handle plug-in based initialization (vs constructor-based
initialisation) admits the possibility of a problem.

[2] The asset cache implementation, previously introduce as a hard-code
class instantiation is now implemented as an IPlugin. Once again the
previous (configurationless) behavior has been preserved. But now it is
possible for those interested in experimenting with cache technologies
to do so simply by introducing a new extension for the asset cache
extension point (/OpenSim/AssetCache).

I've tested all of the configuration settings, after applying the patch
to a newly extracted tree, and they seem to work OK.
2009-02-16 12:20:31 +00:00
Justin Clarke Casey 31ca3a8d4d * refactor: Move RequestInventoryForUser() from service to CachedUserInfo
* This simplifies callers in most cases - CachedUserInfo is already handling the rest of the fetch inventory work anyway
2009-02-12 17:07:44 +00:00
lbsa71 801da4346a * optimized usings. 2009-02-12 09:53:12 +00:00
Sean Dague 8088802c21 From Alan Webb <awebb@linux.vnet.ibm.com>
These changes replace all direct references to the AssetCache with
IAssetCache. There is no change to functionality. Everything works as
before.

This is laying the groundwork for making it possible to register
alternative asset caching mechanisms without disrupting other parts of
OpenSim or their dependencies upon AssetCache functionality.
2009-02-09 21:47:55 +00:00
Mike Mazur 369eef5fcd The DataPluginFactory is now a set of generic methods instead of
multiple duplicates of the same code.
2009-02-09 00:33:44 +00:00
Dr Scofield 9b66108081 This changeset is the step 1 of 2 in refactoring
OpenSim.Region.Environment into a "framework" part and a modules only
part. This first changeset refactors OpenSim.Region.Environment.Scenes,
OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces
into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region
modules in OpenSim.Region.Environment.

The next step will be to move region modules up from
OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and
then sort out which modules are really core modules and which should
move out to forge.

I've been very careful to NOT BREAK anything. i hope i've
succeeded. as this is the work of a whole week i hope i managed to
keep track with the applied patches of the last week --- could any of
you that did check in stuff have a look at whether it survived? thx!
2009-02-06 16:55:34 +00:00
Justin Clarke Casey a1da605706 * Introduce a new "default" option for asset_database in the [STORAGE] section
* This option makes OpenSim use the usual db based asset service in standalone, and the grid based one in grid mode
* The other options can (local, grid, etc) can still be used explicitly as before
* Also change OpenSim.ini.example and the surrounding explanative text
2009-02-04 18:56:12 +00:00
Mike Mazur 0c03a48fb2 - add OpenSim.Framework.AssetMetadata class. AssetBase is now composed of it
- trim trailing whitespace
2009-02-04 00:01:36 +00:00
Mike Mazur d259238c74 - moved data plugin loading code from various places to
OpenSim/Data/DataPluginFactory.cs
- removed dependencies on a few executable assemblies in
  bin/OpenSim.Data.addin.xml
- trim trailing whitespace
2009-02-03 05:20:44 +00:00
Mike Mazur d3eae4073e - move OpenSim/Framework/IUserData.cs to OpenSim/Data/IUserData.cs
- trim trailing whitespace
2009-02-03 05:20:35 +00:00
Mike Mazur 9377c6f2b2 - move OpenSim/Framework/IInventoryData.cs to
OpenSim/Data/IInventoryData.cs
- trim trailing whitespace
2009-02-03 05:20:26 +00:00
Mike Mazur e12b0a2496 - move IAssetDataPlugin from OpenSim/Framework/IAssetProvider.cs to
OpenSim/Data/IAssetData.cs
- remove some trailing whitespace
2009-02-03 05:20:16 +00:00
Mike Mazur f8e45e8e98 Rename IAssetProviderPlugin to IAssetDataPlugin aligning with the other data plugins. 2009-02-03 05:20:03 +00:00
Justin Clarke Casey dbd2b45233 * Write a simple archive loading test which doesn't actually do any testing yet apart from not blow up 2009-01-23 20:38:44 +00:00
Justin Clarke Casey 664f983943 * Extend archive test to check for the presence of a control file in a saved archive 2009-01-23 19:24:36 +00:00
Justin Clarke Casey 37fa677548 * refactor: Extract caps related code from scene and put into a region module
* No functional changes in this revision
2009-01-21 21:14:17 +00:00
Mike Mazur 0e7aac0f65 - remove extra "; in http_loginform.html.example; fix issue 3025
- sync up default HTML generated in LoginService.cs with that in
  http_loginform.html.example
2009-01-21 10:20:32 +00:00
Mike Mazur 792ebca5f3 Set request method for REST requests with no input. 2009-01-21 02:29:56 +00:00
Mike Mazur 92e6bbcd63 No longer append a "texture" parameter on texture asset requests. The
asset server doesn't check for the existence of this parameter since
r2744.
2009-01-19 02:30:51 +00:00
Justin Clarke Casey 1baa921463 * minor: remove some mono compiler warnings 2009-01-13 18:35:20 +00:00
Sean Dague d770bea291 Enhanced LoginServiceTests to test for authentication and response
Expanded TestUserDataPlugin to cover new methods

From: Arthur Rodrigo S Valadares <arthursv@linux.vnet.ibm.com>
2009-01-12 15:33:56 +00:00
Justin Clarke Casey a31792ee5c * prune and regrade log messages relating to client login and logout 2009-01-06 21:39:55 +00:00
Justin Clarke Casey 31b0f07085 * Rename GetRandomCapsPath() to GetRandomCapsObjectPath() to fit in with terminology used elsewhere
* Last build break was probably a Bamboo failure - hopefully this should succeed
2009-01-06 18:26:27 +00:00
Justin Clarke Casey 498cd4f987 * Fix build break - forgot that I had renamed an argument 2009-01-06 18:12:22 +00:00
Justin Clarke Casey 715a776f7d * Move common string aggregation for caps seed path to a method in CapsUtil 2009-01-06 18:06:53 +00:00
Justin Clarke Casey e8dba51247 * Yeah, might just want to add the new class as well - sigh 2009-01-06 17:30:37 +00:00
Justin Clarke Casey 251387a391 * Remove unused CAPSService 2009-01-06 16:39:08 +00:00
Justin Clarke Casey 47a693ff1a * remove mono compiler warnings 2009-01-06 15:26:30 +00:00
Justin Clarke Casey e7ac639f3a * Centralize references to the well known blank texture 5748decc-f629-461c-9a36-a35a221fe21f to a constant in OpenSim.Framework.Util 2009-01-05 19:36:48 +00:00
Justin Clarke Casey 9d62dee531 * Add prereqs and usings required by the Windows compiler 2009-01-05 18:52:43 +00:00
Justin Clarke Casey fcab408cc4 * Add seed cap check to login test 2009-01-05 18:30:56 +00:00
Justin Clarke Casey 0b07c9762b * Simplify test code by always setting up mock 'in memory' user and inventory data plugins for every TestCommunicationsManager
* imo the gain in simplcity of test code outweighs the very small cost of setting up some stuff that some tests will never use
2009-01-05 18:00:53 +00:00
Justin Clarke Casey 04ffcce7ea * Extend stub to test the successful login of a user on the local login service
* Test does not do authentication
2009-01-05 17:38:39 +00:00
Justin Clarke Casey 0b8d22ab54 * Check in login service tests beachhead 2009-01-05 16:30:35 +00:00
diva 158de95bde Another interregion comms change that will not work well with previous versions. This commit moves InformRegionOfChildAgent from OGS1 to RESTComms, effectively having the complete child agent life cycle over REST: create=POST, update=PUT, close=DELETE.
Additional changes include more functions in the IHyperlink interface, and some refactorings in the HG code for better reuse in RESTComms.
2009-01-03 07:05:33 +00:00
Justin Clarke Casey 266d0fbaae * Apply http://opensimulator.org/mantis/view.php?id=2927 with some changes
* This allows configuration of the assetset and library control file paths to be other than ./inventory/Libraries.xml and ./assets/AssetSets.xml
* This is controlled via the LibrariesXMLFile and AssetSetsXMLFile configuration settings in [StandAlone] in OpenSim.ini (in standalone)
and via the user and asset config xml files for grid mode
* Thanks to SirKimba for the patch
2008-12-29 16:56:48 +00:00
Teravus Ovares e9411a4c59 * Eliminate a possible null reference from the LLSDLogin method. 2008-12-27 21:50:19 +00:00
diva 9af9f648ef Small null check in DeregisterHandlers. 2008-12-21 02:25:14 +00:00
Justin Clarke Casey b4680f653d * Implement 'Save Object Back to My Inventory'. On the Linden client this is in the Tools menu available when editing an object
* This facility allows you to save changes to an object that you've rezzed into a region back into their original inventory item without having to take a copy of the rezzed 
object.
2008-12-17 16:11:03 +00:00
diva 8fffdac7fa Attempt at restoring inventory access after TPs/crossings. RemoveClient in Scene was being too
aggressive at nixing the user out of the cache. We're now relying on NeedSceneCacheClear to decide
whether to nix it or not. All other mods in other files are for better debugging messages.
2008-12-15 20:45:40 +00:00
Justin Clarke Casey 71960f17bc * Extend update test to test situation where it also moves the folder
* Correct logic so that update folder behaves as expected
2008-12-12 21:06:07 +00:00
Justin Clarke Casey b1f018aa26 * Create update folder test
* Correct small logic elidation
2008-12-12 20:43:42 +00:00
Justin Clarke Casey 42ec7f4935 * minor: make AddRequest() protected since in principle it shouldn't be used outside the class and its descendents 2008-12-12 20:10:39 +00:00
Justin Clarke Casey 1531035b14 * Actually properly enable the purge folders test and correct some problems 2008-12-12 20:04:58 +00:00
Justin Clarke Casey 9f6e567cb1 * add purge folder test 2008-12-12 19:37:51 +00:00
Justin Clarke Casey 7bbab12158 * Add user info move inventory folder test 2008-12-12 19:24:45 +00:00
Justin Clarke Casey f8ce498755 * extend user profile create folder test to check that one can't create a folder with a non-existant parent folder id 2008-12-12 19:04:10 +00:00
Justin Clarke Casey b60d980f7c * Add file missing from last commit 2008-12-12 18:59:06 +00:00
Justin Clarke Casey a7e145bdfd * refactor: pull out common user profile test code into utility functions 2008-12-12 18:48:29 +00:00
Justin Clarke Casey 80e267dcfe * refactor: Stop exposing InventoryFolderImpl.SubFolders publicly 2008-12-11 20:58:11 +00:00
Justin Clarke Casey f23856a575 * Add get child folder test 2008-12-11 20:36:46 +00:00
Justin Clarke Casey 30213e141b * Add create folder userinfo test 2008-12-11 19:57:12 +00:00
Justin Clarke Casey c9aabe2b90 * Pop in a missing using statement without which UserProfileCacheServiceTests.cs fails on Windows (but not mono) 2008-12-11 19:11:19 +00:00
Justin Clarke Casey 04a07daa5b minor: Add request inventory test 2008-12-11 18:56:04 +00:00
Justin Clarke Casey bec3993849 * Fold mock classes into existing OpenSim/Tests/Common assembly rather than sprouting another one 2008-12-11 18:07:23 +00:00
Justin Clarke Casey 230eb06d34 * Extend test to probe for user details that should exist 2008-12-11 17:30:57 +00:00
Justin Clarke Casey c4b45449ee * test: Add simple user profile test that checks for non-existing users 2008-12-11 17:23:55 +00:00
Justin Clarke Casey f38c35b609 * refactor: Move inventory handlers out from UserProfileCacheService
* This means that UserProfileCacheService no longer needs to know about IClientAPI and can leave it to callers to do their own error logging
* This is also more consistent with the way that item inventory manipulation is handled
* I don't really think Scene.PacketHandlers.cs should be a permanent home for these handlers - this is just for convenience
2008-12-10 19:12:59 +00:00
Justin Clarke Casey 93977c2d47 * Establish OpenSim.Framework.Communications.Tests beachhead
* No valid tests yet
2008-12-10 17:43:45 +00:00
Justin Clarke Casey 9e02a639e5 * Apply the other patch from http://opensimulator.org/mantis/view.php?id=2315
* This means that LL RAW terrains (one source being the upload/download buttons on the estate dialog in the viewer) are now imported the 'right' way around rather than being 
flipped on the y axis
* Existing RAW terrains before this patch will need to be flipped with the "terrain flip y" command from the console after import
* More details on the mailing lists soon.
-This line, and those below, will be ignored--

M    OpenSim/Region/Environment/Modules/World/Terrain/FileLoaders/LLRAW.cs
M    OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
M    OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs
2008-12-10 16:50:11 +00:00
Justin Clarke Casey 762712c02e * Actually update subfolders of parent folders in the inventory cache when a folder gets moved
* This was causing inventory folder transfer code to not work properly (this is still temporarily disabled)
2008-12-09 18:35:09 +00:00
Homer Horwitz 6ab09bc139 Send the creation-date of items to the viewer. This fixes Mantis#2769. 2008-12-06 22:51:41 +00:00
Dr Scofield bdffd56a45 killing warnings, reformatting RemoteAdminPlugin 2008-12-05 15:28:03 +00:00
MW 2cb30b3435 some small refactoring of the LoginService to allow sub classes to override the LLSD login authentication 2008-12-05 10:31:34 +00:00
Justin Clarke Casey 38ca31b37a * Put in the code necessary to allow inventory transfer of whole folders (and their contents) between agents, not just single items
* However, this is not currently activated since it's not absolutely fully tested and there's a bug lurking in there to do with the sending of the BulkInventoryUpdate packets
2008-12-04 19:57:36 +00:00
MW 8f7c2ba91b changed UserManagerBase. IInterServiceInventoryServices m_interServiceInventoryService from private to protected 2008-12-02 13:15:10 +00:00
Jeff Ames 077314cdd3 Update svn properties. Add copyright header. Minor formatting cleanup. 2008-11-30 00:51:40 +00:00
Justin Clarke Casey 5f9ccd486f * test: Extend take object test to finally check that the object made it into user inventory and that it was removed from the scene 2008-11-28 20:58:12 +00:00
Justin Clarke Casey 71e05a5707 * test: Add a wodge of code in order to be able to slightly extend a test to deliver a taken object to a user inventory folder without throwing an exception
* test doesn't actually double check for the presence of the item yet
2008-11-28 19:39:46 +00:00
Justin Clarke Casey 18974b7766 * refactor: rename UserServiceAdmin to UserAdminService 2008-11-28 16:04:01 +00:00
Justin Clarke Casey 63851f1441 * refactor: move ResetUserPassword into UserServiceAdmin 2008-11-28 15:47:01 +00:00
Justin Clarke Casey 0862627b34 * refactor: move CreateUser into UserServiceAdmin 2008-11-28 15:34:30 +00:00
lbsa71 27d9e715c0 * Changed name of auth function to better reflect actual use 2008-11-28 12:31:30 +00:00
Justin Clarke Casey 45c50998c2 * Remove unused and largely unimplemented UpdateUserCurrentRegion()
* please say if this causes you a problem
2008-11-27 19:43:26 +00:00
Justin Clarke Casey 7c6c776ff7 * test: Add the ability to add a plugin directory to the user and inventory services in order to extend unit tests for user and inventory information
* I can't spend any longer in trying to get Mono.Addins to work with the unit tests, so this is not a proper plugin at this time
2008-11-27 19:28:04 +00:00
Jeff Ames de052c48d1 Add copyright headers. Minor formatting cleanup. 2008-11-25 16:10:08 +00:00
Jeff Ames 518a8b9f2a Update svn properties. 2008-11-25 16:00:55 +00:00
Justin Clarke Casey fbf90b1ece * minor: eliminate mono compiler warnings 2008-11-25 15:41:42 +00:00
Justin Clarke Casey e187972377 * Apply http://opensimulator.org/mantis/view.php?id=2640
* This is Diva's hypergrid patch, as perviously discussed on the opensim-dev mailing list
* Applied some minor prebuild.xml jiggling to resolve a dependency issue
* Thanks Diva!
2008-11-25 15:19:00 +00:00
lbsa71 dbe64197ae * Adding some virtual hooks and making some privaets protected for great justice. 2008-11-25 11:46:15 +00:00
lbsa71 4cfa8b0a10 * First step in refactoring the login code - extracting the authentication 2008-11-25 11:44:31 +00:00
Melanie Thielker fba9e3f513 Don't serve texture preview from other people's objects if you
havenever seen that texture before.
2008-11-23 20:39:51 +00:00
Melanie Thielker cbd0221870 Plumb in the presence notifications and region shutdown/restart messages
from the presence module to the message server, through the user server
and on into the database. This should fix the "Already logged in" issue
that grids see after a sim crashes, or a user crashes out of a sim.
Not yet a 100% solution for friends, but getting there.
2008-11-23 05:16:07 +00:00
Charles Krinke 02fd7751d9 Mantis#2660. Thank you kindly, Ruud Lathrop for a patch that:
This patch adds the option of adding the email when you create 
a new user. This works in Gridmode as none Gridmode. This 
option is also added to RemoteAdminPlugin. With a new handler 
you can create a user with a email.
2008-11-23 03:38:40 +00:00
Melanie Thielker 778d83d9f0 Adjust to the Helpers->Utils rename 2008-11-19 07:03:39 +00:00
Melanie Thielker f518ca7feb Reapply r7369 r7367 r7366 r7370 r7381. This brings it back up to the new
libOMV.
2008-11-19 06:25:34 +00:00
Melanie Thielker 3234472d62 Reverting the texture sending patch and the new libOMV. This makes this
release a direct descendant of the stable 7364, with all the features and
none of the issues.
This omits the following patch chain: r7383 r7382 r7381 r7377 r7375 r7373
r7372 r7370 r7369 r7368 r7367 r7366
2008-11-19 06:15:21 +00:00
Melanie Thielker 0abb762ecc Patch from jhurliman. Fixing the texture decoding issues in progressive
texture sending. Grain of salt not included.
2008-11-18 20:02:25 +00:00
Adam Frisby 434afaf717 * Added and removed debug information relating to client connections
* Minor client fixes
* Added the ability for a client to login without a UserProfile, allowing certain alternate clients to connect to the region.
2008-11-18 00:47:30 +00:00
Justin Clarke Casey c25a0ea792 * Update libOMV to r2359. This is necessary for the progressive texture patch
* Update libopenjpeg as well for this patch.
* Appears to be okay on a very short sniff test
* Source code will be placed in opensim-libs shortly
2008-11-17 21:00:34 +00:00
Homer Horwitz 78d42a7fc8 - Fix a formatting error in a log message (Mantis#2635). 2008-11-16 21:32:10 +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
Jeff Ames 5276c4bdf8 Update svn properties, minor formatting cleanup. 2008-11-11 00:52:47 +00:00
Adam Frisby e0498e1638 * Fixed asset bug. 2008-11-09 23:05:08 +00:00
Adam Frisby c43e466301 * Enabled GTCache for AssetCache
* Items will now be locally cached for only 24 hours from last access. (Rather than until restart)
* Caveat: Implementing the new caching mechanism means statistics gathering on AssetCache is no longer functional. (Justin - you might want to take a look and see if you can somehow get that back and running if you still need it)
2008-11-09 15:00:26 +00:00
Jeff Ames bbb8d6fc51 Remove empty OSUUID.cs file. Add copyright headers. Minor formatting cleanup. 2008-11-08 14:28:43 +00:00
Charles Krinke 17e43dcc0f Mantis#2566. Thank you kindly, Diva for a patch that:
This patch introduces a couple of read-only properties, 
so that I can grab the asset server plugin from a region 
module. This is needed to set up an http service for 
accessing standalone assets remotely.
2008-11-06 19:27:18 +00:00
Charles Krinke d664192dfe Mantis#2557. Thank you kindly, Diva for a patch that:
This patch changes a method from private to public.
Will make life easier for the asset mapper for 
the hypergrid.
2008-11-05 02:23:44 +00:00
Dahlia Trimble 8aa16a9acf Thanks diva for patch that makes a bunch of methods in InventoryServiceBase virtual, so that they can be overriden in subclasses. 2008-11-03 05:22:36 +00:00
Homer Horwitz 38e8853e57 Megapatch that fixes/adds: friend offer/deny/accept, friendship termination,
on-/offline updates, calling cards for friends.
This adds methods in the DB layer and changes the MessagingServer, so a full
update (incl. UGAIM) is necessary to get it working. Older regions shouldn't
break, nor should older UGAIM break newer regions, but friends/presence will
only work with all concerned parts (UGAIM, source region and destination
region) at this revision (or later).
I added the DB code for MSSQL, too, but couldn't test that.
BEWARE: May contain bugs.
2008-11-01 22:09:48 +00:00
Justin Clarke Casey 8a3157aa6a * Check in (disabled) results of not persisting avatar textures but rather sending ImageNotFound to clients if avatar textures are missing
* Whilst this does automatically get the client to rebake, on crossing a region border the 'local' assets are left behind
* There may be a cunning solution (such as squirting the assets on region crossing, or having them fetched from the original region) but 
instead I'm going to opt for the easy solution of keeping them in the asset database, for now
2008-10-29 18:38:10 +00:00
Justin Clarke Casey 1ff9709ea3 * Possibly fix grey avatar appearance problems
* And hopefully rebaking all the time should no longer be necessary now
* It turns out that when the client baked the texture, the uploaded asset had the Temporary flag to true (Temporary is actually deprecated).  
* It also had the StoreLocal flag set to true, which signifies that the asset should be stored locally.  If it disappears we should reply to the asset request with 
ImageNotInDatabasePacket
* However, last time this was enabled some clients started crashing.  This may well no longer be the case and needs to be tested, but in the mean time we will store 
the asset instead.
* This needs to be resolved in a better way, possibly by starting to send the ImageNotInDatabase packet again instead
2008-10-28 21:31:23 +00:00
Dr Scofield b91857b8f7 Adding AddXmlRpcHandler(name, method, bool) to selectively disable
KeepAlive for certain XmlRpc handlers.

Making use of new AddXmlRpcHandler method in RemoteAdminPlugin to
avoid clients waiting indefinitely for response.

taking note of BaseHttpServer parameter in CommunicationsManager
constructor (was passed it but then just ignored so far).
2008-10-23 10:15:19 +00:00
Dr Scofield 12042cdc2b From: Alan Webb <alan_webb@us.ibm.com>
cleanups and assorted fixes to REST inventory, asset, and appearance
services.
2008-10-20 18:07:06 +00:00
Homer Horwitz 3a75a54da1 - Fix Util.UnixTimeSinceEpoch:
* Unix epoch starts at midnight, not at 8:00am
  * All date/time handling should be done in UTC in the server, not in
    the local timezone.
  * Refactor out repeated computation of a constant value
- Added setting of CreationTime to some places where inventoryitems
  are created
This fixes Mantis#2390.
2008-10-18 15:26:41 +00:00
Melanie Thielker efe3f3eb2a Megapatch. :) Fix skull attachment editing. Streamline Object terse updates.
Add rezzing time to objects. Add Object return and traffic fields to land
database. Add plumbing for auto return. Implement auto return.
Contains a migration. May contain nuts.
2008-10-18 05:51:36 +00:00
Justin Clarke Casey e4b8912296 * reverse part of a change that accidentally crept in with the last revision 2008-10-17 17:08:14 +00:00
Justin Clarke Casey 138bcf6fff * Apply a modified version of http://opensimulator.org/mantis/view.php?id=2290
* This allows multiple user profile providers to be specified in OpenSim.ini separated by commas
* If multiple providers are specified then a request for a user profile will query each in turn until the profile is either found or all have been queried
* Unfortunately I don't believe this order can currently be specified, which if true is something that will need to be fixed.
* Thanks to smeans for the original patch.
2008-10-17 16:44:05 +00:00
Homer Horwitz ae9e38bf3f Fixed (mono-)script handling for SL viewer 1.21:
- Added two missing caps (UpdateScriptAgent, UpdateScriptTask)
- Added one missing EventQueue event (ScriptRunningReply)
- Changed DNE and XEngine to use this new event
As we only use the mono engine anyway, the "Mono" checkbox is set by
default but doesn't have any function.
2008-10-16 21:46:03 +00:00
Sean Dague 7f721ae20c fix line endings, as apparently the bot didn't do this yet 2008-10-16 15:58:07 +00:00
Justin Clarke Casey 9324c3f110 * refactor: Move error logging from GetUserDetails up to callers, since there are some circumstances in which not finding a user is not an error 2008-10-15 16:35:27 +00:00
Adam Frisby 54d7be8a49 * Adding CrytoGridAssetClient support - allows encrypting assets that are stored on a potentially hostile grid. This is not DRM, not should be relied on until after it's been security audited. I'll write a blog post on this explaining how/why/when you should use this, and what it does. 2008-10-14 08:54:46 +00:00
Teravus Ovares 3ac76db76b * Fixes the last snag with the EventQueue. The situation where the seedcap gets lost on teleport. 2008-10-05 18:42:05 +00:00
Homer Horwitz 16d68749a4 Add the missing bits for the new region-search:
- Added lookup in the data-layer
  - MySQL works
  - SQLite doesn't have a grid-db, so it won't work there
  - I added MSSQL-code to the best of my knowledge; but I don't know MSSQL :-)
- Added the plumbing up to OGS1GridServices. This speaks with the grid-server
  via XMLRPC.
- Modified MapSearchModule to use the new data. It's backward compatible; if
  used with an old grid-server, it just returns one found region instead of a
  list.
- Refactored a bit.
Note: This updates data, grid-server and region code. No new files.
2008-10-03 23:00:42 +00:00
Melanie Thielker fecbb2febd Add a user server XMLRPC method to set the MOTD and the minimum GodLevel
required to log in. set_login_params accepts avatar_uuid and password of a
user with god level 200 or more, and allows setting either or both the
login_motd or login_level
2008-10-01 15:17:37 +00:00
Teravus Ovares 79b2e5ac71 * Replacing Net.HttpListener with HttpServer.
* This is a HUGE update..  and should be considered fraut with peril.
* SSL Mode isn't available *yet* but I'll work on that next.
* DrScofld is still working on a radical new thread pump scheme for this which will be implemented soon.
* This could break the Build!  This could break your Grid!
2008-09-30 16:56:33 +00:00
Justin Clarke Casey 7ec065198a * Apply http://opensimulator.org/mantis/view.php?id=2294
* This is an initial basic experimental code for inventory import and export from the region server
* Probably not yet ready for general use
* Thanks Kayne!
2008-09-29 14:41:16 +00:00
Teravus Ovares 16b6738cda * Patch from JHurliman
* Updates to libomv r2243, 
* Remove lots of unnecessary typecasts
* Improves SendWindData()
Thanks jhurliman. 
* Will update OpenSim-libs in 10 minutes..
2008-09-26 17:25:22 +00:00
Teravus Ovares 17be1b736d * In Standalone, add a persistant account for the OGP user.
* Gridmode, this has no effect at all.
2008-09-25 08:42:48 +00:00
Homer Horwitz fe9aea258f Add persistence of active gestures. This needs an UGAIM update to work.
Active gestures are sent as part of the login-response. Added
fetchActiveGestures to SQLite and MySQL; added an empty one for MSSQL and
NHibernate. Using the empty ones won't cause errors, but doesn't provide
persistence either, of course.
2008-09-24 21:12:21 +00:00
Justin Clarke Casey 3782d6aab7 * minor: Remove some of the redundant asset id storage for now 2008-09-21 20:44:54 +00:00
Justin Clarke Casey 8fb3523ef7 * Start recording asset request times after a cache miss. This is very primtive at the moment - only the last time is kept for some classes of request
* This can be seen as "Latest asset request time after cache miss" in show stats on the region console
2008-09-21 20:29:06 +00:00
Justin Clarke Casey 70e8097e31 * Eliminate the need to copy asset request lists in the asset cache when an asset is received or missing
* Also eliminates a race condition
2008-09-21 18:53:58 +00:00
Justin Clarke Casey 52f0c8d15d * minor: tidy up of AssetCache, remove currently pointless storing of thread reference 2008-09-21 17:49:52 +00:00
Justin Clarke Casey 1a71a3a567 * Fix http://opensimulator.org/mantis/view.php?id=2189
* Allow a grid mode region simulator to properly shutdown even if the grid service is offline
2008-09-21 16:58:14 +00:00
Melanie Thielker 70be30fbaa Completely revert the notecard uploading changes I made, since they
appear to break script saves in prims for some.
2008-09-21 00:05:33 +00:00
Melanie Thielker a8785f5b2c And re-reverse the names from last commit 2008-09-20 22:11:53 +00:00
Melanie Thielker e4bead4edc Remove CAPS notecard updating, as LL isn't supporting it and the viewer
is not playing nice
2008-09-20 22:04:59 +00:00
Melanie Thielker 82d79e3b0b Partially implement notecard saves in task inventory. Still makes the
notecard go read-only, but changes are saved.
2008-09-20 20:56:39 +00:00
Justin Clarke Casey 5fb7b485b2 * Only allow logins on standalone when the sim has completed it's initial startup (script startup doesn't count here)
* There was a small window where region logins were allowed before modules were loaded - avatars logins that hit this window could have caused bad things to happen.
* A similar change will follow for grid mode sometime soon
2008-09-19 17:41:21 +00:00
Justin Clarke Casey ddaa90d270 * refactor: collapse UpdateUserProfileProperties() into existing UpdateUserProfile
* the methods were identical except that the Properties one did a check for the user profile beforehand.  However, every caller was doing this already anyway.
2008-09-15 19:02:34 +00:00
Justin Clarke Casey 6791ac3958 * oops! Add interface file I forgot in the last checkin 2008-09-15 18:35:52 +00:00
Justin Clarke Casey c2ee263999 * refactor: Break out IUserServiceAdmin out of IUserService since admin methods don't need to be implemented on Grid hosted region servers 2008-09-15 18:23:36 +00:00
Justin Clarke Casey 6d289c3ae0 * Add "reset user password" command to standalone region console
* Grid user server implementation to follow shortly
2008-09-15 17:29:11 +00:00
Teravus Ovares cdced699fb * Made Seed CAP response respect the SSL setting. 2008-09-14 23:39:35 +00:00
Adam Frisby 3476dd56ea * Converted a number of methods within the login processes from private to protected.
* Made several methods virtual to allow derivative overrides.
* Minor cleanups.
2008-09-14 04:13:15 +00:00
Justin Clarke Casey 52a4c4d82f * Check in first part of http://opensimulator.org/mantis/view.php?id=2073
* This patch aims to introduce look at direction persistence between logins.  It won't be active until the second part of the patch is committed in about two weeks time.  At 
this point, region servers that haven't upgraded past this revision may run into problems
* This checkin upgrades the user database.  As always, we recommend you have backups in case something goes wrong.
* Many thanks to tyre for this patch.
2008-09-12 20:12:03 +00:00
Charles Krinke 8d6096b815 Mantis#2165. Thank you kindly, CMickeyB for a patch that:
patch is attached that replaces the o(n^2) algorithm currently 
used to build the inventory cache with an o(n) algorithm using 
hash tables. the patch also adds some additional error handling.
2008-09-12 03:33:26 +00:00
lbsa71 e04ce96cee * Removed some legacy commenting 2008-09-11 11:41:52 +00:00
lbsa71 aa12787a17 * Added small convenience function to recursively calculate total amounts of items loaded under library inventory node 2008-09-11 11:39:43 +00:00
Jeff Ames fae34bb10c Update svn properties, formatting cleanup. 2008-09-09 01:26:48 +00:00
Justin Clarke Casey 815278531a * Improve login failure handling.
* Now it should properly inform the user and stop a login if a region server could not be contacted in order to expect a user (the last commit didn't actually quite work correctly)
2008-09-07 05:07:57 +00:00
Justin Clarke Casey ea8c18f63d * minor: just minor doc and tidy up 2008-09-07 00:47:08 +00:00
Melanie Thielker 9e545c9984 Mantis #2133
Thank you, Xugu Madison and ChrisDown, for a patch that
fixes linux filename extensions from .Xml back to .xml
2008-09-06 14:58:23 +00:00
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 9053e8510c Update svn properties. 2008-09-03 14:05:49 +00:00
Melanie Thielker 805deb5a9b Attempt to fix an issue I havebeen seeing, where asset server failure
results in a memory leak which will make the region crash and burn
after a while.
2008-08-31 10:42:35 +00:00
Adam Frisby f57f4d1ab8 * Added "File Asset Client" to OpenSim Asset Server-types.
* You can replace "grid" as the asset system with "file" to save and load all your assets from a directory on your hard disk. Files are serialised to XML and saved in the format "/<dir>/0x/0x/0x/0000-0000-000000-0000-0000.xml"
* Directory <dir> is sharing the Asset Server URL path, use a normal path here instead (ie C:\xyz or /var/assets/). 
* This probably wont work well in grid mode unless every sim has access to the same directory. This is mostly intended for standalone usage where quick and convenient access to assets is required.
2008-08-30 04:42:23 +00:00
Melanie Thielker 10b2a4597a Mantis #1903
Thank you, cmickeyb, for a patch that fixes inventory folder retrieval.
2008-08-28 20:56:53 +00:00
Jeff Ames 3bf8858727 Update svn properties, formatting cleanup. 2008-08-28 14:41:54 +00:00
Dr Scofield 4a3523bc67 this fixes the crash reported by mantis #2046: user server crashing if
no OpenSim.ini file found by GridInfoService. GridInfoService now will
just issue a warning that GridInfo will NOT be available to your users 
if no OpenSim.ini file is available. due to the static nature of 
UserConfig (configuration options hardcoded) i don't think it's currently
an option to move GridInfo into user_server.xml but if anyone wants to 
look into this i'd be delighted...
2008-08-28 07:37:16 +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
Jeff Ames 41f616627f Update svn properties. 2008-08-25 14:40:10 +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
Charles Krinke 4c40a680fa Mantis#2032. Thank you kindly, Tyre for a patch that:
This small patch provides the required changes to populate 
the columns agentIP and agentPort in table "agents"
Tested with mysql (but should work for all supported db engines)
2008-08-23 18:40:07 +00:00
Melanie Thielker d2d9808742 Thank you, salahzar, for a patch that adds llGetNumberOfSides and will
also enable LSLconformance on some texture functions as well.
Applied the part of the patch in Shared/.
The part for Common/ needs to be reworked to remove the reference
into Shared/
2008-08-23 16:15:17 +00:00
Melanie Thielker ccd74f888b Some complex re-ordering to make prebuild do what needed to be done.
It is now possible to use module interfaces without referencing Scene.
Place those interfaces in OpenSim/Region/Interfaces. They may not
use any refs from OpenSim.Region.Environment as parameters.
This resolves a circular library ref introduced in r5949
2008-08-23 02:30:07 +00:00
Melanie Thielker 5d6f92fb96 Patch #9171
Disallow bulk uploads if money module is present and upload cost
is set and the user hasn't got sufficient funds.
2008-08-23 00:44:06 +00:00
Dr Scofield d972d22788 bug fixes:
- GridInfoServices was not paying attention to location of ini file
- typo in RemoteAdminPlugin
2008-08-22 11:09:38 +00:00
Melanie Thielker 41440e184b Attachment persistence (Mantis #1711)
Change user server to handle attachment assets record properly. Ensure
that attachments are not re-rezzed on region crossing. Persistence
will NOT WORK with earliser UGAI!!
Change region server to match.
2008-08-19 18:34:46 +00:00
Melanie Thielker 29530f3029 Attachment persistence!!! Patch #9170 (Mantis #1171)
Attachments now persist across logouts. Mostly untested.
2008-08-19 07:11:58 +00:00
Melanie Thielker 6d2e1ad6ba Attachment persistence!!! Patch #9169 (Mantis #1171)
Attachments now save to MySQL. No reattach on login yet.
2008-08-19 02:12:40 +00:00
Jeff Ames 6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Jeff Ames 796ccd3d37 Update svn properties, minor formatting cleanup. 2008-08-17 02:31:45 +00:00
Justin Clarke Casey 992b04a23e * Move GridInfoService into Framework.Communications and eliminate Common.Communications for now (since this was the only class in that project) 2008-08-16 20:42:43 +00:00
Charles Krinke 701ee43e46 Mantis#1960. Thank you kindly, Tyre for a patch that:
This small patch enables updates to the lastLogin information in the `users` table
2008-08-16 20:02:51 +00:00
Charles Krinke d9cc908471 Mantis#1965. Thank you kindly, HomerHorwitz for a patch that:
Places touched:
- Added two events for in-packets to LLCLientView: RegionHandleRequest and
  ParcelInfoRequest
- Added sending of two out-packets to LLCLientView: RegionIDAndHandleReply and
  ParcelInfoReply.
- Scene handles the RegionHandleRequest, LandManagementModule the
  ParcelInfoRequest
- Added inter-region request for LandData by RegionHandle and local position.
  This was implemented as XML-RPC request. The returned LandData isn't
  complete, it only contains the data necessary for answering the
  ParcelInfoRequest
- Added new CAPS (0009) for RemoteParcelRequest and some methods for LandData
  handling to LandManagementModule
- Added methods for fake parcelID creation and parsing to Util
- Fixed missing implementation of interface methods.
- Added new file:
    OpenSim/Framework/Communications/Capabilities/LLSDRemoteParcelResponse.cs
  NOTE: This is part of the patch, too.
Due to the many places touched, I would consider this patch as experimental.
2008-08-16 19:20:14 +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
Melanie Thielker e3157e61aa Mantis #1946
Thank you, HomerHorwitz, for a patch that corrects and improves TP
to landmark and home position handling.
2008-08-14 00:04:37 +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 0fd2bde111 * minor: remove unused grid send/receive keys from user server configuration 2008-08-09 20:41:18 +00:00
lbsa71 22f09fbd21 * All CheckRegion within an instance would use the same, global, bool for 'Available', which would lead to intermittent failures on parallell teleport requests.
* Solidified CheckRegion somewhat, adding a second try if the first failed.
2008-08-08 10:59:32 +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 de4e3bfede * minor: eliminate some unused variables in InventoryFolderImpl 2008-08-01 16:22:26 +00:00
Mike Mazur 15669281fa Apply updated patch from issue 1871. Thanks sempuki. 2008-07-31 23:53:24 +00:00
Justin Clarke Casey 900a656420 * refactor: rearrange path inventory manipulation so that input tidying can be used for item paths as well 2008-07-31 18:23:17 +00:00
Justin Clarke Casey 465e77b618 * refactor: eliminate unused SubFoldersCount 2008-07-31 17:35:47 +00:00
Justin Clarke Casey a62b906a7b * allow inventory folders to be located by path
* first pass method impl
2008-07-31 17:32:13 +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
Mike Mazur 2270b25265 Thanks, sempuki, for a patch that moves all Grid Server's plugins to
PluginLoader. Fix issue 1871.
2008-07-31 09:24:28 +00:00
Justin Clarke Casey e595959d97 * refactor: move create user console command parsing down to OpenSim.cs from CommunicationsManager 2008-07-29 17:39:15 +00:00
Charles Krinke bfa1fd768b Mantis#1849. Thank you kindly, Kinoc for a patch that:
- LLSDLoginMethod should error out in similar way to XMLRPC login for already logged in condition
- Have LLSDLoginMethod mirror the sequence of the XMLRPC for easier side by side compare
- Log messages report which process XML or LLSD generated them for easier debugging
2008-07-29 03:43:31 +00:00
Dr Scofield f2bc404e70 squasing warning. 2008-07-25 12:59:41 +00:00
Mike Mazur 84cc69573b Thanks, lulurun, for a patch that adds an authenticated session cache to reduce
"check_auth_session" requests from inventory server to user server.
2008-07-25 07:16:27 +00:00
Justin Clarke Casey cdd3537706 * refactor: Remove now redundant inventory server url being passed to GetInventorySkeleton 2008-07-24 17:19:33 +00:00
Justin Clarke Casey 77297ed6cc * Separate out OGS1 calls used between services (rather than from region to services) into a separate assembly to parallel OpenSim.Region.Communications.OGS1 2008-07-24 15:56:50 +00:00
Justin Clarke Casey 29e8fcd13c * minor: Rename IInterGridInventoryServices since it's inter service rather than inter grid 2008-07-24 15:20:57 +00:00
Justin Clarke Casey 9af05d0bc3 * refactor: break out inter grid inventory services further
* more to follow
2008-07-23 22:18:09 +00:00
Justin Clarke Casey 4452ed60f8 * refactor: split out inventory services which are only used between non-region services
* more to follow
2008-07-23 21:40:06 +00:00
Jeff Ames 80d8e2889e Update svn properties. Formatting cleanup. Remove a compiler warning. 2008-07-23 13:24:25 +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 3b35332957 adding files that were not included in r5589 2008-07-23 07:27:11 +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 fb096dfbd5 added experimental packet tracker (LLPacketTracker.cs), which can be told to track a packet and if it hasn't been acked within a set time, trigger a IClientAPI event, that the application/scene can handle. Currently only terrain packet tracking is finished, Tracking for initial Prim packets (first full update for a prim) is being worked on. Future improvements would be to make it a more generic packet tracker with callback delegates instead of events.
Add a test event handler (which would fire after a minute if a terrain packet hadn't been acked) to scene to handle the OnUnackedTerrain event, which currently just resends the terrain patch.
The idea of this packet tracking is for the region level application to be able to know if the client stack gave up on sending a packet.
2008-07-21 15:13:34 +00:00
Melanie Thielker 4ff529bdaf Patch #9146 (No Mantis)
Prevent an exception caused by inventory server fetch requests
2008-07-12 18:26:25 +00:00
Melanie Thielker f629fdb88d Patches #9143 and #9144 (Mantis #1723)
Changes the permissions module to make scripts permissive only when intended
Adds security checks to asset transfers to prevent hacked clients fron
requesting script sources.
Adds security checks to llClientView to verify all aspects of ownership
and permissions for inventory based script retrieval.
2008-07-12 06:24:43 +00:00
Justin Clarke Casey 7fa00f9ecd * remove redundant sync locking in AssetServerBase since this is already being done by the lower database layers 2008-07-07 19:32:21 +00:00
Justin Clarke Casey 1813946937 * remove unused CommitAssets() hook for now 2008-07-07 19:18:44 +00:00
Justin Clarke Casey 0b2fcbfec4 * Start scripts loaded from an archive 2008-07-07 18:54:11 +00:00
Jeff Ames d470d30c09 Copyright notices and formatting cleanup. 2008-07-06 14:02:22 +00:00
Dahlia Trimble 8465f378ac changes prompting of create user console command to only ask for unspecified parameters and avoid an exception if the wrong number of parameters are supplied 2008-07-05 08:13:22 +00:00
Dr Scofield 6265a09ff9 Renaming UserManagerBase.SetUserProfile(UserProfileData) to
UserManager.UpdateUserProfile(UserProfileData). 

Adding UpdateUserProfile(UserProfileData) to IUserService interface.

Adding RemoteAdminPlugin.XmlRpcUpdateUserAccountMethod(...) to provide
a remote update capability.
2008-07-04 11:13:25 +00:00
Dr Scofield 2dadbc2f70 mini-warnings-safari, plus cleanup of IUserServices method naming. 2008-07-04 10:19:58 +00:00
Justin Clarke Casey 9052c43319 * Drop InvType from the assets table since it is no longer used
* Migration should be automatic on sqlite and mysql
* Migration is not automatic on mssql, you will need to drop the invType column manually
* Migration should be fine, but as for any db change, I would recommend making sure you have backups before moving past this revision
2008-07-02 16:20:54 +00:00
Sean Dague 721988adcd add the ability to cherry pick expire something from the asset
cache.  Bandaid until we rethink the caches a bit more.
2008-06-30 15:05:30 +00:00
Jeff Ames 2dfaa3c5e4 Update svn properties. 2008-06-30 12:41:32 +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 f3f31744ab patch and files from mantis #1630, Thanks Melanie 2008-06-29 11:48:58 +00:00
MW 68bec3f69f couple of small fixes to try to fix support for multiple inventory servers in the loginservice 2008-06-29 10:27:22 +00:00
MW 031b3d5314 small change to see if that helps with the inventory problems. 2008-06-28 23:05:08 +00:00
MW 85f893f0b3 more disabling multiple inventory server support in LoginService 2008-06-28 22:19:48 +00:00
Charles Krinke 1091f78e04 Mantis#1626. Thank you kindly, Melanie for a patch that:
Fixes IAvatarService for grid and standalone modes
2008-06-28 19:04:28 +00:00
MW 5cfc468d95 more work on the support for multiple inventory servers.
The Login service should now read/create new inventory on the inventory server that is set in a users profile.
Also added "Add-InventoryHost" console command to add a support for a new server to a region.
So it would be good if someone could test this. Set up the grid as normal, but then also run extra inventory server on a different computer (well actually it just has to be on a different network hostname, so one using "http://localhost:8004" and one using "http://127.0.0.1:8005" should work) then you need to manually edit the user profile database to set the new servers url in a user's "userInventoryURI" field. 
Then on a region server, use the Add-InventoryHost to add the new server url (always include the full url, including http, but don't add a final /)
Login with that account and see if the inventory works.
Of course these needs to be made more user friendly.
2008-06-28 17:52:06 +00:00
MW a9347b6ceb Extracted the Avatar appearance functions out of the IUserService interface and moved them into a IAvatarService
Although "out of the box", there is no actual functional change to behavior
2008-06-28 17:43:20 +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
Dr Scofield feb30217de dr scofield's warning safari:
* commented out [Obsolete(....)] attributes where no replacement feature
  was available: if we want to attribute code that we think needs to be 
  reworked, we should define a new attribute and use that instead 
  (together with a little tool to retrieve all the attributed code then)
* commenting out unused variables
2008-06-27 16:58:21 +00:00
Dr Scofield cea6e03ae0 dr scofield's warning safari: hunting down those little buggers 2008-06-27 16:18:56 +00:00
Charles Krinke 1cd6b71b60 Mantis#1594. Thank you, Melanie for a patch that:
Fixes:
- Wearable icon and name sreset to default on copy/paste
- Cache is not updated when renaming/moving folders
- Partial refactor to make inventory less dependen on AssetBase having a "Name" field
- Add llGiveInventoryList() function
2008-06-26 02:46:29 +00:00
Teravus Ovares cb29926e3c * Refactors call to OutPacket out of AssetCache and into LLClientView 2008-06-18 23:04:15 +00:00
Justin Clarke Casey 4c2171ec82 * Allow archiver to save and load objects within other objects to arbitrary levels
* This currently has various bugs which are more to do with the way its been hacked together than the feature itself (e.g. on save-oar, ghost prims will appear of the saved 
contained items).  These will be found and eliminated in subsequent patches.
* Not yet ready for use
2008-06-16 21:59:39 +00:00
Justin Clarke Casey 4af6286512 * Start recording asset request failures
* This includes problems such as connection failures and timeouts.  It does not include 'asset not found' replies from the asset service.
2008-06-14 17:47:25 +00:00
Sean Dague b47dd07932 save_assets_to_file path shouldn't always assume uploaded
content are images and use .jp2 for the file extension.
2008-06-13 19:41:13 +00:00
Justin Clarke Casey d6519924ba * refactor: catch asset service request exceptions at the AssetServerBase level rather than in the GridAssetClient
* this is to enable logging of asset request exceptions soon
2008-06-13 18:04:01 +00:00
Justin Clarke Casey 520da0d9ff * minor: comment out confusing DefaultTimeout field in RestClient, which is currently not actually used 2008-06-13 16:23:31 +00:00
Teravus Ovares 5219eb7420 * Split the World Map code into a module.
* Implemented a hack so regions beyond the 10,000m range will show the map without having to click on the map before they'll start to show.   The hack shows regions around the one you're in, but it won't show the one you're in..  you still need to click on the map to get that (not sure why yet).   Additionally, the map still only shows pictures for regions that are hosted on the same instance (no change).
2008-06-12 20:19:42 +00:00
Charles Krinke 7821cca2f5 Mantis#1514. Thank you kindly, Boscata for an InventoryServer patch
to allow the InventoryServer to work with MSSQL..
2008-06-11 14:02:16 +00:00
Justin Clarke Casey 3794f25ebd * minor: Properly clear the pushed asset cache statistics where the clear-assets command is used on the region console
* stop waiting for garbage collection when GC total memory used is requested, in case the periodic request of this lags the sim
2008-06-10 23:35:04 +00:00
Jeff Ames fbd37c420f Minor formatting cleanup. 2008-06-06 01:19:15 +00:00
Dr Scofield caee0288fb * adding XmppPresenceStanza and deserialization/reification support
having reached the intermediate level of .NET's XmlSudoku, i've
  now figured out how to do deserialization using different 
  XmlSerializers (this stuff begins to grow on me, sigh).

  [still not used code, work-in-progress]

* adding convenience property on OSHttpRequest.cs (from awebb)
2008-06-04 18:09:55 +00:00
Dr Scofield 67dee6410d * fleshing out XMPP entities, adding XmppWriter and XmppSerializer
having spent the last couple of days wrestling with .NET XmlSerializer
  and trying to get it to do what is required by XMPP (RFC 3920 & 3921)
  this is the preliminary result of that wrestling (you should see the
  other guy!): XmppSerializer allows us to serialize Xmpp stanza (and
  theoretically deserialize [or reify] them), XmppWriter helps avoiding
  various gratuitous crap added in by off-the-shelf XmlSerializer.

  this is currently not used anywhere but the plan is to use it for 
  at least an XMPPBridgeModule.
2008-06-04 13:06:24 +00:00
Sean Dague 5f6b26d9ba provide slightly more sane defaults in the file based asset loader 2008-06-02 20:28:26 +00:00
Teravus Ovares d20cae2d03 * Committing more unfinished stuff. Nothing significant at the moment. IM related. 2008-06-01 10:05:22 +00:00
Teravus Ovares febe78d062 * Implements UserServer logoff in a few situations
* User tries to log-in but is already logged in.  Userserver will send message to simulator user was in to log the user out there.
* From the UserServer, admin types 'logoff-user firstname lastname message'.
* Some regions may not get the message because they're not updated yet.
2008-05-31 12:18:29 +00:00
Jeff Ames 0462510956 Update svn properties. Formatting cleanup. 2008-05-30 08:35:57 +00:00
Teravus Ovares 9cefda83d6 * Caches UUIDName requests
* Looks up UUIDNames for script time and colliders in a separate thread.
* Hopefully this'll allow you to look at top scripts on a region that has a lot of scripts without crashing your client thread.
2008-05-29 23:36:37 +00:00
Jeff Ames 5752c1f5c2 Formatting cleanup. 2008-05-28 03:44:49 +00:00
Charles Krinke 2cea74181a Thank you very much, Xantor for a patch that:
If a request is made for an asset which is not in the cache yet, 
but has already been requested by something else, queue up the 
callbacks on that requester instead of swamping the asset server 
with multiple requests for the same asset.
2008-05-27 13:40:00 +00:00
Jeff Ames 5d77625e9a Update svn properties. Formatting cleanup. 2008-05-25 23:27:38 +00:00
Justin Clarke Casey 61bba6375c * Fix mantis 1325. This is a minor issue where 'show assets' would not work fully in the region console 2008-05-22 00:49:17 +00:00
Justin Clarke Casey 1f57fd4bec * Minor: Tidy ups and logging tweaks. 2008-05-22 00:41:03 +00:00
Dr Scofield a53cea6b7e i'm extending the RestStreamHandler.Handler(...) signature to actually
provide OSHttpRequest and OSHttpResponse to our REST handler. 

also, this adds proper RestPlugin.IsGod() checking against the X-OpenSim-Godkey
HTTP request header.

last, i added XML doc comments to RestPlugin.cs
2008-05-20 16:51:45 +00:00
Jeff Ames 535d64b66b Add copyright notices.
Fix spelling typo (Thanks ChrisDown for pointing this out)
2008-05-20 15:38:49 +00:00
Charles Krinke 01b5425a2d Thank you kindly, Melanie for a patch that avoids a null
ref in inventory give and also now causes items to appear
in the correct folders now, no longer in the root folder.
2008-05-19 20:05:10 +00:00
Sean Dague 9808f39b6f i can haz pantz?
You sure can.  This change set restores pants (and the rest of the
default appearance) in grid mode.  The 
root issue had to do with serializing multi-faced textures to the 
grid server.  This also restores the lookup path through the avatar
factory module, as that seems the reasonable place to have it live.
Some clean up patches are coming later as well, plus testing on 
standalone, but this should be in a good kicking around state for 
grid users.
2008-05-19 19:08:59 +00:00
Dr Scofield d725d1208b adding OSHttpRequest and OSHttpResponse which wrap HttpListenerRequest and HttpListenerResponse respectively.
enhancing IStreamHandler and IStreamedHandler interfaces so that OSHttp{Request,Response} get passed in, 
allowing RestHandlers to set response status code, redirections, etc.
2008-05-19 11:38:35 +00:00
Justin Clarke Casey f6add412d6 * Refactor: Eliminate empty if clause from AssetCache.GetAsset() 2008-05-18 19:56:25 +00:00
Teravus Ovares a510033df5 * Applying patch in mantis 0001293: [PATCH] Fix a bug that corrupts uploaded assets on disk write from Melane. Thanks Melanie! 2008-05-16 22:50:37 +00:00
Justin Clarke Casey 63ddbfb979 * Eliminate occurences of "Got a texture uuid ... with no sender object to handle it..." by properly dealing with the situation where a client still has queued texture requests when it logs out 2008-05-16 18:10:04 +00:00
Justin Clarke Casey c2581c9577 * Cache knowledge in the region server that the asset service has reported an asset to be missing
* This prevents repeated requests for the same missing asset to the asset server, hopefully reducing the load a little
2008-05-16 17:47:34 +00:00
Justin Clarke Casey 772f88d2e5 * Removing unnecessary LLUUID.Zero check from AssetCache
* This revision also includes a very temporary fix for the fact that NREs are received because of a missing avatar apperance in grid mode
2008-05-16 16:37:31 +00:00
Jeff Ames 65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Sean Dague 4ff4475d02 remove my UserAppearance object, switch all code to use
AvatarAppearance instead.
2008-05-15 18:42:27 +00:00
Justin Clarke Casey 1ef37b196c * Minor: Fussy little wording change on inventory service failure 2008-05-14 22:30:43 +00:00
Justin Clarke Casey 8fe9943293 From: Dr Schofield <hud@zurich.ibm.com>
Rename SearializableRegionInfo to SerializableRegionInfo (class was already named correctly)
2008-05-14 17:03:25 +00:00
Jeff Ames c995d60d37 Formatting cleanup. 2008-05-14 05:11:23 +00:00
Justin Clarke Casey 550018f02d * As part of the region registration process, the grid service now requests the status of the region using the region http uri just passed in
* If the status cannot be retrieved, then the region startup will terminate.
* The aim of this is for earlier detection of situations where the region can send messages out but cannot accept incoming requests (often due to firewall issues)
* This is currently an extremely simplistic check which completely trusts whatever http uri is given by the region
* This contact may be problematic, though since the user service needs to be able to contact the region http uri, it doesn't seem unreasonable for the grid to have to be able to do so too at this stage
* This change will require a prebuild
2008-05-13 13:36:21 +00:00
Justin Clarke Casey d3fb6039ca * If a region running in grid mode fails to login to the grid service, startup will now terminate instead of carrying on (and thus burying the error message) 2008-05-12 16:57:56 +00:00
Teravus Ovares e8478dadc8 * Experiment in Zerocoding. 2008-05-10 10:28:49 +00:00
Justin Clarke Casey 57fea65c82 * Revert caps fetch inventory service back to UDP for now
* Linden client 1.19.1.4 appears to be happy using UDP for this request again, and Linden's own servers (1.21) don't appear to be supplying the CAPS version currently
* This should for now fix the bug where texture selection in the edit window both shows only already open textures, and later stops subsequent inventory requests from working.
2008-05-09 21:50:22 +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 d9dffc4a9a From: Michael Osias <mosias@us.ibm.com>
Stop .net generating ambiguous operator errors when two integers are compared for equality in LSL
2008-05-09 17:23:27 +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 4fa0cbdfbb * You can haz more spring cleaning.
* Eventually this codebase will be clean. >_>
2008-05-08 05:35:01 +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 6c62985fd5 * Refactor: Do the root case removal thing again, this time in ItemReceive() 2008-05-04 01:04:49 +00:00
Justin Clarke Casey 9646258fdf * Refactor: Simplify CachedUserInfo.FolderReceive() by removing root folder special case 2008-05-04 00:53:01 +00:00
Justin Clarke Casey 0f716e3ac4 * Simplify CreateFolder() by folding previous special root case into FindFolder() 2008-05-04 00:06:34 +00:00
Justin Clarke Casey 27a7391d6b * Add ability to defer item actions for AddItem() and DeleteItem(). This won't be useful until we let the client cache (again?) 2008-05-03 23:33:20 +00:00
Justin Clarke Casey 56827894e9 * Refactor RemoveItem() 2008-05-03 23:23:46 +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 a5dfca8958 * Refactor: remove redundant userId parameter from UpdateItem() and DeleteItem()
* Put warning in remove folder method about non implementation (not that this is used anyway - may be legacy)
2008-05-03 18:13:32 +00:00
Justin Clarke Casey f5609ba452 * Refactor: remove pointless agentId parameter from CachedUserInfo.AddItem()
* Remove old framework asset transactions files which were region modularized
2008-05-03 18:01:38 +00:00
Teravus Ovares e8acb49fef * For your fragging desire, damage enabled land works, but watch out!, life does not regenerate until you're dead! 2008-05-03 15:39:40 +00:00
Sean Dague 1b7f1c956c plumb in connection string to the user database paths. mysql and mssql
just ignore this for now, but it lets us get connect strings to sqlite
and nhibernate.
2008-05-02 18:59:12 +00:00
Sean Dague 4a8f432441 minor refactoring. Change getName and GetVersion methods (yes the had different casings)
to Name and Version properties for the User stores.
2008-05-02 12:35:24 +00:00
Jeff Ames 058191e6cc Update svn properties. 2008-05-02 03:34:06 +00:00
Justin Clarke Casey a81edef2b9 * Refactor: Remove redundant userID from further up the inventory request chain 2008-05-01 21:22:03 +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
Sean Dague e41232bac5 create pass through of UserManagerBase to plugin calls 2008-05-01 20:36:43 +00:00
Sean Dague cc5351ec1b remove the db4o asset server 2008-05-01 20:33:43 +00:00
Sean Dague 70f7672dad added in IUserService functions. These don't do anything yet,
but the set all compiles together fine, and it provides people
an idea of where we are heading.
2008-05-01 18:36:43 +00:00
Adam Frisby 01f31fd933 * Breaking all the code, breaking all the code..!
* Made a bunch more members static, removed some dead code, general cleaning.
2008-05-01 16:23:53 +00:00
Adam Frisby 5da028f6ef * Removing duplicate files that somehow got undeleted from TortoiseSVN. Fixed. 2008-05-01 15:46:46 +00:00
Adam Frisby a1c8aa4050 * Cleaned namespaces of entire solution. OpenSim directories now correspond with namespaces. 2008-05-01 15:36:39 +00:00
Adam Frisby 4692e92312 * Assorted spring cleanings. 2008-05-01 14:45:56 +00:00
Adam Frisby 25a49ac4de * Spring cleaned a bunch of '//TODO: unused' marked functions. 2008-04-30 23:11:07 +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