Commit Graph

21151 Commits (40d6aac4b082c67df1fd30e45f32469f938d0f1f)

Author SHA1 Message Date
Melanie 40d6aac4b0 Merge commit 'ddd9384b3901f532243c1e8018334385b84290d1' into careminster 2012-09-27 15:29:03 +01:00
Justin Clark-Casey (justincc) fdd4361928 Fix very recently introduced race condition where a CreateNewItem outracing an UploadAsset request could throw an exception because m_asset did not yet exist.
This was accidentally introduced in 4fc0cfb
This commit also consistently removes the AssetXferUploader when the transaction completes, no matter if it completed on asset upload or item operation.
The amount of data being retained was small, since this was clothing/bodypart metadata in the asset rather than textures themselves.
2012-09-27 15:28:43 +01:00
Justin Clark-Casey (justincc) 7d6ac75f87 Comment out old m_storeLocal from AssetXferUploader.
This was only used if none of new item, update item or update task item had been set.
But since all transactions go through these paths this old code is redundant.
2012-09-27 15:27:56 +01:00
BlueWall 1efa87ba38 Format OpenSim.ini.example
Make lines fint in 80x24 terminal for easier reading
2012-09-27 15:27:39 +01:00
Justin Clark-Casey (justincc) 5c8b9ff9ed Insert transaction ID into AssetXferUploader constructor rather than at UploadAsset() to prevent item creation failure when NewInventoryItem thread reachs the object first.
This was preventing the previous race condition fix in 4fc0cfb from actually working.
This commit also removes some of the pointless transaction id checks - these conditions are already being enforced in AgentAssetsTransactions.
2012-09-27 15:27:25 +01:00
Justin Clark-Casey (justincc) 65e294267d Move UDP update task item code to AssetXferUploader to match existing create user item and update user item mechanisms
This is done for consistency and to allow removal or some access methods that increase code complexity.
However, this path has not been used for a long time, not even by LL 1.23 - viewers use caps http upload for this instead
2012-09-27 15:26:58 +01:00
Justin Clark-Casey (justincc) 1a902fceb5 Fix occasional race condition failure when creating new clothing/body parts in the viewer or updating existing assets.
On creating these items, the viewer sends a UDP AssetUploadRequest followed by a CreateInventoryItem.
It was possible for the CreateInventoryItem/UpdateInventoryItem to occasionally outrace the AssetUploadRequest and fail to find an initialized Xfer object, at which point the item create would fail.
So instead we always set up a Xfer object on either the asset or inventory item update request.
This does not introduce a new race because code already exists to delay the item operation until the asset is uploaded if necessary (but this only worked if the xfer object already existed)
2012-09-27 15:25:32 +01:00
Melanie daf84d7385 Merge commit '77355295dadaf3be54ac29d6b3d30901e95c0a32' into careminster 2012-09-27 12:39:24 +01:00
Justin Clark-Casey (justincc) ddd9384b39 Fix very recently introduced race condition where a CreateNewItem outracing an UploadAsset request could throw an exception because m_asset did not yet exist.
This was accidentally introduced in 4fc0cfb
This commit also consistently removes the AssetXferUploader when the transaction completes, no matter if it completed on asset upload or item operation.
The amount of data being retained was small, since this was clothing/bodypart metadata in the asset rather than textures themselves.
2012-09-25 23:30:25 +01:00
Justin Clark-Casey (justincc) b96a53962b Comment out old m_storeLocal from AssetXferUploader.
This was only used if none of new item, update item or update task item had been set.
But since all transactions go through these paths this old code is redundant.
2012-09-25 23:13:45 +01:00
Justin Clark-Casey (justincc) eb5bec96e4 Insert transaction ID into AssetXferUploader constructor rather than at UploadAsset() to prevent item creation failure when NewInventoryItem thread reachs the object first.
This was preventing the previous race condition fix in 4fc0cfb from actually working.
This commit also removes some of the pointless transaction id checks - these conditions are already being enforced in AgentAssetsTransactions.
2012-09-25 22:54:20 +01:00
Justin Clark-Casey (justincc) 2f795e4fa6 Move UDP update task item code to AssetXferUploader to match existing create user item and update user item mechanisms
This is done for consistency and to allow removal or some access methods that increase code complexity.
However, this path has not been used for a long time, not even by LL 1.23 - viewers use caps http upload for this instead
2012-09-25 22:08:11 +01:00
Justin Clark-Casey (justincc) 4fc0cfba3c Fix occasional race condition failure when creating new clothing/body parts in the viewer or updating existing assets.
On creating these items, the viewer sends a UDP AssetUploadRequest followed by a CreateInventoryItem.
It was possible for the CreateInventoryItem/UpdateInventoryItem to occasionally outrace the AssetUploadRequest and fail to find an initialized Xfer object, at which point the item create would fail.
So instead we always set up a Xfer object on either the asset or inventory item update request.
This does not introduce a new race because code already exists to delay the item operation until the asset is uploaded if necessary (but this only worked if the xfer object already existed)
2012-09-25 21:35:39 +01:00
Diva Canto 77355295da Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-25 10:46:42 -07:00
Diva Canto 4ec2fc4cc2 Deleted extraneous debug message 2012-09-25 10:46:21 -07:00
SignpostMarv 020103c51e Documenting object-related events 2012-09-24 22:59:02 +01:00
Justin Clark-Casey (justincc) ac02cadbdb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-24 22:52:33 +01:00
SignpostMarv 1cfd63d0b4 Documenting LSL script-related events 2012-09-24 22:44:37 +01:00
Melanie bbaf2c5a80 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-09-24 20:14:00 +01:00
Diva Canto 1c42337381 HG Rez object: warn the user if the item or asset cannot be found. 2012-09-22 14:41:19 -07:00
Diva Canto 87d810217e Guard against inventory get failures. 2012-09-22 14:01:51 -07:00
Diva Canto 772aedc731 Make BaseHttpServer throws say something useful. 2012-09-22 14:01:07 -07:00
Diva Canto fb6d6e5cca HG 2.0: User Agent Service now can also control where the local users can go. Domain-name and user-level based. \o/ 2012-09-22 11:11:48 -07:00
Diva Canto 48f4b32d7f More HG 2.0: access control at the Gatekeeper. \o/ 2012-09-21 21:03:14 -07:00
Diva Canto ebd99c9e3e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-21 17:59:42 -07:00
Diva Canto 21a6ef5bb6 This fixes HG attachments' missing assets (textures, etc).
Also, further improvements on HGUuidGatherer: if the assets are already in this grid don't fetch them again.
2012-09-21 17:58:44 -07:00
Michelle Argus a6f7328216 Remove deprecated parameters for region_id.
Remove deprecated parameters for region_id as anounced in january 2012.
2012-09-22 01:30:38 +01:00
Justin Clark-Casey (justincc) b36ef60aca Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-22 01:05:33 +01:00
SignpostMarv 8d7b1f8aa0 Documenting non-LSL script-related events 2012-09-22 00:57:29 +01:00
Diva Canto b0da4b8d13 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-21 16:45:35 -07:00
Diva Canto cfa022700d Moved the small HGUuidGatherer class to the file where its parent class is. No need to keep 2 separate files. 2012-09-21 16:45:16 -07:00
Justin Clark-Casey (justincc) 9ab5c5040d Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-22 00:26:32 +01:00
Justin Clark-Casey (justincc) 5df3944607 Fix llListFindList() returning no match when there is a match with a script constant component in the source list.
Adds regression test for this case.
Based on http://opensimulator.org/mantis/view.php?id=6156
Thanks SignpostMarv.
2012-09-22 00:23:25 +01:00
Diva Canto fb2ace6fff Removed redundant asset fetches on HGAssetMapper. The UuidGatherer already downloads the assets, so we don't need to do it again... 2012-09-21 15:55:58 -07:00
Diva Canto f931c0a868 Minor: may avoid crashes of sims that still don't have this configuration section. 2012-09-21 15:04:41 -07:00
Diva Canto f4cc19968c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-21 07:45:26 -07:00
Diva Canto b542622b3a HG 2.0: added asset import/export policies at the sim too. 2012-09-21 07:44:18 -07:00
Diva Canto 5f97b3e1d9 Minor: change the return value of unsuccessful posts to string.Empty. 2012-09-21 06:41:32 -07:00
Diva Canto e379566e6e Improvement over last commit: refactor the asset permissions code, so that it can be used by both the HG Asset Service and the simulator. Also renamed the config vars to something more intuitive 2012-09-20 19:50:57 -07:00
Justin Clark-Casey (justincc) 80f486c778 minor: Make slow outgoing request log messages consistent with other log messages 2012-09-21 01:59:28 +01:00
Justin Clark-Casey (justincc) 632a42e2b1 Rename UuidGather.m_assetCache to m_assetService. If HGUuidGatherer hasn't been instantiated with an assetServerURL then call down to overriden UuidGatherer.GetAsset() instead of calling m_assetService.GetAsset() itself - these two codepaths are now identical. 2012-09-21 01:57:13 +01:00
Justin Clark-Casey (justincc) bceef401fa Simplify UuidGatherer by performing asset fetch synchronously rather than using the async call but waiting for completion anyway! 2012-09-21 01:36:23 +01:00
Justin Clark-Casey (justincc) 1b0abf8f0c Comment out the long unused afaik HTTP agent handlers.
As far as I know, this was only used by the IBM Rest modules, much of which has been commented out for a very long time now.  Other similar code uses HTTP or stream handlers instead.
So commenting this out to reduce code complexity and the need to make this facility consistent with the others where it may not be used anyway.
If this facility is actually being used then please notify me or uncomment it if you are core.
2012-09-21 00:29:13 +01:00
Justin Clark-Casey (justincc) e29d563557 Add request number counting to incoming HTTP requests in the same way that this was already being done for outgoing HTTP requests.
This allows us to associate debug logging messages with the right request.
It also allows us to put a request number on 'long request' logging even if other debug logging is not enabled, which gives us some idea of whether every request is suffering this problem or only some.
This is a separate internal number not associated with any incoming number in the opensim-request-id header, this will be clarified when logging of this incoming request number is re-enabled.
This commit also adds port number to HTTP IN logging to allow us to distinguish between different request numbers on different ports.
2012-09-21 00:09:17 +01:00
Diva Canto 33aa6d172f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-09-20 15:51:27 -07:00
Diva Canto 3089b6d824 More HG2.0: Added permission policies in HGAsset Service based on asset types. The policies are given in the config. This is only half of the story. The other half, pertaining to exports/imports made by the sim, will be done next. 2012-09-20 15:49:22 -07:00
Justin Clark-Casey (justincc) a5b3989e5d Insert a new log level 4 for HTTP IN and HTTP OUT that will log how long the request took.
This is only printed if debug http level >= 4 and the request didn't take more than the time considered 'long', in which case the existing log message is printed.
This displaces the previous log levels 4 and 5 which are now 5 and 6 respectively.
2012-09-20 23:18:19 +01:00
Justin Clark-Casey (justincc) 387a1bb283 Add ability to turn on/off logging of outgoing HTTP requests flowing through WebUtil.
This is for debugging purposes.
This is controlled via the "debug http" command which can already log incoming requests.
This now gains a mandatory parameter of in, out or all to control what is logged.
Log messages are also shortened and labelled and HTTP IN or HTTP OUT to be consistent with existing UDP PACKET IN and PACKET OUT messages.
2012-09-20 23:17:44 +01:00
Justin Clark-Casey (justincc) b481a78234 Don't fail to create an IRC nick if nick randomization is disabled in the IRC module.
Patch from http://opensimulator.org/mantis/view.php?id=6293
Thanks Starflower.
2012-09-20 02:01:01 +01:00
SignpostMarv d667f9d260 Documentation of teleport-related events 2012-09-20 01:56:18 +01:00